[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1049418: xfce4-pulseaudio-plugin: Please loosen Recommends, and allow pipewire-pulse as an alternative to pulseaudio




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


Reply to: