Comment 2 for bug 1286021

David Henningsson (diwic) wrote :

Today's status:

 - alsa-lib patches for adding the surround21:x name is upstream. There has not been an upstream release of alsa-lib since.
 - pulseaudio patches are not yet upstream. But I found that the problem might be more complex than first expected.

 1) It's easy just to add another "Surround 2.1" profile to PulseAudio. This is just a matter of me resending that patch, we can probably add it to upstream PulseAudio even though there is no upstream release of alsa-lib.

However, this will just add Surround 2.1 support for stuff that already is 2.1 in source material (well, 5.1 will be downmixed to 2.1, but normal stereo will not be upmixed, so no sound will be heard on the subwoofer).

 2) To automatically upmix stereo material to 2.1 (so sound can be heard on the subwoofer), we can set the key enable-lfe-remixing=yes in /etc/pulse/daemon.conf. However, this is a very trivial upmixing where the result sent to the subwoofer is just the same as the average of the left and right channel.

This might still be a valid approach if the subwoofer hardware has a lowpass filter in hardware (or possibly, hardcoded in secret registers on the codec).

 3) A more elegant approach would be to only send LFE sounds to the subwoofer when upmixing - and only send the remaining non-LFE audio to the front speakers. However this requires someone to actually write a lowpass filter, as I don't think we have such an implementation in upstream PulseAudio currently.