💾 Archived View for pwshnotes.flounder.online › gemlog › 2022-12-25-pulseaudio-pops.gmi captured on 2024-02-05 at 09:31:30. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-01-29)

-=-=-=-=-=-=-

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.

~/.config/pulse/default.pa

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

Restart PulseAudio

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: /user.slice/user-1000.slice/user@1000.service/app.slice/pulseaudio>

Dec 24 19:41:27 Edward systemd[1341]: 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: /user.slice/user-1000.slice/user@1000.service/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[1341]: Starting Sound Service...
Dec 24 19:41:28 Edward pulseaudio[56725]: stat('/etc/pulse/default.pa.d'): No s>

You might notice an error during startup:

Dec 24 19:41:28 Edward pulseaudio[56725]: 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:

/etc/pulse/default.pa
### 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.

References

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