logo
Jiff Slater
🤔 About
✍️ Contact
📚Knowledge
30 Jul 2021
These articles have been archived. You may find them useful but I am no longer offering support for them. Check out my latest articles on plkt.io.
Quickly gathering pulseaudio diagnostics
2 July 2021

Recently while using KDE Neon I found pulseaudio constantly crashing and relaunching during Zoom calls.  Unfortunately, in most instances this meant the audio stream was lost and I had to refresh the tab, interrupting my meeting.

To resolve this I had to turn on better logging for pulseaudio.  This is pretty simple to do with systemd as it’s managing a user instance of pulseaudio.  First, check the ExecStart line of the existing service.

systemctl --user cat pulseaudio.service

ExecStart=/usr/bin/pulseaudio --daemonize=no --log-target=journal

Add the new ExecStart line in an override file.  The first ExecStart is to reset the variable.

systemctl --user edit pulseaudio.service

ExecStart=

ExecStart=/usr/bin/pulseaudio --daemonize=no --log-target=journal --log-level=info

Check the logs using journalctl next time the crash happens.

journalctl --user --reverse --unit=pulseaudio.service

I found the following line that I think was causing the problem

Jul 02 09:26:02 light pulseaudio[27653]: Source alsa_input.usb-AKM_AK5371-00.analog-stereo idle for too long, suspending ...

To resolve this I commented the suspend on idle plugin in /etc/pulse/default.pa

# load-module module-suspend-on-idle

This resolved the issue. I emptied out the override file to stop the extra logging from happening.