After update, pipewire needs to be restarted often

Hello Gustravau, I seem to have come across the same exact broken pipe issue with Discord + Pipewire on Fedora since about June, similar timeframe. I managed to fix the issue with a local Alsa config setting, all of which is documented here in this Reddit post/comment. Hope this helps!

Just to document it clearly here, the settings changed were

["api.alsa.period-size"] = 1024,
["api.alsa.headroom"] = 8192,

This implies a hardware limitation, as increasing the headroom increases latency (and so decreases the load on the system).

This in turn sounds similar to https://wiki.archlinux.org/title/PipeWire#Audio_cutting_out_when_multiple_streams_start_playing which recommends changing the same headroom setting (though to a less conservative value).

Yes those are the exact changes placed in ~/.config/wireplumber/main.lua.d/50-alsa-config.lua, which was generated from the default config file mentioned in here.

I presume my increased latency issue may come from the speakers being run into a USB hub before being connected to my system but I have not yet confirmed this theory.

Is the default value for api.alsa.headroom zero? Would it be better to slowly increase it to see if it fixes the issue or should I just jump to 8192?

Yes. Lower values mean lower latency. Of course, you could also jump to a high value to see if it helps before refining it.

I’m currrently at ["api.alsa.headroom"] = 512 and Discord/Audio work without issues. I will try to go down further to 256 next.

1 Like

Did dropping down to ["api.alsa.headroom"] = 256 work?

No, I had to go back up to 512 because the issue appeared again at 256.

256 seems to work for me (for now). It’s fixed my most reproduceable issue, namely, the Broken pipe errors that appear when I open up Discord immediately after a reboot. I cannot yet tell if it’s fixed the Broken pipe errors which appear intermittently throughout an ongoing session. Will report back if problems persist.

The latest pipewire update https://gitlab.freedesktop.org/pipewire/pipewire/-/releases/0.3.72 seems to have introduced some fixes related to this problem.

I’m not longer getting any broken pipe errors, even when I go back to default values for headroom and period size.

1 Like

Thanks, I will try reverting back to the default.

TLDR. My PC started to have weird problems like sound not playing or wrong video speed. Do I have to do reset or something or will the problem fixed automatically with future system updates?

I was facing this situation where starting a youtube video there would be no sound.
At first, I found that rebooting would restore sound.
Then, forcing a pipewire restart alleviated the need to reboot.
I copied the pipewire and wireplumber configs to my home directory.
Upon inspecting the configs I saw nothing that I could play with , I’m even less than a noob when it comes to audio in linux. Then for me came the magic.

Uncommenting this line: strong textsupport.dbus = true
in wireplumber.conf, avoids the need of using the below command:

systemctl --user restart wireplumber pipewire pipewire-pulse

And so far for me all’s well. Of course if your DE is not KDE, dunno what to say
[EDIT] corrected some spelling

1 Like

Not knowing how to edit this, my post, sadly I have to say this was temporary. From time to time I have to restart pipewire, so sad. :sob: