Pipewire for pro audio
Moderators: MattKingUSA, khz
-
- Established Member
- Posts: 2325
- Joined: Sat Jun 21, 2014 8:37 pm
- Been thanked: 256 times
Re: Pipewire for pro audio
The context of my experiments was using AVLinux AHS, using the system-D version (choice of which version to use is presented at each boot time)
with the repositories for synaptic changed to newer debian 'bookworm' testing. This increases the chances of breaking the system
if you start upgrading core libs, apps, and a new range of dependencies, so I recommend using a secondary install if possible,
and just adding what is needed for pipewire, and when successfull, add in new audio instruments and plugins in small doses that won't
upset the apple cart. I start 'wireplumber' in a terminal, next the desired audio apps, and then a gui to make connections, qpwgraph in my case.
Another option on a secondary install would be installing the newest Fedora linux, as pipewire and surrounding software should already be
in place, or easily installable from a well recognized base of dependencies.
Good luck! beta-testing can be good clean fun.
with the repositories for synaptic changed to newer debian 'bookworm' testing. This increases the chances of breaking the system
if you start upgrading core libs, apps, and a new range of dependencies, so I recommend using a secondary install if possible,
and just adding what is needed for pipewire, and when successfull, add in new audio instruments and plugins in small doses that won't
upset the apple cart. I start 'wireplumber' in a terminal, next the desired audio apps, and then a gui to make connections, qpwgraph in my case.
Another option on a secondary install would be installing the newest Fedora linux, as pipewire and surrounding software should already be
in place, or easily installable from a well recognized base of dependencies.
Good luck! beta-testing can be good clean fun.
- sysrqer
- Established Member
- Posts: 2523
- Joined: Thu Nov 14, 2013 11:47 pm
- Has thanked: 320 times
- Been thanked: 151 times
- Contact:
Re: Pipewire for pro audio
This link tells you what to install, it is specifically for debian/ubuntu based systems - https://pipewire-debian.github.io/pipewire-debian. I highly advise to add the repo and update it because pipewire has seen a lot of development recently.
Follow the other steps first but this is the command when you are ready:
Then you will be able to test it with . I don't remember if the ld stuff is needed but I did do that as well when I set it up on ubuntu about 6 months ago. I think this makes the system use pw-jack when a call for jack is received.
Follow the other steps first but this is the command when you are ready:
Code: Select all
sudo apt install gstreamer1.0-pipewire libpipewire-0.3-{0,dev,modules} libspa-0.2-{bluetooth,dev,jack,modules} pipewire{,-{audio-client-libraries,pulse,bin,locales,tests}}
Code: Select all
pw-jack yoshimi
- Linuxmusician01
- Established Member
- Posts: 1542
- Joined: Mon Feb 23, 2015 2:38 pm
- Location: Holland
- Has thanked: 772 times
- Been thanked: 142 times
Re: Pipewire for pro audio
First of all, thanks to @thebutant for asking the same question that I want to ask.
I guess PipeWire ain't ready yet to completely replace Jack and all its config utilities. And I'm afraid that applications will have to be rewritten to directly (native) use PW (next to Jack Audio?). I mean, configuring your DAW for Jack when you're using PW to "emulate" Jack is too complicated for the Linux beginner. You have to know what ALSA is, why there was Jack on top of ALSA and then you have to know why and what about PW and how to use it. That's gonna loose us Linux Musicians. Using PW to "act" as Jack is an interim solution until DAW's and the likes become "PW aware".
P.S. Reaper does not work with ALSA Midi seq. It uses Jack Midi (yep: there is such a thing). Does Pipewire support Jack Midi?
Thanks for the tip! As it turns out, qpwgraph is made by Rui Nuno Capela, the developer of Qjackctl and Qtractor (@rncbc on this forum). So we're in good hands there. However, I guess I'm one of the few that likes the old school Connections window with the columns instead of the modern Graph to connect stuff.
I consider that to be a SnAFU (dependency hell is something from the early 200's) and it was to be expected. But, like @sysrqer said in his reply: it'll be probably be solved in future/updated PW versions. I personally for now won't bother w/ PW until I update my Linux distro when it's no longer supported (Ubuntu 20.04 in April 2025).thebutant wrote: ↑Wed Apr 20, 2022 6:38 pm [...] On a fresh install with no Jack, I installed yoshimi.
Yoshimi then installed Jack (jackd+jackd2 etc) as a dependency. And when opening Yoshimi, it starts Jack.
Well, that's not really so bad. Because I can then also launch Qtractor, Carla, Reaper and Mixbus 32C (these are the ones I've tried now).
But they all run through Jack. They don't show up in pw-top, and launching one of them demands starting up Jack. When doing so, my audio interface disappears from qpwgraph. It seem like Jack takes over.
[...]
I guess PipeWire ain't ready yet to completely replace Jack and all its config utilities. And I'm afraid that applications will have to be rewritten to directly (native) use PW (next to Jack Audio?). I mean, configuring your DAW for Jack when you're using PW to "emulate" Jack is too complicated for the Linux beginner. You have to know what ALSA is, why there was Jack on top of ALSA and then you have to know why and what about PW and how to use it. That's gonna loose us Linux Musicians. Using PW to "act" as Jack is an interim solution until DAW's and the likes become "PW aware".
P.S. Reaper does not work with ALSA Midi seq. It uses Jack Midi (yep: there is such a thing). Does Pipewire support Jack Midi?
- sysrqer
- Established Member
- Posts: 2523
- Joined: Thu Nov 14, 2013 11:47 pm
- Has thanked: 320 times
- Been thanked: 151 times
- Contact:
Re: Pipewire for pro audio
Nothing needs to be rewritten to be able to use pipewire. If you are using jack in the preferences of your daw then you can continue to use it in the same way, you may just have to reselect the jack option as the ports are named slightly differently. From the program's/daw's perspective it is still using jack and everything should work the same. So it's not really any more complicated at all. The installation and setup on Arch/Manjaro/Fedora is dead easy and has reasonable defaults so it is actually less to do than setting up jack.
The reason for the apparent many approaches to get it working in debian/ubuntu is due to a few reasons but that will be streamlined when things start being pushed downstream.
Midi works fine in reaper, it seems there is a bridge (I don't think I did anything to set this up and it just worked automatically).
The reason for the apparent many approaches to get it working in debian/ubuntu is due to a few reasons but that will be streamlined when things start being pushed downstream.
Midi works fine in reaper, it seems there is a bridge (I don't think I did anything to set this up and it just worked automatically).
- Linuxmusician01
- Established Member
- Posts: 1542
- Joined: Mon Feb 23, 2015 2:38 pm
- Location: Holland
- Has thanked: 772 times
- Been thanked: 142 times
Re: Pipewire for pro audio
Thank you for the info on Reaper. Looks to me like Pipewire also "emulates" or "bridges" (for lack of a better term) Jack Midi.
-
- Established Member
- Posts: 169
- Joined: Sun Nov 18, 2012 12:59 pm
- Has thanked: 50 times
- Been thanked: 8 times
Re: Pipewire for pro audio
Thank you so much for pointing in this direction, glowrak guy!glowrak guy wrote: ↑Thu Apr 21, 2022 1:59 am The following is from the wiki link in my post above, and I followed the steps:
-------------------------------------------------
"For JACK
JACK clients can be configured to output via PipeWire instead of JACK.
Install the pipewire-audio-client-libraries and libspa-0.2-jack packages, if not already installed.
Create this empty file:
# touch /etc/pipewire/media-session.d/with-jack
Either run JACK clients using the pw-jack wrapper, or copy:
# cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/
And run:
# ldconfig
This will replace the JACK server libraries with PipeWire's replacements at application runtime, by pointing the dynamic linker at the /usr/lib/x86_64-linux-gnu/pipewire-0.3/jack/ folder. "
--------------------------------------
I did these 4 rather simple steps in Pop!_OS 22.04, and within a minute I had a functional, smooth running Jack through Pipewire setup.
It's such a relief!
And wow, how good it works! Pipewire makes my old Pulseaudio+Jack habit seem like a workaround.
I have to say the method for installing it/making it work isn't at all intuitive for me, for instance I don't really understand what my new empty file "with-jack" does.
But it's still early on, I guess a lot of this will improve.
Thanks for for patient help!
-
- Established Member
- Posts: 169
- Joined: Sun Nov 18, 2012 12:59 pm
- Has thanked: 50 times
- Been thanked: 8 times
Re: Pipewire for pro audio
Pop!_OS announced yesterday that their next update (which has maybe already come, otherwise it'll be here really soon) includes Jack through Pipewire.
So for anyone who wants to try out how Jack works through Pipewire, this is now part of the default Pop!_OS 22.04.
So for anyone who wants to try out how Jack works through Pipewire, this is now part of the default Pop!_OS 22.04.
-
- Established Member
- Posts: 27
- Joined: Sun May 09, 2021 11:44 am
- Has thanked: 7 times
- Been thanked: 3 times
Re: Pipewire for pro audio
I must admit I feel a little lost with this whole pipewire thing. I'm working wit Pop!_OS, so my time has come I have to face the "enemy".
I find the transition to pipewire not really well documented for me as Pulse/Jack/ALSA user with a perfect running set-up. Also I'm not a computerscientist, my worldly knowledge is mostly confined to the 12 musical notes.
I really wish someone could make a good (video) explaining how to do the same thing as I do now with Pulse/Jack/ALSA. Low latency for real time recording for instance, how do I set up real time permission if necessary, do I need a real time kernel?
I was really used to (Ubuntu) studio controls for setting up things like bitrate (I sometimes record @ 192kHz). How do I do this with pipewire.
For such a large change in how audio is handled I really wished for some beter documentation, or beter said documentation writen for musicians and not computerscientists.
I find the transition to pipewire not really well documented for me as Pulse/Jack/ALSA user with a perfect running set-up. Also I'm not a computerscientist, my worldly knowledge is mostly confined to the 12 musical notes.
I really wish someone could make a good (video) explaining how to do the same thing as I do now with Pulse/Jack/ALSA. Low latency for real time recording for instance, how do I set up real time permission if necessary, do I need a real time kernel?
I was really used to (Ubuntu) studio controls for setting up things like bitrate (I sometimes record @ 192kHz). How do I do this with pipewire.
For such a large change in how audio is handled I really wished for some beter documentation, or beter said documentation writen for musicians and not computerscientists.
- bluzee
- Established Member
- Posts: 339
- Joined: Mon Nov 30, 2020 11:43 pm
- Has thanked: 18 times
- Been thanked: 88 times
Re: Pipewire for pro audio
I think you'll be able to configure these directly from the application at least eventually. To me this makes it sound like everything will be getting resampled.
If Pipewire shows up in the next upgrade I guess I'll take a look at it. Personally I see no reason to switch from Jack.
If Pipewire shows up in the next upgrade I guess I'll take a look at it. Personally I see no reason to switch from Jack.
-
- Posts: 1
- Joined: Thu May 19, 2022 5:20 pm
- Location: Argentina
- Contact:
Re: Pipewire for pro audio
I just arrived to Pop!_Os 22.04 after having a failed upgrade to my Ubuntu Studio. Pipewire is awesome! and seems to eat less resources. I didn't need any special treatment for those apps that use Alsa or Jack. PW recognized the connections anyway and all worked with no additional setup. The only thing I had to tweak manualy was the PW buffer settings. You can launch an app with a custom set of options, as mentioned up, but also set a global parameter. I used this article which is pretty clear to read. https://gitlab.freedesktop.org/pipewire ... g-PipeWire
I've been able to record and play Reaper projects with no other settings, not even a lowlatency or RT kernel!
I've been able to record and play Reaper projects with no other settings, not even a lowlatency or RT kernel!
-
- Established Member
- Posts: 169
- Joined: Sun Nov 18, 2012 12:59 pm
- Has thanked: 50 times
- Been thanked: 8 times
Re: Pipewire for pro audio
I've also made the transition: My production setup now runs Pop!_OS 22.04 with Pipewire (as by default).
And wow, what a bumpy ride it's been so far.
Most of all I really like Pipewire handling everything. It's efficient, logical, smotth.
But to be honest, I mostly love how it takes care of Pulseaudio stuff.
If I didn't work with audio production, I'd just love every part of it.
Yet, when it comes to my work applications, which are Jack based, I just cannot make it as stable as my old Jack setup was.
For years I've installed a distro, added KXStudio repos, installed kxstudio-default-settings, pulseaudio-module-jack and a few kxstudio packages.
Jack and stuff. And Mixbus 32C etc.
My setup was good to go, working as I wanted.
With Pipewire, my first experience of editing in Mixbus 32C was so full of weird noises, bad sound, xruns and hickups that I was frightened.
I went through Pipewire config files, tried different settings. Got things a bit better.
Eventually I ran rtcqs, and did just about everything suggested there.
Now my setup is strange.
Yesterday I did a recording with u-he's cpu-demanding Repro-5 at a latency lower than I've ever recorded anything before.
Impressingly low, I thought.
Yet, when editing a simple voice recording later on, with a buffer size of 1024, I suddenly got a small row of xruns. I have no idea where they came from. I can't recall this happening with Jack like. . . ever. With Pipewire they come to me quite frequently, doesn't seem to be latency related at all.
And today, I can only edit in Mixbus 32C for about 40 seconds at a time, before both Mixbus, qpwgraph and any other open audio application freezes and I have to kill them. What a terrible day at work.
So to sum it up:
Pipewire is impressive. Especially at handling the not so demanding sound, what pulseaudio would do for me earlier.
And when it comes to handling the pro audio stuff, I haven't so far been able to make it as stable as Jack.
I'd love to hear suggestions about why my Pipewire setup is so unstable and unpredictable. All I want is a stable setup for audio work.
And wow, what a bumpy ride it's been so far.
Most of all I really like Pipewire handling everything. It's efficient, logical, smotth.
But to be honest, I mostly love how it takes care of Pulseaudio stuff.
If I didn't work with audio production, I'd just love every part of it.
Yet, when it comes to my work applications, which are Jack based, I just cannot make it as stable as my old Jack setup was.
For years I've installed a distro, added KXStudio repos, installed kxstudio-default-settings, pulseaudio-module-jack and a few kxstudio packages.
Jack and stuff. And Mixbus 32C etc.
My setup was good to go, working as I wanted.
With Pipewire, my first experience of editing in Mixbus 32C was so full of weird noises, bad sound, xruns and hickups that I was frightened.
I went through Pipewire config files, tried different settings. Got things a bit better.
Eventually I ran rtcqs, and did just about everything suggested there.
Now my setup is strange.
Yesterday I did a recording with u-he's cpu-demanding Repro-5 at a latency lower than I've ever recorded anything before.
Impressingly low, I thought.
Yet, when editing a simple voice recording later on, with a buffer size of 1024, I suddenly got a small row of xruns. I have no idea where they came from. I can't recall this happening with Jack like. . . ever. With Pipewire they come to me quite frequently, doesn't seem to be latency related at all.
And today, I can only edit in Mixbus 32C for about 40 seconds at a time, before both Mixbus, qpwgraph and any other open audio application freezes and I have to kill them. What a terrible day at work.
So to sum it up:
Pipewire is impressive. Especially at handling the not so demanding sound, what pulseaudio would do for me earlier.
And when it comes to handling the pro audio stuff, I haven't so far been able to make it as stable as Jack.
I'd love to hear suggestions about why my Pipewire setup is so unstable and unpredictable. All I want is a stable setup for audio work.
- Linuxmusician01
- Established Member
- Posts: 1542
- Joined: Mon Feb 23, 2015 2:38 pm
- Location: Holland
- Has thanked: 772 times
- Been thanked: 142 times
Re: Pipewire for pro audio
@thedebutant: can't one use Jack next to Pipewire? Just like with PulseAudio?
- sysrqer
- Established Member
- Posts: 2523
- Joined: Thu Nov 14, 2013 11:47 pm
- Has thanked: 320 times
- Been thanked: 151 times
- Contact:
Re: Pipewire for pro audio
@thedebutant have you changed/made any settings for pipewire? I think you might need to lock the buffer size - https://gitlab.freedesktop.org/pipewire ... uffer-size
There's an option in the confs to set this all the time.
There's an option in the confs to set this all the time.
Re: Pipewire for pro audio
That's a monumental mistake. (And jack midi is just utter shite that serves only to make linux harder to use).Linuxmusician01 wrote: Reaper does not work with ALSA Midi seq. It uses Jack Midi
Someone should tell the reaper devs that jack midi is not the standard API for midi on linux, and no properly written app should use it.
Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.
-
- Established Member
- Posts: 169
- Joined: Sun Nov 18, 2012 12:59 pm
- Has thanked: 50 times
- Been thanked: 8 times
Re: Pipewire for pro audio
No, I haven't tried locking the buffer size. Thanks for this tip!sysrqer wrote: ↑Thu May 26, 2022 3:37 pm @thedebutant have you changed/made any settings for pipewire? I think you might need to lock the buffer size - https://gitlab.freedesktop.org/pipewire ... uffer-size
There's an option in the confs to set this all the time.
I did however just now try editing with Integrated graphics (instead of Nvidia hybrid graphics, which I usually use), and this seems to have a great impact.
I can of course be proven wrong any moment, but I haven't had such a stable editing session ever before using Pipewire.
I'll definitely try locking the buffersize aswell. As my next step in trying to see what makes a difference.