On 08/09/2023 02:30, Yves-Alexis Perez wrote:
I have no idea what pipewire is, could you explain a bit here what it
is? Is
it a drop-in for pulseaudio or something? Because
xfce4-pulseaudio-plugin is
(by definition) really linked to pulseaudio.
Hello Yves-Alexis,
Pipewire - https://pipewire.org/ - is a sound server, similar to
Pulseaudio, but wider in scope, as it handles both audio and video
streams. It also aims to support both consumer-grade and pro audio, so
in the long-term it might replace both Pulseaudio and JACK.
The initial release 0.1.0 was in June 2017. Since then, it has become
the default sound server in GNOME: in April 2021 for Fedora 34, then in
Ubuntu 22.10 and finally Debian bookworm.
pipewire itself is not a drop-in replacement, however the associated
daemon pipewire-pulse is. Quoting the man page:
> pipewire-pulse starts a PulseAudio-compatible daemon that integrates
with the PipeWire media server. This daemon is a drop-in replacement for
the PulseAudio daemon.
For more details, I recommend
https://bootlin.com/blog/an-introduction-to-pipewire/, paragraph "API
and backward compatibility" (1 minute read).
The introduction from https://wiki.debian.org/PipeWire also gives a good
overview.
And if we have a drop-in replacement, does it really make sense to
have every
pulseaudio depending package to use alternate dependencies? Isn't
there a way
to centralize this change?
This was discussed at https://bugs.debian.org/992686. In short, the
maintainer believe it's better to let each package "opt-in" by depending
either on pulseaudio or pipewire-pulse, rather than making the package
pipewire-pulse provide pulseaudio. The discussion explains why.
Having the dependency be "pulseaudio | pipewire-pulse" (in this order)
won't change the fact that pulseaudio is favored by apt (during an
installation of Debian with XFCE desktop, for example). So it shouldn't
change anything for XFCE. However it will make life easier for users (or
derivatives) who are willing to switch and completely replace pulseaudio.
A data point: I noticed that KDE's followed this route for their audio
applet plasma-pa, cf. https://bugs.debian.org/994224 (unfortunately the
bug report doesn't include any discussion).
Another thing that you might want to know. Both packages pulseaudio and
pipewire-pulse are co-installable, however when both are installed, only
the daemon pipewire-pulse is started. It's done at the systemd level, as
can be seen in this file:
$ cat /lib/systemd/user/pipewire-pulse.service
[...]
Conflicts=pulseaudio.service
So in effect, it's pretty easy to test if pipewire-pulse works well for
you, just install it and reboot.
Hope that it answers all your questions!
Best,
--
Arnaud Rebillout / OffSec / Kali Linux Developer