Pipewire vs PulseAudio, general question
Pipewire vs PulseAudio, general question
What are the main differences between pipewire and pulseaudio? Which one is better? What are other alternative popular sound servers besides these two?
Pipewire vs PulseAudio, general question
What are the main differences between pipewire and pulseaudio? Which one is better? What are other alternative popular sound servers besides these two?
Pipewire is the new hotness. I've read comments from various audio engineers and programmers that pipewire "gets it right".
Pipewire came out in 2017, pulseaudio in 2004.
"PipeWire has received much praise, especially among the GNOME and Arch Linux communities. Particularly as it fixes problems that some PulseAudio users had experienced, including high CPU usage, Bluetooth connection issues, and JACK backend issues."
Audio engineer here. Anything ALSA inherently does not "get it right". It's time for Linux to get HAL audio drivers
Pipewire is much better than Pulseaudio, especially for pro audio work because of its low latency. Another popular option is JACK, which must be used in conjunction with Pulseaudio. Harder to set up, but is also great for pro audio. Some audio engineers were having issues with Pipewire when it first came out so they went back to using JACK, but I think Pipewire has improved. Pipewire has been flawless on my end.
If you're not in pro audio or any kind of multimedia work, it doesn't really matter and you can just stick with whatever comes pre-configured on your distro. But my vote goes to Pipewire as the best server for pretty much anyone.
I have had some problems with PipeWire as JACK replacement, mostly it was some tearing artifacts that were very annoying. Recently though I learned how to use PipeWire (which is great for general desktop audio usage + works with Bluetooth really good) with JACK for pro-audio applications. By using the JACK DBus detect module it is possible to turn PipeWire into JACK client when ever the latter one is started.
So this way it is not required to use PulseAudio at all with JACK. There's also possibility to use PipeWire as JACK server because it also provides such API.
I’ve been running Pipewire in pro audio setup for my son and his band mates since the early days of the project. Granted I did run into some issues at first, but for a long time now it has been solid as a rock. With all of the plugins it is a joy to work with, no more Jack, Jack 2, Alsa, Pulse bridging and configuration nonsense, it all just ‘works’ now.
I would recommend it to anyone as a first option when setting up anything audio related on Linux now.
I think that's half true, Pulseaudio always was very buggy and a main reason for Linux bad reputation regarding none pro audio but most Distros switched already so if you use the default it will probably be Pipewire already.
I don't even know why PA grew so much in the first place besides per-application volume control, unkept promises and straight lies.
Why? Just why?which must be used in conjunction with Pulseaudio
any kind of multimedia work, it doesn't really matter and you can just stick with whatever comes pre-configured on your distro. But my vote goes to Pipewire as the best server for pretty much anyone.
Or gaming. PulseAudio has insane latency. Use JACK or no server(that means use ALSA). Maybe Pipewire has tolerable latency, but I didn't test it myself.
Never had problems with pulseaudio, but pipewire solved all issues i had with Jack so best of both worlds! :)
Pipewire seems to do everything better than PulseAudio, in my experience. It's stable, compatible with PulseAudio and JACK stuff, works for low latency stuff like music production, can be routed flexibly, etc... As someone who used to run a PulseAudio+JACK stack but has since replaced both with just PipeWire, I'm a big fan.
What are other alternative popular sound servers besides these two?
ALSA; low level, not really recommended to use directly. JACK; professional audio. GStreamer; idk exactly. Pipewire supports applications using any of those.
Not directly answering your questions:
https://wiki.archlinux.org/title/PipeWire
I'm bad at describing so take the Arch wiki page.
You don't really have to worry about configuring much, it should be fine to install all the packages, maybe enable some services, and forget about it.
It's likely that you're not using Arch, so you'll have to check your distro's repos for the packages.
ALSA
Pipewire fixed some Bluetooth issues for me.
Pipewire is really buggy for me so I just use pulseaudio.
Pulseaudio was always buggy for me. I've only tried pipewire recently and so far I've had no issues.
The only downside is that (from having to do so much troubleshooting) I know more or less how to configure and tweak pulseaudio. If I ever decide to do weird sound things with pipewire, I'm starting from scratch.
I had the opposite experience, Pulseaudio is a buggy pile of shit if you ask me!
Read xkcd. To be fair it doesn't seem to create new audio api, but be alternative implementation.
I still recommend bare ALSA for average users. This includes gamers.