Bug 1222636 - Pipewire installed on Leap not usable for pipewire applications
Summary: Pipewire installed on Leap not usable for pipewire applications
Status: RESOLVED INVALID
Alias: None
Product: openSUSE Distribution
Classification: openSUSE
Component: Sound (show other bugs)
Version: Leap 15.5
Hardware: Other Other
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Takashi Iwai
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-04-10 14:48 UTC by Manfred Hollstein
Modified: 2024-04-19 12:56 UTC (History)
4 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Manfred Hollstein 2024-04-10 14:48:05 UTC
This is the result of debugging why Kodi 21.0 built with native pipewire support is not able to output sound.

TLDR; Leap does not install pipewire-pulseaudio by default like Tumbleweed does, which results in Kodi using the Pipewire audio-backend and being unable to play back anything.

I installed two new systems today, one being Leap 15.5 with all updates included and the other one Tumbleweed.

Here is a list of PA/pipewire packages installed on either system:

[leap15.5]$ rpm -qa | egrep 'pulse|pipe' | sort
alsa-plugins-pulse-1.2.7.1-150500.1.1.x86_64
libpipeline1-1.4.1-150000.3.2.1.x86_64
libpipewire-0_3-0-0.3.64-150500.3.7.pm.2.x86_64
libpulse0-15.0-150400.4.4.1.x86_64
libpulse-mainloop-glib0-15.0-150400.4.4.1.x86_64
mpg123-pulse-1.26.4-1.15.x86_64
pipewire-0.3.64-150500.3.7.pm.2.x86_64
pipewire-alsa-0.3.64-150500.3.7.pm.2.x86_64
pipewire-lang-0.3.64-150500.3.7.pm.2.noarch
pipewire-modules-0_3-0.3.64-150500.3.7.pm.2.x86_64
pipewire-spa-plugins-0_2-0.3.64-150500.3.7.pm.2.x86_64
pipewire-spa-tools-0.3.64-150500.3.7.pm.2.x86_64
pipewire-tools-0.3.64-150500.3.7.pm.2.x86_64
pulseaudio-15.0-150400.4.4.1.x86_64
pulseaudio-bash-completion-15.0-150400.4.4.1.x86_64
pulseaudio-lang-15.0-150400.4.4.1.noarch
pulseaudio-module-bluetooth-15.0-150400.4.4.1.x86_64
pulseaudio-module-zeroconf-15.0-150400.4.4.1.x86_64
pulseaudio-setup-15.0-150400.4.4.1.x86_64
pulseaudio-utils-15.0-150400.4.4.1.x86_64
system-user-pulse-15.0-150400.4.4.1.noarch
xfce4-pulseaudio-plugin-0.4.8-bp155.2.6.1.x86_64
xfce4-pulseaudio-plugin-lang-0.4.8-bp155.2.6.1.noarch

[tumbleweed]$ rpm -qa | egrep 'pulse|pipe' | sort
libpipeline1-1.5.7-1.5.x86_64
libpipewire-0_3-0-1.0.4-2.1.x86_64
libpulse0-17.0-4.2.x86_64
libpulse-mainloop-glib0-17.0-4.2.x86_64
pipewire-1.0.4-2.1.x86_64
pipewire-alsa-1.0.4-2.1.x86_64
pipewire-jack-1.0.4-2.1.x86_64
pipewire-lang-1.0.4-2.1.noarch
pipewire-libjack-0_3-1.0.4-2.1.x86_64
pipewire-modules-0_3-1.0.4-2.1.x86_64
pipewire-pulseaudio-1.0.4-2.1.x86_64
pipewire-spa-plugins-0_2-1.0.4-2.1.x86_64
pipewire-spa-tools-1.0.4-2.1.x86_64
pipewire-tools-1.0.4-2.1.x86_64
pulseaudio-setup-17.0-4.2.x86_64
pulseaudio-utils-17.0-4.2.x86_64
xfce4-pulseaudio-plugin-0.4.8-1.4.x86_64
xfce4-pulseaudio-plugin-lang-0.4.8-1.4.noarch

When passing "--audio-backend=pulseaudio" Kodi will play sound properly on Leap; without that argument it's as silent as it can be.

On Tumbleweed everything works out of the box!

Installing pipewire-pulseaudio on Leap, which will replace the usual pulseaudio packages, gives the same user experience as on Tumbleweed.

I'd therefore suggest to configure the pipewire stack the same way it's done on Tumbleweed, or to not install pipewire and wireplumber at all!
Comment 1 Takashi Iwai 2024-04-18 16:05:00 UTC
AFAIK, on Leap 15.6, the default sound backend is still PulseAudio, while TW switched to pipewire as default.  So that's a kind of expected result.

There is always pros and cons to switch the default.  I'd love to switch to PW, but Leap is rather more conservative, hence it's keeping PA.
Comment 2 Manfred Hollstein 2024-04-19 08:08:26 UTC
But since Pipewire is installed, it must have been recommended by some package. When the Pipewire stack then does not work, it should not be recommended at all. Adding the pipewire-pulseaudio package makes it work OK.

So either we install PW in a working state, or we don't install it at all, but the current status only results in trouble.
Comment 3 Takashi Iwai 2024-04-19 08:25:03 UTC
The misunderstanding is that pipewire alone doesn't mean about the audio support; it's rather primarily for the video (e.g. Wayland requires it for video broadcasting).
Comment 4 Antonio Larrosa 2024-04-19 12:56:42 UTC
Exactly as Takashi said. Pipewire is needed to have things like sharing the screen during a videoconference, that's the reason it's installed by default but with audio support disabled since otherwise it interacts with pulseaudio and there might be problems with both of them opening the audio devices at the same time.

Btw, note that it's actually the wireplumber-audio package that enables audio support in pipewire. Installing that package pulls in pipewire-pulseaudio in order to keep all pulseaudio applications working. Also, I made pipewire-pulseaudio pull in wireplumber-audio too since installing pipewire-pulseaudio removes pulseaudio and in that case it's better to have audio enabled in pipewire.

Since this is normal behavior and it's documented at https://en.opensuse.org/openSUSE:Pipewire#Installation I'll close this bug as resolved