What is the significance "pipewire "

Hi All

I recently did a new-install with Suse Leap 15.4 ! The os and some of the top user directories are installed on ME.2 type SSD. The response time is fantastic. … and : Absolutely " no " xruns !!!

… and then I stumbled on " Pipewire " ( I guess it is around for quite a while …) what is the significance of pipewire in relation to Ardour ? … and Jack ?

Is there a point in future where one should migrate to pipewire ?

cheers

PipeWire is probably going to replace both pulseaudio and Jack in the near future. It’s already come a long way, but for various reasons some of us still prefer working with PA + Jack. Pipewire seems to be production ready, though.

… are you using pipewire ? if yes, how did you convert/ made it happen ? Where are the pitfalls ?

thanks

I have tested it and it seems to work well. All connected audio interfaces show up everywhere by default and can be routed anywhere. Looks like a step forward. I had some minor issues that could be fixed by changing settings, which at the time I was testing had to be done by manually editing config files.

But because I’m in the middle of a project already started with PA + Jack, I’ll stick to that for now, because I feel more comfortable with the tools I already know.

You say your system is fast and with no xruns. Want to test new things, just make sure to use timeshift or a similar tool so you can revert if the testing is not to your liking.

1 Like

Pipewire aims to replace and supersede the current Linux Desktop sound-systems. It is a drop-in replacement for both JACK and Pulseaudio.

To Ardour it will look like JACK is running and Ardour can directly use it, to other desktop programs (Firefox, Skype, VLC,…) it appears as Pulseaudio server. No application will have to be changed.

Probably, but unless you have a specific need, give it time; especially since you currently have a “fantastic, x-runs free” system.

Pipewire is still notoriously tricky to set up properly for pro-audio (see How does PipeWire perform with Ardour? - #12 by x42), and is still under heavy development (lately more wireplumber than pipewire itself - Ardour 6.9.0 crashes on Ubuntu 22.04 LTS - also search this forum for “pipewire”). On the upside it does already work, and there are many users using and testing it with varying degrees of success.

So unless you are prepared to tweak the system, perhaps compile it from source and help debugging, I’d wait until your GNU/Linux distribtion adopts pipewire as default.

Also, if you have to rely on the system (live on stage performances, or commercial recording/mixing studio), give it a few more years to mature.

2 Likes

Thanks for the comments. As both of you indicated , pipewire seam to be not quite there yet.
However I have a 2nd almost identical machine …maybe I will give it a go …
thanks

Although it is worth noting that the JACK implementation is optional. On my system I have Pipewire providing ALSA and Pulse emulation for desktop apps, but I have jackd 1.9.20 I run when I want to use JACK connections.
When I want to use Ardour without JACK, the ALSA backend of Ardour will send a request to Pipewire and take control of the hardware audio interface.

1 Like

I think it will be good when its finished. Until then, my experience is that Pipewire is not for the faint hearted (or productive). Perhaps unfortunately it has been adopted into the mainstream by many Linux audio evangelists, and this can be discouraging for new users who just want a working system, and for whom a stock Ubuntu LTS will likely provide performance at least equivalent to, or better than other PC operating systems.
All the audio professionals I have worked with value reliability over just about anything else and are often prepared to trade some level of cutting-edge system performance for that stability. I don’t think Pipewire is quite there yet, and it can be quite difficult to back out of the changes once you have installed it (or if an update breaks it)

2 Likes

I’ve been running pipewire for… quite a long time and its great to see where it is now. I dont think I could ever go back to jack or pulse! in some previous versions I had some minor issues, like inplace upgrading version while it was running, building custom versions and having the system version installed etc, so things of my own doing.

my biggest issue was locking its sample rate down, now its cool, and I run it in conjunction with QPWGraph for mapping.

heck I use Ardour + pipewire/qpwgraph to map all my audio interfaces into OBS for streaming, using the Ardour ducker/sidechain to duck my game audio when I speak.

2 Likes

Luckily it is trivial to just run it from the source-tree without installation. Just make run, set some env variables and then use pw-jack pw-cli etc.

If you want to have a go:

#!/bin/bash
PW_SRC=$HOME/src/pipewire/
export SPA_PLUGIN_DIR=$PW_SRC/builddir/spa/plugins
export SPA_DATA_DIR=$PW_SRC/spa/plugins
export PIPEWIRE_MODULE_DIR=$PW_SRC/builddir/src/modules
export PIPEWIRE_CONFIG_DIR=$PW_SRC/builddir/src/daemon
export ACP_PATHS_DIR=$PW_SRC/spa/plugins/alsa/mixer/paths
export ACP_PROFILES_DIR=$PW_SRC/spa/plugins/alsa/mixer/profile-sets
export LD_LIBRARY_PATH=$PW_SRC/builddir/pipewire-jack/src/ 
export PATH=$PW_SRC/builddir/pipewire-jack/src/:$PW_SRC/builddir/src/tools:$PATH
exec "$@"

On the downside, it grew rather complicated and perhaps even too ambitious, trying to cater for conflicting use-cases. At the moment I do not see it replacing jackd or Ardour’s ALSA backend for pro-audio. Then again, for a casual bedroom studio and users with USB-mics or multiple prosumer soundcards it is already quite functional.

I am using Pipewire. Switch to it is quite easy: just install it and that it. It takes in charge Pulseaudio and Jack protocols, as well as Alsa.

2 Likes

What Linux flavour are you running ? It is my understanding that pipewire is a Redhat development.

I’m running xubuntu 22.04, lowlatency kernel. pipewire from the PPA, and I build qpwgraph from source

Putting all else aside look at the release numbers… in usual software version numbering anything below 1.0 denotes a beta status and above 1.0 indicates a stable release, of course not every project adheres to this and of course many projects are quite robust in their beta stages and many mature projects still lack features or contain bugs so this is a general observation only…

As of this posting;
JACK (2) release 1.9.21
PulseAudio Release 16.1
PipeWire Release 0.3.56

PipeWire is in beta, tremendous potential, existing functionality in common usage but still under active beta development… People doing professional work in any other paradigm would stick with stable alternatives and relegate up and coming technologies to a long period of testing.

Mainstream Long Term ‘Stable’ Linux Distributions (not cutting edge or rolling release projects) are on very dubious ground supplying such early beta components as part of their foundation especially something as vital as the Audio subsystem IMHO… I’ll look forward to PipeWire once it hits a 1.0 milestone until then it will not be seen either in my Studio or my Studio OS… The introduction of a promising new sound server does not instantly make existing proven servers total crap but this seems to be a guiding principle that many Users (and sadly) high profile Developers embrace…

1 Like

Jack 1 release 0.126. How old is jack 1 now, 15+ years? I would not say that Free Software follows “usual” version numbering necessarily.

Pipewire is great as a Pulse replacement. At this point I would no go back to PulseAudio for desktop audio.
If you are doing production work then just start up jackd, which is basically the same situation we had with PulseAudio for 15+ years, separate desktop audio and production audio servers.

1 Like

Fedora36 w/latest pipewire is working great for me. Lost some control over starting my interface and such but. With the only tweak from default being …
#default.clock.quantum = 1024
default.clock.quantum = 512
in my personal ~/.config/pipewire/pipewire…conf I get a quite good 10.7 ms. Using internal and outbourd instruments and effects is seamless and I detect no latency. My config is not simply yet it’s quite east to start-up and connect my Basic Studio. I usually run Ardour 6.9 as a central routing engine and record through Mixbus32C. Sometimes I bring up the latest Ardour 7 in seperate Sessions to test and see how things are progressing…

My setup permits sending MIDI and Audio back and forth with Win/11 VST’s just like any outboard gear. Everything else just works… It’s so cool to watch the camera click connection pop up in the connection graph when you snap a screenshot.

This 24hr, Xrun free screenshot, had at least 6 hours of practice, playing along with tracks from vlc and You-Tube (firefox or chromium, no google). Mixxx running constantly, streaming to other devices. Just a wonderful, smooth running setup…

dh

2 Likes

To clarify, I haven’t said PipeWire doesn’t work or can’t be tweaked or configured to improve it’s performance, I made quite clear that it does indeed work, nor did I say that all software projects especially open-source ones religiously follow the alpha-beta-stable numbering scheme, they obviously don’t. My point has never been that an end-User can’t or shouldn’t use it, of course they can. If you randomly selected 10 JACK Users you would would see a huge variation from system to system with what latency can be be achieved and PipeWire of course will be the same… some will think it’s the second coming and some will totally bork a working system.

From a Distributor viewpoint and also as someone who is trying to present a product that is stable with proven technologies to do work that some may consider as ‘mission critical’ for paying customers the overly rapid adoption of PipeWire by major Distribution players as not as merely another option but as the default Audio subsystem certainly should raise some eyebrows… I’m looking forward to what they come up with and it would be a dream come true to NOT have to present an Audio Distribution with a completely unique and different Audio system to simply do Pro Audio work… I am not against this in any way other than being cautious and patient for it to mature properly…

2 Likes

From my perspective of an amateur ardour user, I’m pretty issue free with pipewire. The documention is clear to a point where I can change pipewire settings at will.

I gave it a try and stuck with with because it worked. However, I’m aware that a more professional user might come across more problem than I do.

I think pipewire is the future, I’m all for progress, but that example exactly illustrates the issue. You managed to get it working, with some missing functionality, but until you don’t have to do that (like you don’t on e.g. macOS etc) its still going to be an issue for many users who just want things to literally plug and play. They absolutely won’t get to find out how good things could be, because for some reason as soon as something works, its deemed necessary to rip it out and replace it with something ‘bettter’ that’s still in development and most people don’t have the time, inclination or experience to debug it.

1 Like

Some of the most important facilities that Pipewire (like PulseAudio and JACK before it) do not exist on macOS without additional 3rd party software. So this is not necessarily a fair comparison.

This is also not a fair assessment of the history or motivation for Pipewire.

2 Likes