6 ms·
Truly the be-all-end-all for Linux audio servers. All the ease-of-use of Pulse without any of its issues.
by iscream26 3y ago
Truly the be-all-end-all for Linux audio servers. All the ease-of-use of Pulse without any of its issues.
- deleted 3y ago[deleted]
- jauntywundrkind 3y agoThat pipe wire can often meet or beat pro-audio JACK for latency is so elegant & nice. Defeating that compromise of PulseAudio seems like the crowning achievement to me; there's not a lot of other faults or defects I felt with PulseAudio, and I say this as someone who has had sound servers with half a dozen audio cards (mostly USB) I've run off a system, as someone who has streamed PulseAudio from one system to another. The technical sophistication of PipeWire is almost purely made possible by Linux improving, by the availability of DMA-BUFs for shared memory inter-process work. This wasn't possible when PulseAudio (nee Polyp) was being created; the kernel couldn't do that then. On top of this modern base, pipewire has done a fantastic job generalizing it's architecture. It's also designed to pipe video. It could conceivably be used to pipe input events, or other arbitrary streams too. This is a cool upgrade that I hope we see more leaning into over time; I hope PipeWire someday becomes so pervasively used for so many reasons that it is even more known, tapped, used, & loved that dbus, the current inter-process nexus of FreeDesktop.
- ahartmetz 3y ago> The technical sophistication of PipeWire is almost purely made possible by Linux improving I'm not sure about that. I guess improvements in ALSA have contributed. But PipeWire was created by none other than the guy who rearchitected GStreamer's foundations after GStreamer had been brittle and prone to crashing for years. I don't think that there was a better person in the Linux ecosystem to do it. It's the second system effect without featuritis, like when some of the Unix people created Plan 9. Personally, I was not happy with PulseAudio, and I'm very happy with PipeWire. Great, great stuff. I say that as both a user and somebody who created a prototype for a sound system for an embedded platform on top of PulseAudio that was, AFAICT, abandoned because it just couldn't deliver some things. PipeWire was on the radar at the time but too much in its infancy to use back then. That stopped being the case years ago.
- fiddlerwoaroof 3y agoI’ve had nothing but issues with PulseAudio, leading me to disable it and use plain ALSA (with dmix) on basically every Linux system I’ve used. I’m excited that it’s being replaced, but I no longer use desktop Linux very often.
- jauntywundrkind 3y agoI love this paean, and I am delighted to assimilate this gleeful happy memetics into my own. But I think the hate sucks & can get lost. Maybe it's not hate, but I'm just so done, so fed up with intolerance and/or nattering against Lennart Poettering, and it all comes off as ridiculous to me. Whatever the qualms: Pulseaudio and systemd have been such vast giant leaps over where we were before. Most of the voices are just against. That is, they don't saying what else we ought have done, they dont speculate constructively. They're winges (thank you Ben Collins for re-introducing me to that word). It would be such a bleaker worse world without pulseaudio and without systemd. (I'm sorry to hear your product ran into such difficulty though!) I absolutely am happy to hand a massive trophy to Wim Taymans for building a truly elegant API architecture. But I repeat again: the core of PipeWire would not have been possible without the better Linux we have today. PipeWire competes with JACK because of https://docs.pipewire.org/page_dma_buf.html https://docs.pipewire.org/page_dma_buf.html . That's basically a fact.
- stuaxo 3y agoAbsolutely this. Pipewire is a refinement of the idea, many of these lessons are hard won by pulseaudio itself, being used for years. Linux audio before pulseaudio was just a lot worse, for many people pulseaudio meant not having to think about how audio worked any more. Pulseaudio saved my bacon just the other day with virtualization - since the server runs on OSX I could pipe all the audio devices from an OSX host to a Linux guest.
- stuaxo 3y agoPulseaudio was the second system (at least). Before that there was a bit of a mess, esound Daemon / the KDE equivilent on OSS and later ALSA
- odiroot 3y agoFor me the most awesome part is support for both consumer audio and pro audio profiles at the same time. No messing about with JACK etc. Everything just works. It might not be as perfect as JACK (getting some rare xruns) but it's just so convenient!
- forevernoob 3y agoI hope the pro audio side gets a bit more love. I've installed PW for the first time on my Ubuntu 22.04 (through https://pipewire-debian.github.io/pipewire-debian/ https://pipewire-debian.github.io/pipewire-debian/) and so far have been experiencing high CPU usage on Bitwig Studio v5.0.11 when trying to send audio from and to my Native Instruments Komplete Audio 6, and I have no idea what the culprit might be. I'm going to try a bunch of stuff and hopefully be able to take advantage of this wonderful technology (that has already come _so_ far!) I should probably document my troubleshooting ventures. Does anyone know a nice hosted blog that supports Markdown / CommonMark and RSS syndication? Is Substack a good option?
- viraptor 3y ago> and I have no idea what the culprit might be. I'd start with checking all sinks/sources to make sure you're not resampling by accident. But even that shouldn't be causing high CPU by itself. There's pw-top/pw-profiler to help you.
- forevernoob 3y agoThanks for the pw-profiler recommendation, wasn't aware of that one. I believe the Pro Audio profile [0] (which I'm using) doesn't resample by default. Using pw-top, I noticed that something was causing xruns [1] (see ERR column) though I was unsure what that was. Since the Pro Audio profile uses the IRQ mechanism, I looked at interrupts [2] but couldn't spot anything unusual. There is however irq/16-mmc0 process which is at times causing significant (>50%) CPU usage, so I think I need to unload the sdcard module and see if that fixes anything. First however I think I'll try a newer kernel (linux-lowlatency-hwe-22.04, which according to apt search is on 6.2.0.1017.17~22.04.14 as opposed to the current 5.15.0-89-lowlatency that ships with Ubuntu 22.04) 0: https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/FAQ#what-is-the-pro-audio-profile https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/FAQ... 1: https://paste.debian.net/1298908/ https://paste.debian.net/1298908/ 2: https://paste.debian.net/1298905/ https://paste.debian.net/1298905/
- justaj 3y ago
- rendaw 3y agoI ran into a bunch of issues with it on a headless userless system. Unfortunately, like pulse, it's deeply integrated with dbus/policykit/xdg stuff. Wireplumber was looking for XDG_HOME_DIR and breaking when it couldn't find one, dbus issues when doing things from root services, Jack clients couldn't connect, etc. I'm prepared to like it better than pulse, and alsa has its warts, but I'm not 100% convinced yet.