Skip to main content
Topic solved
This topic has been marked as solved and requires no further attention.
Topic: [SOLVED] pipewire: anyone using it? (Read 14197 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

[SOLVED] pipewire: anyone using it?

Looking for folks opinion and experience with pipewire for audio.

https://wiki.archlinux.org/index.php/PipeWire

I was using alsa exclusively, but moved to pulseaudio when alsa support was dropped for a bluetooth package. I've never really liked pulseaudio so looking for an alternative and the pipewire-pulse looks like an option.

Re: pipewire: anyone using it?

Reply #1
I use pipewire-pulse and it works just fine to me

Re: pipewire: anyone using it?

Reply #2
I will give it a go and appreciate you sharing your experience.

Re: pipewire: anyone using it?

Reply #3
for me, pipewire-pulse doesn't work properly. (artix + openrc)

Re: pipewire: anyone using it?

Reply #4
for me, pipewire-pulse doesn't work properly. (artix + openrc)

pulseaudio cant be running at all, and /usr/bin/pipewire-pulse needs to be uncommented ; pipewire has to be ran as user. I usually let plasma desktop start it, running it via init doesn't work for me

Last line of pipewire.conf for me is:
"/usr/bin/pipewire-pulse" = { args = "" }

Re: pipewire: anyone using it?

Reply #5
Working pretty smoothly here as well. As @ndowens says, start it with your DE not as a system service. If it helps here are what's installed for me to get it working: alsa-card-profiles, gst-plugin-pipewire, lib32-gst-plugin-pipewire, lib32-pipewire, lib32-pipewire-jack, libpipewire02, pipewire, pipewire-alsa, pipewire-jack, pipewire-jack-dropin, pipewire-pulse

Re: [SOLVED] pipewire: anyone using it?

Reply #6
Sorry for necrobumping, but this thread is one of the first results that appear when searching "pipewire artix", and it might help some people. I believe there are some changes since this thread was posted, so here's how I got pipewire working on my Artix machine.

pipewire-media-session is deprecated in favor of wireplumber. Pipewire won't work without it, so install wireplumber.

In pipewire.conf make sure you enter this line at the bottom of the file:
Code: [Select]
"/usr/bin/pipewire-pulse" = { "#args" = "-a tcp:4713" }

What this does is to start the pipewire-pulse compatibility layer. Normally this is handled by a systemd service, so instead we just specify a tcp port for it. This way it can communicate with the pipewire daemon.

I then autostart pipewire, pipewire-pulse, and wireplumber (in this order).

Re: [SOLVED] pipewire: anyone using it?

Reply #7
I just followed the wiki and it worked.

Re: [SOLVED] pipewire: anyone using it?

Reply #8
pipewire-media-session is deprecated in favor of wireplumber. Pipewire won't work without it, so install wireplumber.

In pipewire.conf make sure you enter this line at the bottom of the file:
Code: [Select]
"/usr/bin/pipewire-pulse" = { "#args" = "-a tcp:4713" }

I just installed wireplumber, replacing pipewire-media-session and edited ~/.xinitrc to point at the new wireplumber binary.
Sound works. Just curious why I would want, or need, to add that line ?

Forget I spoke. I just restarted X before. Thinking that would kill all the pipewire related stuff that was started by startx but the pipewire-media-session process must have been hanging on. After a reboot no sound. The suggested line brought it back.
I'd still love to know why it's needed now yet wasn't before ?

wireplumber manages pipewire which emulates pulseaudio which gets alsa to make some sounds. It's all so simple! And that's probably wrong by me as well ?

Re: [SOLVED] pipewire: anyone using it?

Reply #9
Does this work with web browsers, has anyone tried that? I thought before pipewire was for bluetooth but it seems it could be a more general alternative to pulseaudio. The wiki page suggests it might. Some browsers including  ones in the AUR like Waterfox Classic binary version and Firefox binaries from Mozilla are built without Alsa support so require pulseaudio for sound, also there are several graphic equalizer extensions / add-ons for Firefox and Chromium, but I tried a few and didn't find anything that worked with just Alsa, after installing them there was no sound at all.

Re: [SOLVED] pipewire: anyone using it?

Reply #10
Does this work with web browsers, has anyone tried that? I thought before pipewire was for bluetooth but it seems it could be a more general alternative to pulseaudio.

For me it works just like pulseaudio except I need these lines in my ~/.xnitrc
Code: [Select]
pipewire &
/usr/bin/pipewire-pulse &
/usr/bin/wireplumber &
Apparently it handles video as well?

I was under the impression there was still alsa support in firefox ? If I go to about:buildconfig I still see --enable-alsa under 'Configure options'.
But for anything more complex than just sending the sound straight to alsa I believe you need pulse or pipewire ?

I went with pulse a few years ago as I connected a TV to my PC and wanted to be able to easily choose where audio went when it was in use. I couldn't achieve that with alsa but pulse made it simple. Also I can use an Easyeffects preset to make late night videos more watchable. Lower background sound levels, higher voice sound levels. Something else that I don't think could have been achieved with alsa alone ?
I'm the first to admit I have a low understanding of the Linux audio stack.

Everything that worked for me under pulseaudio still does with pipewire AFAICT

 

Re: [SOLVED] pipewire: anyone using it?

Reply #11
Firefox in the repos supports alsa but some AUR variants don't, the Mozilla binaries don't, say you wanted to try Firefox beta or nightly for bug investigating or reporting.
It does work and the graphic equalizer add ons now work too, but I found a few minor issues so far:
Running those commands from xinitrc doesn't work reliably here:
Code: [Select]
$ ps -ax |ag wire
 2213 tty1     S<l    0:00 /usr/bin/pipewire
 2214 tty1     S<l    0:00 /usr/bin/pipewire-pulse
 2215 tty1     Z      0:00 [wireplumber] <defunct>

I deleted the wireplumber line, if I run it from a terminal after booting it works OK, perhaps I'll try it as a desktop startup command. If I forget to run it then use Firefox or ungoogled-chromium this often quickly leads to a complete desktop freeze / lockup, I have to press the power button.
alsamixer shows pipewire as the default sound card with only one volume control slider, but F6 allows selection of usual Intel one.  The right  hand control from that Intel card on my system in Alsamixer says Loopback mixing : Disabled. With alsa only if I set that to enabled then back to disabled the sound disappears, but setting back to enabled brings the sound back. Using pipewire, if I toggle that the sound just disappears permanently until I reboot.