Eliminating PulseAudio Pops
After a brief pause in sound playback, my speakers make a popping sound. My operating system is Manjaro Linux 22.0 "Sikaris".
I believe the underlying cause is that the PulseAudio service puts my audio hardware to sleep.
In principle, I would like to increase the timeout so that my sound card stays powered for longer periods after playing a sound.
Unfortunately, I only found instructions for disabling the suspend-on-idle module. I searched for information on timeouts, but I only found information relating to PipeWire. I don't believe the PipeWire instructions apply to me.
Below, I follow the instructions to disable PulseAudio's suspend-on-idle module. Note that Manjaro is based on Arch Linux. So, I can follow these instructions which come from the Arch wiki.
Create a User Configuration
I created the following empty file in my home folder.
If you have trouble finding the .config directory, remember that it is hidden by default.
Then, I edited the file so that it contains the lines below.
.include /etc/pulse/default.pa .nofail unload-module module-suspend-on-idle .fail
To apply the configuration change, I restarted the two PulseAudio systemd user units.
Remember to use the "--user" flag with the systemctl command.
And press 'q' to leave the systemctl pager after checking the status.
# Restart PulseAudio systemctl --user restart pulseaudio.socket pulseaudio.service # No output. # Check the PulseAudio status. # Use 'q' to exit. systemctl --user status pulseaudio.socket pulseaudio.service ● pulseaudio.socket - Sound System Loaded: loaded (/usr/lib/systemd/user/pulseaudio.socket; enabled; preset: > Active: active (running) since Sat 2022-12-24 19:41:27 CST; 11s ago Until: Sat 2022-12-24 19:41:27 CST; 11s ago Triggers: ● pulseaudio.service Listen: /run/user/1000/pulse/native (Stream) CGroup: /firstname.lastname@example.org/app.slice/pulseaudio> Dec 24 19:41:27 Edward systemd: Listening on Sound System. ● pulseaudio.service - Sound Service Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; disabled; preset> Active: active (running) since Sat 2022-12-24 19:41:28 CST; 10s ago TriggeredBy: ● pulseaudio.socket Main PID: 56725 (pulseaudio) Tasks: 6 (limit: 28809) Memory: 14.3M CPU: 213ms CGroup: /email@example.com/session.slice/pulsea> ├─56725 /usr/bin/pulseaudio --daemonize=no --log-target=journal └─56731 /usr/lib/pulse/gsettings-helper Dec 24 19:41:27 Edward systemd: Starting Sound Service... Dec 24 19:41:28 Edward pulseaudio: stat('/etc/pulse/default.pa.d'): No s>
You might notice an error during startup:
Dec 24 19:41:28 Edward pulseaudio: stat('/etc/pulse/default.pa.d'): No such file or directory
I believe this is inherited from the last line in the default user configuration:
### Allow including a default.pa.d directory, which if present, can be used ### for additional configuration snippets. .nofail .include /etc/pulse/default.pa.d
This error probably existed the whole time, and I never had a reason to look at this log. So, the new configuration is not to blame. And I don't see any other problems.
After creating the user configuration and restarting PulseAudio, the pops should be eliminated.
PulseAudio Instructions | ArchWiki
PulseAudio Service Names | ArchWiki
Basic systemd Commands | ArchWiki
Advice About PipeWire Timeouts | System76 Support
Another Example of Changing the PipeWire Timeout | Ask Fedora
Created: Saturday, December 24, 2022
Updated: Wednesday, January 4, 2023