PipeWire 0.3.46
gitlab.freedesktop.org
gitlab.freedesktop.org
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.
Also, while I don’t know the project yet I can see the benefit in building something from the ground-up in a way that embraces multi-process “in/out” pipes. Someone could have dozens of effects all connected to the audio signal, then run that to dozens or hundreds of outputs (streams online, multiple speakers, recording applications, analog mixer inputs...). Traditionally that kind of usage is fragile as memory corruption can happen at any stage since everything is writing/reading the same buffer. If they have a true graph implementation then applications could interact with the graph edges and the overall system would be much more robust.
We should have nuanced interesting advanced tech shared here. Not everything needs to target complete newcomers.
Everything else about it alsa and pulse wise is totally transparent, dont even have to think about it.
That is a great change, had lots of troubles watching Videos - especially with bluetooth + seeking in a Video.
Seems like its already part of upstream archlinux.
I have 4 soundcards present on my system (built-in, external webcam, USB audio interface, USB synthesiser) and Pipewire can handle it all at once.
Bluetooth headphones are also handled well. They connect by default with aptX (A2DP mode) but using KDE tray icon, I can easily change it to full-duplex headset mode with mSBC.
And then I can use (not that I would always want to) any of these devices together (e.g. in a DAW).
As of wireplumber 0.4.8, they will now automatically switch to the headset profile when an application begins recording audio! It's now almost seamless (though I do still need to manually select the audio device every time in Firefox).
My phone does this and I find it incredibly annoying, because the profile that uses a microphone has terrible sound quality, and a constant low-volume background white noise.
Same. I've had a nearly flawless experience so far. I can't praise Wim Taymans and the Pipewire team enough. It's great to see the progress since one of my earliest Linux memories circa 2005 was audio sucking eggs on Ubuntu.
Reaper's also worth a look if you're primarily recording, but it does have some MIDI capabilities.
> So much better than just Pulseaudio or JACK. And at times even better than these two combined.
This is great news. Might they write an init daemon next? Pretty please??Npghnyyl, V _qb_ yvxr flfgrzq.
> Npghnyyl, V _qb_ yvxr flfgrzq.Very impressed!
[1] https://www.amazon.com/Creative-Bluetooth-Transmitter-Indica...
If you really struggle to notice you can observe a little bit latency overhead and lower quality but that's honestly to be expected,but 90% of the times using this features is not intended for an 'audiophile' experience(for which we use the cable anyways).
Until then i have to keep using pulseaudio, which is not terrible for some time now, mainly because it's past the point where everything was buggy.
My setup is fine now (I had some stability issues with the latest kernels w/ Fedora anyways) but i hope there's more adoption for Pipewire (preferably Ubuntu due to the massive user base) to be a serious contender in terms of features (because it is already pretty stable).
This is nice. Playing videos with no headphones / speakers connected would previously just freeze the video player. Even on non-browsers.
PipeWire and fixing the Linux Video Capture stack - https://news.ycombinator.com/item?id=28726125 (128 points/4 months ago/37 comments)
PipeWire: A server for Linux audio and video streams - https://news.ycombinator.com/item?id=28490078 (531 points/5 months ago/172 comments)
PipeWire: The Linux audio/video bus – https://news.ycombinator.com/item?id=26327779 (457 points/11 months ago/201 comments)
Fedora on the PinePhone: Pipewire Calling – https://news.ycombinator.com/item?id=26080207 (139 points/Feb 9, 2021/90 comments)
PipeWire 0.3 – JACK compatibility layer with comparable performance to JACK2 – https://news.ycombinator.com/item?id=22391896 (128 points/Feb 22, 2020/43 comments)
I'm super happy with it in general, but a certain BT headset that worked just fine with PulseAudio just refuses to connect with PipeWire. As with all things BT, debugging is terrible :-(
systemctl --user restart pipewire-media-session.service
Maybe also restart pipewire-pulse.service, with that I can pair and use my WH-1000XM4 just fine using pipewire Debian Sid/Unstable.Probably more/better info is on: https://wiki.archlinux.org/title/PipeWire#Bluetooth_devices
[1] https://www.amazon.com/Creative-Bluetooth-Transmitter-Indica...
My "solution" was basically to drop using pipewire for now.
I couldn't find a way to do this with PulseAudio, instead I have to find the app's devices in pavucontrol/pagraphcontrol and re-route them (but if the app disconnects/reconnects I have to do it again, based on the name which is "Chromium" for most of the apps on my laptop (thanks Electron)).
I keep meaning to spend some more time digging into the configuration and capabilities, but I think that's just a compulsion from decades of daily driving Linux and having virtually nothing "just work" this easily.
The easiest way to try PipeWire is to install Fedora Workstation 35 in Boxes or VirtualBox. Instructions for working from source code are available online, but are only recommended for the hardy. Even other distributions that have PipeWire in their repositories generally have a wiki with distro-specific instructions. Arch Linux, Debian, and Gentoo are among the distros with PipeWire configuration wikis, although you may find they suffer from a lack of current information.
Also https://old.reddit.com/r/linux_gaming/comments/m1t65m/which_...
It seems anything using wayland would need to rely on pipewire for a few features; including sharing your screen. At least that is my understanding.
With multiple cards too! USB webcam, a Jabra USB headset adapter, motherboard sound card, the Acer screen over DisplayPort, and the Schiit USB DAC.
If you want to use pipewire, you're supposed to set sound.enable to false, which will disable pulseaudio. If you leave it enabled, you'll likely get both. Which doesn't necessarily break anything, assuming your devices can handle at least two audio streams.
Or just leave sound.enable as it is, and eventually it'll get repurposed for pipewire.
having to manually tweak the volume for everything is a pain
i know about easyeffects, but that's not what i want and it consumes too much CPU