[Pkg-utopia-maintainers] Bug#1019944: wireplumber: Upgradeing to 0.4.11-5 breaks restoring the target of a stream if it is not the default stream

Matthias Heinz mh at familie-heinz.name
Mon Sep 26 11:06:40 BST 2022


reopen 1019944


Hi Dylan,

sadly the last patch didn't work for me, as you already know.

I'm certain now that this is a race-condition between wireplumber and 
pipewire-pulse. Even though wireplumber should be started before pipewire-
pulse the Type= to start the service is just "simple", which means wireplumber 
might be started before, but it is not taken into account that wireplumber 
might take longer to set up all the connections and therefore the pipewire-
pulse service doesn't wait for it.

I've tried setting the Type to exec, but that doesn't help either.

There are two solutions I can see for this.

The first is a quick and dirty one:
I've added a ExecStartPost=/bin/sleep 1 to the wireplumber.service file. This 
seems to give wireplumber (on my system) enough time to set itself up properly 
before pipewire-pulse gets started.

The proper solution would be to add sd_notify[1] to wireplumber and send a 
signal to systemd when it is set up correctly and have the wireplumber service 
wait for that signal (Type=notify)


Best regards
Matthias

[1] https://www.freedesktop.org/software/systemd/man/sd_notify.html



More information about the Pkg-utopia-maintainers mailing list