Fixed: Zoom Resets PulseAudio Volume To Max With Flat Volumes

Extremely niche content warning!

I had a problem with the Zoom videoconferencing software (that is mostly excellent and I use it all the time talking to clients): whenever I joined a call, it would reset my system volume to 100% which would then deafen me with the “bingbong!” noise that announces you’ve joined a conference.

I’m using Zoom on Linux. Ubuntu 16.04.4 LTS in fact, but with PulseAudio bridged to Jackd because I use a bunch of audio stuff and wanted the more robust controls of Jack for source-to-sink mapping. This makes my bug really niche.

Googling had failed me for ages until I chanced upon this article that talks about PulseAudio and something called flat volumes.

Flat Volumes Is The Culprit

pacmd list-sinks
1 sink(s) available.
 * index: 0
 name: <jack_out>
 driver: <module-jack-sink.c>
 flags: DECIBEL_VOLUME LATENCY FLAT_VOLUME 
 state: RUNNING

Oh no! FLAT_VOLUME is enabled. We need to fix that.

The culprit was Cadence/Claudia that I use to control Jack. It was creating a ~/.pulse/daemon.conf file that didn’t contain a line saying

flat_volumes = no

which is present in the system-wide /etc/pulse/daemon.conf.

A per-user config file for PulseAudio overrides any system-wide file completely so PulseAudio wasn’t picking up the flat_volumes=no setting from the main config file. Argh!

The Fix

Super simple. Just add flat_volumes=no to ~/.pulse/daemon.conf and restart PulseAudio:

$ pulseaudio -k

And if your PulseAudio isn’t set to auto-respawn, use

$ pulseaudio --start

or start it from Cadence.

Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *