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.
Quoting: Liam DaweQuoting: AussieEeveeHonestly, I am not a fan of when people say something is "the future". Especially in the Linux space, where choice is key.No one is taking choice away, I really don't get why you would even remotely think that. Use whatever you want.
Personally, I will keep using Xorg and Pulseaudio.
That's what calling it the future means. It means that "This will be the standard going forward".
EDIT: was unbelievably simple to switch on Arch; there's an Arch wiki page for it (ofc). I seem to have the same bug as Liam in Helvum, where some outputs are obscured in the graph
EDIT2: nevermind I switched back to PA. PW giving me popping noises when starting/stopping audio, despite both the hardware parameters set to disable powersaving and disabling the pipewire suspend modules in their config... maybe I'll try PW with my next computer.
Last edited by anewson on 2 March 2022 at 1:03 am UTC
Quoting: AussieEeveeQuoting: Liam DaweQuoting: AussieEeveeHonestly, I am not a fan of when people say something is "the future". Especially in the Linux space, where choice is key.No one is taking choice away, I really don't get why you would even remotely think that. Use whatever you want.
Personally, I will keep using Xorg and Pulseaudio.
That's what calling it the future means. It means that "This will be the standard going forward".
you realize both Xorg and PA were "the future" at some point right
Quoting: AussieEeveeHonestly, I am not a fan of when people say something is "the future". Especially in the Linux space, where choice is key.While I'm fine with you using whatever, and I myself am unlikely to make a conscious choice to change but rather will just end up using whatever my distro defaults to, I think for a lot of this kind of infrastructure it's a good thing if choice is fairly . . . muted. Like I'm fine if people are experimenting with alternatives around the edges, but I'd prefer if there is a main thing that can be taken for granted that does the infrastructure task. I don't want there to be five different Wayland equivalents in competition or whatever.
Personally, I will keep using Xorg and Pulseaudio.
Last edited by Purple Library Guy on 1 March 2022 at 6:33 am UTC
I have a 7.1 surround system that's driven by an audio receiver. Pipewire fails to deliver multi-channel audio through Proton games (I believe native should work), and given that most Linux games are being run through Proton this is a deal-breaker.
The gitlab issue is here:
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/876
EDIT: It appears a solution may have been found at the end of the thread.
Last edited by drmoth on 1 March 2022 at 6:52 am UTC
Between music, softphone and the various online meeting all running in the browser I could really do with being able to split it to different outputs so customers don't have to wait for me to switch default output from the speakers to the headset every time I receive a call
year now, and aside from the known big with surround sound in wine it's been smooth sailing.
Quoting: garpuIt's impressive, but if you do any kind of audio work, it's not quite there yet, especially for real-time audio. But if you're doing that, you're using jack, anyway.
I'm using pipewire in music production as a dropin replacement for Jack, and can use pretty much the same buffer settings on pipewire. But then again JackD never provided the ultra-low latency that I see others claim.
There's some minor issues, but it's SO great to not have to fiddle with two parallel systems (pulse and jack) that I can live with those as development progress.
Last edited by Beamboom on 2 March 2022 at 1:22 pm UTC
While it was simple to install and worked really well (I was surprised how easy a transition it was), unfortunately I was getting constant 100% DSP load in Mixbus (based on Ardour). I fiddled with the conf files but to no avail. So I'm back on Jack (fixed at 1.9.19).
I have no doubt Pipewire will get there though and I'll be switching at some point.
See more from me