PipeWire: pipewire-media-session vs wireplumber

Hi!
As we already know the newest Atlantis ISO come with PipeWire by default and pipewire-media-session. For me everything works including bluetooth headsets etc. but I thought that it is good occasion to read something more about it, especially about these “media session” managers.

According to Arch Wiki:

PipeWire currently uses the simple example session manager pipewire-media-session, but WirePlumber is more powerful and recommended. To switch to WirePlumber, install the wireplumber package. It will replace pipewire-media-session.

From PipeWire Media Session GitLab:

Note that we recommend the use of WirePlumber instead.

And now I’m confused. As I said everything works for me so I don’t want to tinker with things like that without any solid reason, especially because I’m standard user and I have never tinker with audio config files or anything like that so my requirements are not very complicated.

However I found these interesting and it brings me some questions:

  1. Is WirePlumber a future solution but not “stable/mature” enough at this moment? Will it replace pipewire-media-session? I found in documentation linked above that it is “more advanced” but I’m talking about normal daily-use without using any kind of advanced features.
  2. Is WirePlumber just more advanced but if I don’t need any advanced features it shouldn’t bother me at all because pipewire-media-session will stay and I’m all good?
  3. If pipewire-media-session is our default one so there must be reason behind that. Is WirePlumber buggy in some hardware configurations or not matured enough yet and our default is more “bug-proof”, or something?
  4. Are you guys sticking with default pipewire-media-session or changing to wireplumber? Why?

I found information that Fedora 35 changed to wireplumber already but really - I can’t find anything useful about why it is better and what are the prons and cons of each other, especially from the end-user perspective.

I just wanted to ask what are your experiences and thoughts about it.

Best regards

4 Likes

According to Debian wiki:

Two session managers are now available. The one pulled in by default pipewire-media-session is primitive, and is best when using PipeWire just for its basic functionality like screensharing. When using PipeWire as your system’s sound server, the maintainer recommends installing the more advanced WirePlumber instead.

I think I’m going to install WirePlumber soon to check out :smiley:

1 Like

I’m using wireplumber because it’s more advanced and will replace pipewire-media-sessions eventually. Everything works just fine. Only thing I experienced not working so far is the KDE widget “Panon”.

1 Like

Ok, so I switched to WirePlumber already and it works perfectly fine for me so I think I’m staying here motivated by these “is recommended” part from official documentation.

If someone want to switch to this is what we need to do:

First, we need to stop pipewire-media-session service (audio will be gone for this moment):

systemctl --user disable --now pipewire-media-session

Then, we’re going to install wireplumber which conflicts with pipewire-media-session package and we will be asked by Pacman to remove this package (answer Y):

sudo pacman -Syu wireplumber

Then, we need to enable new service:

systemctl --user enable --now wireplumber

*Please note that we’re not using sudo with these systemctl commands because we’re doing it per user.

And that’s it. Now we have wpctl CLI tool which I’m starting exploring right now but it seems pretty cool from first impression!

7 Likes

From the discussions around implementing pipewire-session-manager, this should be taken care of by the package; all you should need to do is install wireplumber, https://wiki.archlinux.org/title/PipeWire#WirePlumber (and then log out/in).

1 Like

I didn’t know that. I was using this as my reference.

I’m somewhat surprised “Atlantis” doesn’t default to WirePlumber, since Fedora 35 makes it the de-facto standard going forward.

1 Like

I think EnOS is waiting for Garuda to work out any kinks with that… :joy:

I’d expect it to reach all Arch derivatives at some point (including a certain green one after EnOS has implemented it).

2 Likes

:shushing_face: :rofl:

It is more that we will now see what happens after the main switch to pipewire (we do simply take the most simple/save way for the implementation)

Community is in for testing what is the best way to use/setup/defaulting for the future.

5 Likes

I just tried to use wireplumber instead of pipewire-media-session. Sound working flawlessly, but bluetooth is not working. Service is up and running, no block (neither hard nor soft), but no adapter available. Going back to pipewire-media-session, solves the problem. As I’m in hospital right now and just had my surgery yesterday, I’m not in the mood to figure out, what the problem is. I’ll have a closer look, when I’m back home.

Gute Besserung! :man_health_worker:

3 Likes

Danke. Ich arbeite dran. :wink:

1 Like

Afternoon update:
So I was playing around with my bluetooth devices connected to computer with WirePlumber by pressing volume/playback controls on speakers and on my laptop keyboard then BUM! Plasma just closed itself without any warning. I was returned to SDDM.

I was inspecting journalctl hoping to find some crash information, but, which is even more strange, I found nothing. There was only information that systemd-logind is listening to “virtual input” from my bluetooth speaker’s buttons and then just closed my session. Everything there looked like it was standard logout without any interruption.

I don’t know whether it is WirePlumber or Plasma problem but I’m definitely reverting to pipewire-media-session just to stay on the safe side.

Good that this is weekend and I was in a mood to trying this out without any actual work on the computer because it will be lost if unsaved.

Hah, sometimes I hate my curiosity but this is how we learn at the end. Anyway, I’m coming back to defaults because “If it’s not broke, don’t fix it!” - this should be my slogan somewhere above my desk BTW.

1 Like

The other thing would be to try to replicate the issue and then file a bug report. Given Plasma crashed it sounds more like a Plasma issue.

This is also how FUD starts about WirePlumber being unstable etc…

2 Likes

@mateusz.baran I just want to second what @jonathon said:

I’m in the process of trying to find why my music app Tauon randomly crashes; crashes are extremely rare, but does happen, and I can’t yet replicate it so it’s a lot of trial and error. Luckily I’m able to talk with the developer to work on finding the reason why it crashes. This means for now I have a python debugger running in my terminal every time I use Tauon, so if it does crash again, I will be able to provide some hopefully helpful information on why it’s crashing sometimes.

Like I said the crashes are rare, and I could even be the only user affected who knows, but if I can help in anyway to make it so that this issue can be resolved, then in my own small way I’ve helped out other users from this issue. I’m not implying it’s a requirement (more just a suggestion really) to help users, it’s your system and it’s your own time, do as you see fit, but if you don’t mind helping out when issues present themselves, it can be very beneficial to many more users by tracking down problems and helping to fix them so that many other users benefit from you assistance. Just something to think about :slight_smile:

1 Like

Yes… Actually I was trying yesterday to replicate it but with no success. Will try today again before reverting back to pipewire-media-session.

You’re right. I need to clarify that I have no evidence that my problem was caused specifically by WirePlumber so it can be totally different bug coming from different part of the system in the wrong time.

Don’t get me wrong. I use my computer for work so when something like that happens I want to revert just because to stay as much close to default configuration set by installer. This is where are the best chances that most people will find possible bugs or where bugs were already solved. I will try to replicate my issue to collect some information needed for bug report tho.

3 Likes

Gute Genesung für Dich!

2 Likes

I solved the problem. I booted my netbook and deleted the folder ~/.config/pulse/ on a full-screen tty (before logging in). Pipewire and wireplumber now work as expected (including bluetooth). Obviously there was an old setting screwing up the system.

8 Likes

Ah, that one. It’s a known issue, but people have to know about it… :sweat_smile:

1 Like

Yep. Now I’m almost sure that was a problem not connected with WirePlumber at all. Today, on a different computer running EOS with pipewire-media-session, I had exactly the same result (everything crashed and I was returned to SDDM) when trying to run Steam games on full screen. It was repeatable literally everytime. I tried booting into LTS kernel and everything worked as expected so I suppose it is current kernel bug or something.

2 Likes