After wakeup from suspend audio playing programs freeze

Sometimes after a suspend I try to play music or watch a video and the application in question will freeze. Other Apps are not affected and the frozen programs can be closed. Logging out and logging in again solves the issue until it happens again.

I’m not sure if this is caused by many suspensions or long suspensions.

In the settings under ‘Sound’ there is only one speaker shown (and that one doesn’t seem to work).

Firefox seems to be able to play videos as long as they are muted. What can be reproduced very well is mplayer:

[me@fedora]$ mplayer some_music.ogg 
MPlayer SVN-r38674-15 (C) 2000-2025 MPlayer Team
do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing some_music.ogg.
libavformat version 61.7.100 (external)
Mismatching header version 61.1.100
libavformat file format detected.
[lavf] stream 0: audio (vorbis), -aid 0, -alang und
Load subtitles in Music/
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
libavcodec version 61.19.101 (external)
Mismatching header version 61.3.100
AUDIO: 44100 Hz, 2 ch, floatle, 160.0 kbit/5.67% (ratio: 20000->352800)
Selected audio codec: [ffvorbis] afm: ffmpeg (FFmpeg Vorbis)
==========================================================================


apparently it cannot connect to some socket. I know next to nothing about audio on linux, I’d lik to understand what is going on and if i can fix this without logging out every time and ideally find a way to fix it for good.

Have you checked journal logs?

the next time this happens, verify that pipewire.service, pipewire-pulse.service and wireplumber.service are active
also check status for pipewire.socket and pipewire-pulse.socket

systemctl --user status pipewire.service ( repeat with the other service and socket units )

you could also try to restart those

systemctl --user restart pipewire.socket 
systemctl --user restart pipewire-pulse.socket 
systemctl --user restart wireplumber.service
1 Like

Now that you mention wireplumber, there is a correlation between the audio issue and wireplumber leading CPU usage at around 6%, causing the fan to get loud. Ending that process doesn’t restore the audio capabilities though.

Well, I’m currently having both and without ending the wireplumber process in the system monitor, the readings are as follows:

[me@fedora ~]$ systemctl --user status  pipewire.service
● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; disabled; preset: disabled)
    Drop-In: /usr/lib/systemd/user/pipewire.service.d
             └─00-uresourced.conf
             /usr/lib/systemd/user/service.d
             └─10-timeout-abort.conf
     Active: active (running) since Mon 2025-06-09 22:03:55 CEST; 23h ago
 Invocation: f99b7a2bbf604ac9ba833f6f37ef4410
TriggeredBy: ● pipewire.socket
   Main PID: 3492 (pipewire)
      Tasks: 3 (limit: 36820)
     Memory: 8.5M (peak: 10.6M)
        CPU: 1.891s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
             └─3492 /usr/bin/pipewire

Jun 09 22:03:55 fedora systemd[3054]: Started pipewire.service - PipeWire Multimedia Service.
[me@fedora ~]$ systemctl --user status pipewire.socket
● pipewire.socket - PipeWire Multimedia System Sockets
     Loaded: loaded (/usr/lib/systemd/user/pipewire.socket; enabled; preset: enabled)
     Active: active (running) since Mon 2025-06-09 22:03:54 CEST; 23h ago
 Invocation: eafd919e8c5f4d1cae3f1e2b5cb261af
   Triggers: ● pipewire.service
     Listen: /run/user/1000/pipewire-0 (Stream)
             /run/user/1000/pipewire-0-manager (Stream)
     CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/pipewire.socket

Jun 09 22:03:54 fedora systemd[3054]: Listening on pipewire.socket - PipeWire Multimedia System Sockets.
[me@fedora ~]$ systemctl --user status pipewire-pulse.socket
● pipewire-pulse.socket - PipeWire PulseAudio
     Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.socket; enabled; preset: enabled)
     Active: active (running) since Mon 2025-06-09 22:03:54 CEST; 23h ago
 Invocation: de28aae8904645f399eebc26671df904
   Triggers: ● pipewire-pulse.service
     Listen: /run/user/1000/pulse/native (Stream)
     CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/pipewire-pulse.socket

Jun 09 22:03:54 fedora systemd[3054]: Listening on pipewire-pulse.socket - PipeWire PulseAudio.

They seem to be active.
Then I restart:

[me@fedora ~]$ systemctl --user restart pipewire.service
[me@fedora ~]$ systemctl --user restart wireplumber.service
[me@fedora ~]$ systemctl --user restart pipewire.socket
[me@fedora ~]$ systemctl --user restart pipewire-pulse.socket

and the audio works again (and the wireplumber process is down to 0.0% CPU usage and the fan is quiet again!)
Can you tell me what this means?

do you see anything meaningful in the journal?

journalctl --no-hostname --no-pager -b0 --user -g 'pipewire|wireplumber'

If you have rebooted then change -b0 to -b-1 ( journalctl -r --list-boots | head to find the INDEX for the session )

How do you suspend the system? Is audio still playing or do you stop any active audio?
What is output of cat /sys/power/mem_sleep

I guess wireplumber could not connect to pipewire or pipewire-pulse and freaked out :wink:

next time:

wpctl status

pactl info

mplayer uses pulse as default audio out, this is handled by pipewire-pulse
try to play something with alsa or jack which is handled by pipewire

mplayer -v -ao pulse   file.ogg       (will hang )
mplayer -v -ao alsa    file.ogg       may  play, who knows...

then try to restart only one service and retest. Start with pipewire-pulse.service. My guess is that it may be enough to restore audio.
Next try to restart pipewire-pulse.socket if restarting the service did not restore audio. Continue with pipewire.service and then pipewire.socket, if required.

1 Like

Thanks for the suggestion, Mark. If the issue persists, I’m wondering whether a clean user-level reset could help rule out any configuration drift.
Kind of like an A/B test — default config vs. current setup.
Might be worth trying just to isolate the cause.

pipewire and wireplumber don’t have any significant configuraton files in $HOME/.config . Unless the user has some overrides.

I would try to strace pipewire* and wireplumber and see what they are doing.

1 Like