|
|
Subscribe / Log in / New account

PipeWire: The Linux audio/video bus

PipeWire: The Linux audio/video bus

Posted Mar 3, 2021 17:43 UTC (Wed) by jsmith45 (guest, #125263)
In reply to: PipeWire: The Linux audio/video bus by clump
Parent article: PipeWire: The Linux audio/video bus

My understanding is that basically all the routing flexibility of JACK is fully present, and works. From what I've read, not only does it work, but the existing tools you use to manage the JACK graph will let you re-configure the audio graph for PulseAudio API applications too, as though they had magically became JACK apps. This is a very different experience from the nearly impossible to set up PulseAudio over JACK, where you could not configure each individual PulseAudio stream.


to post comments

PipeWire: The Linux audio/video bus

Posted Mar 3, 2021 20:22 UTC (Wed) by andresfreund (subscriber, #69562) [Link]

In the bug tracker for pipewire there were people using it for pretty complex jack setups. Seems perf / latency unsurprisingly isn't on par yet, but improving.

PipeWire: The Linux audio/video bus

Posted Mar 3, 2021 22:16 UTC (Wed) by Wol (subscriber, #4433) [Link]

But that's rather irrelevant. As I understood it, the PRIMARY motivation behind Jack was the minimal latency. If you haven't got that, you won't even be considered as a Jack replacement, whatever else you may offer.

Cheers,
Wol

PipeWire: The Linux audio/video bus

Posted Mar 3, 2021 23:24 UTC (Wed) by nyanpasu64 (guest, #135579) [Link] (1 responses)

QjackCtl fails to start on pipewire-jack because qjackctl uses the JACK session API. If you override the .so file (eg. using pipewire-jack-dropin), you get a dynamic linking error when running qjackctl (missing symbol jack_session_commands_free). Fixing this requires rebuilding qjackctl without the deprecated session API (https://github.com/NixOS/nixpkgs/issues/102547#issuecomme...).

Additionally, looking at https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/FAQ (which may or may not be up-to-date):

- "Does Desktop Audio Interfere With Pro-Audio Using PipeWire?" talks as if they haven't picked, implemented, and debugged an approach yet.

> This does not include extra buffering in the resamplers (~50 samples). There is a resampler in each stream and sink/source. There is not yet an option to remove the resampler latency while inactive.
- I hope they remove it before 1.0.

I've experienced audio xruns and high CPU usage (possibly linked to Pipewire) when attempting to use Pipewire's Pulse API on my laptop (Pipewire 0.3 non-Git on Arch Linux, a few weeks ago) (though without a realtime kernel). Maybe my system can't handle the latency I picked, though I forgot what it was. I ended up erasing/resetting my Pipewire config files, when debugging Pipewire causing Minecraft and Telegram Desktop to hang upon startup.

PipeWire: The Linux audio/video bus

Posted Mar 4, 2021 5:47 UTC (Thu) by darwi (subscriber, #131202) [Link]

> QjackCtl fails to start on pipewire-jack because qjackctl uses the JACK session API

No, that's an artifact of NixOS building QjackCtl in an obsolete manner. QjackCtl works out of the box with PipeWire, in both Arch Linux and Fedora (didn't try other distributions).


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds