Confusion about Plasma audio: Sensible defaults?

Hi all,

I’m having some trouble figuring out Plasma’s current audio landscape. This is probably somewhat related to Arch-packaging, but also a general inquiry.

When installing Plasma, a couple of audio-package related choices are prompted:
jack2 or pipewire-jack,
pipewire-media-session or wireplumber,
phonon-qt5-gstreamer or phonon-qt5-vlc

While researching these packages, I read that KDE encourages the use of Pipewire/Wireplumber and Phonon-VLC, so I chose these packages, because the older defaults were considered obsolete and/or unmaintained.

However, this resulted in a defective sound system with extremely unstable playback devices for me.

Because packages like pavucontrol-qt still depend on pulseaudio being installed, there was probably a conflict between the Pipewire-related session managers and Pulseaudio, which could be seen in the kernel messages: Pulseaudio: Failed to create sink input: sink is suspended, spewed over and over.

While trying to remove those Pulseaudio-remnanats, I completely broke the sound output irreversibly (for me at least), so I reinstalled the system with the old defaults.

With the default configuration, I did get somewhat consistent sound output with some minor issues, but this setup also seems unsatisfying, since support for pipewire-media-session and gstreamer will probably suffer at some point, which is a concern with rolling-release distros and still Pulseaudio and Pipewire co-exist on this system, because pipewire-media-session and other packages are depended on by KWin and other essential components.

Is there any way to streamline Plasma’s audio landscape, any safe way to either clear Pulseaudio or Pipewire? Or are they supposed to keep living next to each other? What would be the most sensible defaults regarding installed packages currently? Every distribution seems to have a slightly different approach to this.

I am confused. :slight_smile:

There’s a few things to unpack here, and I agree it can be a bit confusing.

Pipewire is a framework for handling media stuff. This includes not only audio but also video. Plasma/KWin uses its video capability to handle e.g. window previews in the task manager.

Pipewire can (but does not have to be) used as a replacement for PulseAudio. Applications using PulseAudio (like pavucontrol-qt or Plasma’s audio applet) continue to work because PipeWire acts as a PulseAudio server. Plasma doesn’t really care whether you are using traditional PulseAudio or Pipewire.

Pipewire has the concept of a Session Manager that controls various aspects of how things work. pipewire-media-session is the original reference implementation. Wireplumber is a newer alternative for it. Plasma doesn’t really care which one is used.

The “modern” default would be to use PipeWire as audio server with Wireplumber as session manager, but Plasma does not require that in any way

4 Likes

…In other words, Plasma is nice and supports however your distro set things up, and so the way audio handling and routing works is more or less up to them, not us. In general we find that about 99% of audio issues are not KDE problems; they are caused by local configuration issues, distro setup issues, or genuine bugs or missing features in PulseAudio, PipeWire, or Wireplumber.