Comment 154 for bug 445849

Revision history for this message
Stefan Goldmann (ingo-knietow) wrote : Re: Highpitched Rattling like Sound with 5.1 Surround Configuration on Karmic Koala

Hi folks.

Thanks for all the comments, especially #127 (Daniel) and #143 (Pebas).

As Daniel mentioned in #127, the problem is based in the way newer PA versions are merging the PA channel volume settings into the physical channel volume settings. Furthermore, it seems to be unclear, whether this is a PA bug, an ALSA driver bug, or a hardware bug.

In order to circumvent the merging problem, in #143 Pebas has left PA in place but has pretty much completely withdrawn PA from doing any volume control. Instead, he uses ALSA directly for this purpose. I tried and it worked (many thanks for that), although I was left without any kind of control from PA. How did you manage to retain a "big Master", as you called it? Your method disables ANY volume control via the configuration files.

I would still like to propose (yet) another workaround, which so far has proven to work flawlessly for me, without any "at any reboot I have to do this", or "I must not touch the XYZ slider, otherwise ..." things, and with letting PA in control over the volume.

It uses the same basic idea as Pebas' approach: Avoid the merging problem by keeping PA away from the hardware volume controls, and instead do this via alsamixer or gnome-alsamixer. Nevertheless, PA can still perform the volume control on a per-channel basis, but in software, and then pass these modified values to the channels directly, without this merging stuff. Instead, each PA channel maps directly to a single hardware channel.

This can be achieved as follows (for the beginning user, I tried to give more detailled instructions at http://ubuntuforums.org/showpost.php?p=9363330&postcount=30):
1. Start with unmodified files in /usr/share/pulseaudio, /etc/pulse, and ~/.pulse.
2. Edit /etc/pulse/default.pa, outcomment the auto-detection modules (module-udev-detect, module-hal-detect, module-detect)
3. Instead, at this place in the file add a line "load-module module-alsa-sink device=surround40:0". Replace surround40 with whatever fits your config (i.e., 5.1), and :0 with what fits your card (if you have only one, than 0 is correct already)
4. Go to alsamixer and adjust the hardware controls appropriately
5. Restart PA via "killall pulseaudio"
6. Adjust the volume in PA's panel applet (initially, it is set by PA to 100%!).

You should now have PROPERLY working volume controls in PA, and no crackling, hissling, rattling. At least for me it worked that way. To test it, open alsamixer and adjust the volume via the panel applet. In alsamixer, nothing should change, but your speaker volume should.

Advantage: Working per-channel volume controls in PA (use pavucontrol to access the PA channels individually)
Big disadvantage: Static setup (haven't even included microphone yet, but this could be achieved).

I hope, this is helpful for at least some of you and does not only more noise to the overall confusion.

If you test it, please give feedback.

Best wishes to all of you
-- Stefan