What are the main differences between pipewire and pulseaudio? Which one is better? What are other alternative popular sound servers besides these two?

50 points
*

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.”

https://en.m.wikipedia.org/wiki/PipeWire

https://en.m.wikipedia.org/wiki/PulseAudio

permalink
report
reply
9 points
*

Audio engineer here. Anything ALSA inherently does not “get it right”. It’s time for Linux to get HAL audio drivers

permalink
report
parent
reply
13 points

What sort of problems have you heard of or seen? I’d like to hear your different perspective, if that’s ok with you?

permalink
report
parent
reply
4 points

Fewer kernel calls between hardware and software for loerw latency processing of audio is a must, there is a minimum amount of latency you can have with audio for anyone performing and that’s debated by a total round trip time frame. From the second someone plays a note on say a guitar to the moment the resulting sound comes out of their speakers and into their ears is rather critical for timing.

Trouble is to do most anything with digital audio you require a buffer (here we add more latency) so that we can do the things we need to. Your audio device will have it’s own buffer (and in the case of ALSA and Linux) your operating system will implement what’s considered an audio “server” which will add is own buffer to route to whatever you are thinking you need to do and blah blah so on so forth. HAL drivers like ASIO mean you have much higher stability and much lower latency as you now have fewer buffers which is less added latency, fewer interruptus to deal with, and everything just kinda works in harmony. If you want to learn more consider first learning what ALSA is or any of the terms I originally used. I suggested starting with the wiki page where all of this is already explained

permalink
report
parent
reply
1 point

This got me curious what these acronyms were. I found this information interesting.

https://hal.science/hal-03116888/document

permalink
report
parent
reply
2 points

Can you elaborate on what specifically makes ALSA bad, and what you mean by HAL audio drivers?

permalink
report
parent
reply
-2 points

I answered below, you can also read on any of the ALSA pages as well as the wiki page for it. Wealth of knowledge on the subject is available

permalink
report
parent
reply
28 points

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.

permalink
report
reply
6 points
*

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.

permalink
report
parent
reply
4 points

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.

permalink
report
parent
reply
1 point

I believe that PipeWire is really solid piece of software, but I couldn’t just let go of JACK just yet. JACK just works and it’s easy to modify important parameters like sample rate or buffer size. On PipeWire I still don’t know how to quite do that, I get lost in all those configuration files, but I will get it someday.

Also one more thing that might be niche, but it’s important for me is JACK timecode (for synching i.e. a DAW with video player) which PipeWire doesn’t support at all at the moment. Getting it work on PipeWire (converting JACK timecode to LTC or MTC) gets ugly pretty quickly. So I’m glad PipeWire allows to use it however I like it, either as JACK server or client.

permalink
report
parent
reply
2 points

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.

permalink
report
parent
reply
2 points

I don’t even know why PA grew so much in the first place besides per-application volume control, unkept promises and straight lies.

permalink
report
parent
reply
1 point

which must be used in conjunction with Pulseaudio

Why? Just why?

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.

permalink
report
parent
reply
23 points

Tl;Dr use pipewire, it’s just better and also handles screen capture on Wayland (which looks way better and has a much lower performance impact than X native screen capture in my experience)

permalink
report
reply
17 points

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.

permalink
report
reply
16 points
*

Never had problems with pulseaudio, but pipewire solved all issues i had with Jack so best of both worlds! :)

permalink
report
reply

Linux

!linux@lemmy.ml

Create post

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

  • Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
  • No misinformation
  • No NSFW content
  • No hate speech, bigotry, etc

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

Community stats

  • 7.7K

    Monthly active users

  • 6.5K

    Posts

  • 179K

    Comments