[pulseaudio-discuss] Networking and volume control
tanuk at iki.fi
Sat Oct 31 10:16:31 UTC 2020
On Fri, 2020-10-30 at 17:28 -0500, Matt Garman wrote:
> I have PulseAudio set up on a Raspberry Pi as a sound server. The RPi
> is connected to a USB DAC, which has hardware volume control
> capabilities. This is what I have in my /etc/pulse/default.pa:
> load-module module-alsa-sink control='D70 '
> Note: I am deliberately NOT loading module-udev-detect, otherwise
> PulseAudio reverts to software volume control. (The device is a
> Topping D70, and the space between the zero and the quote above is
> Now, on my Linux workstation, from a terminal, I set
> PULSE_SERVER=hostname_of_my_rpi. Then I launch two applications: vlc
> and pavucontrol.
> The volumes shown in vlc and pavucontrol start out the same. And if I
> raise the volume in vlc, the slider in pavucontrol makes a
> corresponding change (as expected).
> However, if I *lower* the volume in vlc, the volume in pavucontrol
> stays the same.
Which volume? The stream volume (Playback tab) or the device volume
(Output Devices tab)? I would expect the stream volume to be always in
sync, but if you have flat volumes enabled (which you probably do,
judging from your description), then increasing the vlc volume will
increase the device volume if necesssary, but lowering the vlc volume
will not affect the device volume in pavucontrol.
> This is a huge problem: say I temporarily raise the
> volume in vlc, and mistakenly set it too loud. I lower it to where it
> should be. Now I quit vlc. The actual volume now "jumps" back up to
> where it's stuck in pavucontrol! So if I'm not aware of this, the
> next app that uses PulseAudio will be way too loud.
> Now, I re-open vlc. I use pavucontrol to lower the volume to zero.
> If I raise the volume with pavucontrol, it also goes up in vlc, but by
> a different amount. I just raised the volume to 54% in pavucontrol,
> but it's showing 22% in vlc. (Whereas, as I noted above, when I
> raised it with vlc, the percentages were in lock-step with both
> programs.) Furthermore, if I raise the volume in vlc, nothing happens
> (i.e. no perceptible change in volume) until I hit 54% in vlc!
> Any thoughts on what's going on here?
You can disable flat volumes in /etc/pulse/daemon.conf by setting
"flat-volumes = no" (remember to remove the leading semicolon from the
line, it's a comment character). When you do that, the vlc volume will
not affect the device volume at all.
PulseAudio 13.0 will disable flat volumes by default. You're not the
first user who gets confused by the feature, and most distributions
already patch daemon.conf to disable flat volumes.
More information about the pulseaudio-discuss