Bug 28418 - Pipewire should not installed alongside pulseaudio
Summary: Pipewire should not installed alongside pulseaudio
Status: NEW
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: Normal normal
Target Milestone: Mageia 9
Assignee: Thierry Vignaud
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-02-23 16:11 CET by Aurelien Oudelet
Modified: 2021-02-24 21:09 CET (History)
0 users

See Also:
Source RPM: pipewire-0.3.19-1.mga8.src.rpm
CVE:
Status comment: For future version, beware upstream could enforce audio server facilities and this must replace PulseAudio


Attachments

Description Aurelien Oudelet 2021-02-23 16:11:14 CET
Mageia 8 x86_64, Plasma desktop.

Pipewire is running as an user systemd session alongside pulseaudio. This is not supported UPSTREAM.

It seems to be pulled by flatpak rpms. It also tried to be loaded by sddm user.
Also, it makes some error at each boot time, see bug 28043.


But as side effect, it does not seem to be harmful with some basic test.
Will add some info later.
Comment 1 Aurelien Oudelet 2021-02-23 16:45:08 CET
$ urpmq --whatrequires-recursive pipewire
gnome-remote-desktop
gnome-shell-extension-desktop-icons
pipewire
pipewire-doc
pipewire-utils
xdg-desktop-portal
xdg-desktop-portal-devel
xdg-desktop-portal-gtk
xdg-desktop-portal-kde

So, yes, as long as we need xdg-desktop-portal, we need pipewire.
Aurelien Oudelet 2021-02-23 18:12:23 CET

Source RPM: (none) => pipewire-0.3.19-1.mga8.src.rpm

Comment 2 Lewis Smith 2021-02-23 21:34:55 CET
> Pipewire is running as an user systemd session alongside pulseaudio.
> This is not supported UPSTREAM.
Not having Pulseaudio running looks rather drastic. Does Pipewire replace it?

I do not think this is related to Flatpack - unless that actually causes pipewire to run. As you say, xdg-desktop-portal requires (but needs?) pipewire:
 $ urpmq --requires-recursive xdg-desktop-portal | grep pipe
 lib64jack0|pipewire-jack-audio-connection-kit
 lib64pipewire0.3_0
 pipewire
and that looks a rather basic package. I have it, but not Flatpack. And without asking for it: pipewire-0.3.19-1.mga8

Here, pulseaudio is running; but no sign of pipewire with 'ps' or systemctl:
 https://bugs.mageia.org/show_bug.cgi?id=28043#c3
nor is it present in MCC 'system services'.

> as side effect, it does not seem to be harmful with some basic test
Is this bug possibly just a duplicate of bug 28043 ?

CC: (none) => lewyssmith

Comment 3 David Walser 2021-02-24 18:14:17 CET
Yeah it needs to be OK for both to be *installed* together.  I don't know much about pipewire, but I heard it's supposed to be a replacement for pulseaudio.

Maybe draksound needs to be enhanced to let you choose which of pulse, pipe, or neither actually runs.
Comment 4 Lewis Smith 2021-02-24 19:33:49 CET
> Is this bug possibly just a duplicate of bug 28043 ?
No. I have been a-hunting:

it fixes many problems that PulseAudio had experienced, including its high CPU usage, bluetooth connection issues, and its JACK backend issues.

This requires xdg-desktop-portal and one of its backends to be installed. The available backends are:
xdg-desktop-portal-gtk for GNOME.
xdg-desktop-portal-kde for KDE.

Audio
PipeWire can be used as an audio server, similar to PulseAudio and JACK. It aims to replace both PulseAudio and JACK, by providing a PulseAudio-compatible server implementation and ABI-compatible libraries for JACK clients

PulseAudio clients
Install pipewire-pulse. Normally, no further action is needed, as the user service pipewire-pulse.socket should be enabled automatically by the package. If PipeWire does not work correctly on system startup, validate that the user services pipewire-pulse.service and pipewire.service are up and running.

To check if the replacement is working, run the following command and see the output:
 $ pactl info
 ...
 Server Name: PulseAudio (on PipeWire 0.3.16)
[Server Name: pulseaudio here]

We offer all the bits (+  a couple of libraries):
pipewire
pipewire-alsa
pipewire-doc
pipewire-jack-audio-connection-kit
pipewire-libjack
pipewire-plugin-jack
pipewire-pulseaudio
pipewire-utils
--------------
So it seems that it can be installed alongside pulseaudio; but (implied) that the two cannot/should not run together. If using it, one should not need pulseaudio. Comfortingly, the only thing directly requiring pulseaudio is 'pavucontrol', so it might be easier to substitute with pipewire than one might fear.

@ Aurélien : is this still a bug ?

This looks a new thing warranting a wiki page.
Comment 5 Aurelien Oudelet 2021-02-24 19:45:16 CET
$ pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 34
Server Protocol Version: 34
Is Local: yes
Client Index: 33
Tile Size: 65472
User Name: aurelien
Host Name: mageia.local
Server Name: pulseaudio       <===== NOTE HERE
Server Version: 14.2.0-2.mga8
Default Sample Specification: s16le 2ch 44100Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_00_1f.3.analog-stereo
Default Source: alsa_output.pci-0000_00_1f.3.analog-stereo.monitor
Cookie: 035f:6a9c

So, normally PipeWire is a PulseAudio replacement. Fedora 34 is supposed to switch into it.

PipeWire (0.3) with support for audio use cases should be available in most distributions. Most distributions however will not have enabled the audio parts by default.

As far as I see, the current situation is that PipeWire is not harmful with PulseAudio also running on Mageia 8. But, we should monitor for next updates to flatpak and PipeWire development before it will back in our face if upstream press the Red button to ditch PulseAudio.

This can be raised to a wiki page with a warning in future.
Mageia 9 could switch into it.

Assigning to packager.

Status comment: (none) => For future version, beware upstream could enforce audio server facilities and this must replace PulseAudio
Assignee: bugsquad => thierry.vignaud
Target Milestone: Mageia 8 => Mageia 9

Comment 6 Lewis Smith 2021-02-24 21:09:26 CET
Thanks.

CC: lewyssmith => (none)


Note You need to log in before you can comment on or make changes to this bug.