You can sign up to get a daily email of our articles, see the Mailing List page.
We do often include affiliate links to earn us some pennies. See more here.

PipeWire is the future for Linux audio and I am sold on it

By - | Views: 73,146

Linux and audio have never entirely gotten along well together, when PulseAudio came along it actually solved a lot of problems but it's PipeWire that's the real future.

Truthfully, I was hesitent to switch my own PC over from PulseAudio to PipeWire for fear of breakage, especially with the Steam Deck — I needed things to continue working smoothly. However, I also sometimes tend to just "YOLO" for the fun of it and so I did. I'm now running PipeWire and I have to tell you how happy I am with it.

PipeWire is a project that aims to greatly improve handling of audio and video under Linux. It provides a low-latency, graph based processing engine on top of audio and video devices that can be used to support the use cases currently handled by both pulseaudio and JACK. PipeWire was designed with a powerful security model that makes interacting with audio and video devices from containerized applications easy, with supporting Flatpak applications being the primary goal. Alongside Wayland and Flatpak we expect PipeWire to provide a core building block for the future of Linux application development.

Not only is it powerful, it's also surprisingly easy to use and assorted applications have sprung up around it to support it. Software like Helvum and qpwgraph have absolutely blown my mind on how ridiculously simple they make messing with audio inputs and outputs.

Something I've wanted to do for a long time, but Pulse didn't really help and I didn't like the complexity of JACK was to get different inputs and outputs going for OBS Studio for my livestreams. Things like only having very specific audio go to certain places. Now, it's ridiculously easy.

With the aforementioned applications, you just drag wires between things and…done. That's it. How is Linux audio now this easy?!

For example, grabbing the audio from my shiny Capture Card that's attached between the Steam Deck and my PC, with a drag of a wire I can now have it going to OBS Studio and also have it so only that goes to my Wireless headset. How about music playing that only I can hear? It's a small thing but PipeWire makes everything like that simple. Duplicating and moving audio streams with the drag of a wire. I like simplicity, it makes me happy. There's a huge amount this enables without diving into confusing configuration files, and there's no terminal needed - it's all in the UI. Lovely.

Linux audio is really going places with this. If you also haven't tried PipeWire yet, you're missing out.

Article taken from GamingOnLinux.com.
56 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. Find me on Mastodon.
See more from me
The comments on this article are closed.
53 comments
Page: «5/6»
  Go to:

Nocifer Mar 2, 2022
Quoting: AussieEevee
Quoting: Liam Dawe
Quoting: AussieEeveeHonestly, I am not a fan of when people say something is "the future". Especially in the Linux space, where choice is key.

Personally, I will keep using Xorg and Pulseaudio.
No one is taking choice away, I really don't get why you would even remotely think that. Use whatever you want.

That's what calling it the future means. It means that "This will be the standard going forward".

No, calling something "the future" means that it is (perceived as being) of better quality than the current solutions and will probably end up overshadowing them in the long run; it doesn't mean that users like you and me are suddenly forced to use it. But if a majority of users adopt this new something as a result of its better quality and thus make it into the de facto new standard, and as a result we are deprived of other choices*, again it's nothing more than evolution at work.

(*Because "choice" most certainly means that someone puts the effort into developing alternative solutions, so even though this is Linux, there can't be "choice" if there is no interest from developers in the first place.)

Quoting: slaapliedje
Quoting: Vulphere
Quoting: slaapliedjeHa, so in my time with Linux we've had many audio bits.
1) OSS
2) ALSA
3) Pulse
4) Pipewire.

Granted this is ignoring a few of them here and there that never caught on beyond some audio workstation stuff, and Jack itself seems to work with the four above.

But Audio definitely has improved over the many years! Pulse was pushed out before it was stable, which is why I always hate to recommend Fedora. But others are at fault for that too, and it gave Pulse a terrible reputation. It seemed to work mostly for me though. Hopefully Pipewire is mature enough now to not have that same issue.

One of the reasons why PipeWire was created is to unify consumer audio (high latency) and pro audio (low latency) in a common ecosystem (ala macOS' CoreAudio), CoreAudio has great concept and I'm glad PipeWire brought that concept to Linux (and eventually will provide long-sought stability in Linux audio ecosystem)
Yeah... but you could already set up JackD with PulseAudio. I mostly feel it is more like Pipewire was developed just to change the name away from the bad rep that PulseAudio has...

Wouldn't be the first time. Look at the mess that is Gnome. Gnome developers went all out and changed the whole paradigm of their desktop with Gnome Shell. The outcry forked two Gnome 2 clones. Then they added Gnome Classic. So really there were 3... if things made mire sense in developer land, at some point Mate and Cinnamon should combine efforts within Gnome and make Gnome Classic the best they can. But the forks still remain, and they all maintain their different ideas and code. But this for sure can be a good/bad thing as well. Now there seem to be a lot of splinter 'we can do one too!' With things like Budgie, Elementary, etc. This I think is due to people more than the tech. Would be wonderful if everyone could work together, but I sort of feel that the two coins would be either we would have the best desktop experience ever... but in 2050 after years of bickering. Or we just end up with a bunch of 'almost perfect' versions in the next 5. 😜

Nah, PipeWire was developed because 1) the Linux audio stack was a convoluted mess, 2) Pulseaudio was good from a usability perspective but terrible from a quality perspective (lots of issues still plaguing it that have been there from day 1, some of them having no real solutions because of how PA is designed) so real pro audio developers decided to take the reins, 3) audio and video unification, and 4) Flatpaks and sandboxing.


Last edited by Nocifer on 2 March 2022 at 12:19 pm UTC
Philadelphus Mar 2, 2022
Just like how electric light bulbs became "the standard going forward" for interior lighting over candles, because of all the numerous advantages. You can still light your house with candles if you really want to though.
raptor85 Mar 2, 2022
You missed the absolute best part about pipewire over just using pulse + jack...built in rtkit support! The low latency passthrough means there's FINALLY a solution other than alsa+jack on a realtime kernel for pro audio setups on linux.
slaapliedje Mar 3, 2022
Quoting: raptor85You missed the absolute best part about pipewire over just using pulse + jack...built in rtkit support! The low latency passthrough means there's FINALLY a solution other than alsa+jack on a realtime kernel for pro audio setups on linux.
Now what we need is the equivalent audio project like Blender is for 3D. There are a few really good audio programs for Linux, but there could be better ones.
furaxhornyx Mar 3, 2022
View PC info
  • Supporter Plus
Quoting: slaapliedje
Quoting: raptor85You missed the absolute best part about pipewire over just using pulse + jack...built in rtkit support! The low latency passthrough means there's FINALLY a solution other than alsa+jack on a realtime kernel for pro audio setups on linux.
Now what we need is the equivalent audio project like Blender is for 3D. There are a few really good audio programs for Linux, but there could be better ones.

Bitwig ? (not open source though)
ppc Mar 4, 2022
I've been looking for this for so long, to include music in my video calls. I got some results with using the loopback module with pactl, but then it was either music or me speaking. Now I can haz both ;)

Thank you for bringing this to my attention!
slaapliedje Mar 5, 2022
Quoting: kokoko3kOne ring to rule them all

Quoting: PhiladelphusThis is probably a stupid question, but…why is there a split in the first place? Why can't consumer audio be low latency too? Or is this massive overkill like providing the average office worker with a monitor with a 500 Hz refresh rate?

You don't want nor need that, the monitor example is vaild if the compositor needs to render the same image 500 times per second.
Pro audio often needs extremely low latency (maybe even high bit depths and samplerates) that taxes the cpu, because to achieve it, you need to continuously load very small chunks of audio data to the audio card and that thread needs to run with realtime privileges or you'll end with what is called XRUN (empty buffer == audio glitches).

For example if you need to hear a sound sampled as soon as possible, say with a latency of 5ms, if i'm doing the math right, you need to load at most 1000ms/5ms = 200chunks of audio per second with a thread running at realtime priority.
So, if you don't want to use too much cpu just to play a wav file, maybe it is better to use latencies in the order of 20..40 msecs.

With pipewire, you can have the best of both worlds when you need one thing or the other.
As a side bonus, it provides interoperability between jack,alsa (usespace) and pulseaudio without the need to switch between them, nor to load them, because it implements all of them natively, and that will allow to do and play with ease with all the pro-audio apps/effects/equalizers available in the jack domain, much better than just pulse/easyeffects.

For once, there is work to reduce fragmentation done the right way, imho.
Granted, the software is still not perfect, but is under active development and devs are fast in fixing bugs, but they need users to report them ofc.
I mean latency is one of the reasons that the Atari ST is still considered excellent for MIDI production. Granted there are less people who utilize MIDI these days, but they are excellent machines!
robvv Mar 5, 2022
I installed pipewire on a whim some time last year and have been very impressed with it. Much easier to configure than PA, especially with those nice GUIs too.
kokoko3k Mar 6, 2022
Quoting: slaapliedje
Quoting: kokoko3kOne ring to rule them all

Quoting: PhiladelphusThis is probably a stupid question, but…why is there a split in the first place? Why can't consumer audio be low latency too? Or is this massive overkill like providing the average office worker with a monitor with a 500 Hz refresh rate?

You don't want nor need that, the monitor example is vaild if the compositor needs to render the same image 500 times per second.
Pro audio often needs extremely low latency (maybe even high bit depths and samplerates) that taxes the cpu, because to achieve it, you need to continuously load very small chunks of audio data to the audio card and that thread needs to run with realtime privileges or you'll end with what is called XRUN (empty buffer == audio glitches).

For example if you need to hear a sound sampled as soon as possible, say with a latency of 5ms, if i'm doing the math right, you need to load at most 1000ms/5ms = 200chunks of audio per second with a thread running at realtime priority.
So, if you don't want to use too much cpu just to play a wav file, maybe it is better to use latencies in the order of 20..40 msecs.

With pipewire, you can have the best of both worlds when you need one thing or the other.
As a side bonus, it provides interoperability between jack,alsa (usespace) and pulseaudio without the need to switch between them, nor to load them, because it implements all of them natively, and that will allow to do and play with ease with all the pro-audio apps/effects/equalizers available in the jack domain, much better than just pulse/easyeffects.

For once, there is work to reduce fragmentation done the right way, imho.
Granted, the software is still not perfect, but is under active development and devs are fast in fixing bugs, but they need users to report them ofc.
I mean latency is one of the reasons that the Atari ST is still considered excellent for MIDI production. Granted there are less people who utilize MIDI these days, but they are excellent machines!
I didn't know about Atari ST and latency and MIDI, probably it was just good marketing strategy (ST came with builtin MIDI ports, where amigas,much more capable, did not, also ST had cubase), but it is like comparing apples to oranges.
MIDI is a protocol to transfer commands, not audio data.
You dont send sounds over a midi cable, but you send something like "play a C note from the sound bank 5 at volume 70 with a little vibrato".
Even a c64 has low latency doing that, let alone Linux on a 2022 machine!
Jack,pulse or pipewire don't solve that problem, because there is no need to.
You can compare midi to a joypad controller; there is no latency in sending commands even on a consumer system.

As for sample playing, you're right, there are hardware differences between an atari st, an amiga, a sega megadrive and so on, and an ibm pc compatible system that make low latency complex on the latter; but even if the hardware were the same, the goals are still different, because the process of mixing different sources, applying countless audio effects and so on require to work on audio buffers, and would introduce latency even on an atari st.


Last edited by kokoko3k on 6 March 2022 at 7:13 am UTC
sgtnasty369 May 17, 2022
Steam - Pillars of Eternity
Nothing I change will play sound from PoE to my HDMI TV
PoE always plays sound out of my laptop speaker

Pipewire never switches audio to my TV via HDMI
I have to do it for every app

Yeah pipewire works great
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.