If you’re a PulseAudio user on Linux, you might have experience this feature: When you change the volume in an application, it changes the system volume at the same rate.

This feature is called “flat volume” and seems to be targeted to users who do not understand the concept of a mixer. For example someone might turn up the volume of an application (i.e. Spotify or Youtube) all the way up while the system volume is very low or even at zero and wonder why “it” isn’t working.

On a first glance, this might seem reasonable. However, speaking from personal experience, it’s actually physically dangerous. Some applications take pro-active control over the volume (for example Zoom). If you’re wearing headphones and some application forces the volume to 100%, you might be in for some ringing ears or even permanently damaged hearing. Another reason is that you might actually want to run multiple applications on difference volume settings, because not all sound is mixed at the same levels - so “100%” for one source might be a lot fewer decibel than “50%” for a different source.

For me, on Debian, the “flat volume” feature was enabled by default and has hurt me a couple of times. Fortunately it’s very easy to turn off. You can set all kinds of flags in ~/.pulse/daemon.conf for PulseAudio to change it’s behavior.

flat-volumes=no

Then restart PulseAudio with pulseaudio -k.

NB: This is not a new topic - in fact, there’s discussions[i.e. 1,2,3] and bug reports for different Linux distributions. The issue seems to be that the upstream maintainer set the default and some distros are very reluctant to change a default away from the upstream.

You’re good to continue hacking - with earphones on!^^


  1. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=674935
  2. https://github.com/NixOS/nixpkgs/issues/5632
  3. https://bugzilla.redhat.com/show_bug.cgi?id=1265267

Update 2019-09-27: Thank you Mr. Alberto González Palomo (https://matracas.org/) for pointing out this issue isn’t new, at all.