Cable looks really good but the very last line of the readme put me off a bit. At least the dev is honest about it.
I don’t disagree and it also made me a bit hesitant, after trying it over a few iterations and the fact that it fills a big gap in PipeWire setting UIs and bundles in so many otherwise obscure PW commands and parameters kind of won me over. Each to their own about their comfort level with AI derived code I guess. It’s a nuanced decision for sure.
Thanks folks for the tips, I’ll look into these, but first I think I should attend to what Paul says. The history here is that until now I’ve used ALSA and have little experience with jack. Pipewire seems the modern “architecture” plus I can listen to other things whilst Ardour is running, which is really helpful. Also I think Copilot has misled me a little! So could you give me a few pointers pls Paul about how I should be setting up.
I just tried it and can see that with jack stopped in qjackctl, I can nevertheless record and playback via pw-jack.
If I simply do “Ardour8” in Terminal then the only mention of pipewire is if I choose “JACK/Pipewire” for the audio system, but that sounds like “pw-jack”.
pw-jack is an application which changes the library search path for cases where you have both jackd (traditional or legacy JACK server) and pipewire-jack (JACK server module for pipewire) installed.
If you have pipewire and pipewire-jack installed properly and jackd is not installed then you do not need pw-jack.
If you start Ardour normally (i.e. without using pw-jack) are you able to connect to the pipewire-jack server? Actually if pipewire-jack is running then Ardour will connect automatically at startup. First step is make sure you actually have pipewire-jack installed.
I only just discovered Cable last week, and honestly I find it rather impressive, whether written with AI or not. It’s python for gosh sakes! I was considering writing a PyQt UI for PipeWire until I found this and it pretty much covers all the bases I need. But, there is certainly still room for improvement. One huge bug (IMO), you cannot CTRL+C to exit it. It hangs the shell, even when closing the program. You have to then find the PID and kill it.
Chris, thanks again. I’ve been doing some more digging and have uninstalled some of the packages I installed a few days ago. This is how using Ardour appears for me - but please do put me straight if I’ve misunderstood.
-
Paul is advising me against pipewire-jack, and here - Best configuration for Ubuntu 24.04 - he adds to your post suggesting pipewire 1.2 is a minimum, whereas my system says
pipewire is already the newest version (1.0.5-1ubuntu3.1)
I’m just a basic Ardour user but I’d like the best sound / reliability / user experience. -
I could try Jack but without the hassle of bridging software, I won’t be able to hear VLC, Firefox etc whilst Ardour is launched. And Jack seems more complicated than just ALSA.
-
ALSA means no VLC/Firefox but has been fine for me previously, and you say it’s the recommended back end in that post.
So I think I’ll stick with ALSA for the time being. Am I missing anything important here?!
I’ve sudo apt purged pipewire-jack, pipewire-audio-client-libraries, pulseaudio-utils, jackd2, qjackctl, jackd1, jackd1-firewire. jackd is not installed. I’ve done an autoremove. Ardour wasn’t working well after all this so I re-installed 8.12 (official version) and that seems to have sorted it out.
I’m left with a glitch if you have any ideas… after an Ardour session, the output sound device is set to the in-built line out rather than the 2i4, which is what it was prior to the Ardour session. So it’s a nuisance to have to go into Settings each time and fix it.
No, no no. I advised against using pw-jack.
And yes, Pipewire 1.0.X will be unsatisfactory for your purposes.
What is the difference between the two pls?!
pipewire-jack is a Pipewire module that provides full support for the JACK API.
pw-jack is (as Chris explained) a utility program that alters where your system will look for the JACK libraries when starting up an application (so that it finds the Pipewire ones instead of the ones associated with a different implementation of JACK).
Maximum utility is obtained by having a system where the linker is already configured to use the Pipewire versions of the JACK libraries by default. This is generally done via /etc/ld.so.conf or /etc/ld.so.conf.d/ but it is also really the job of the pipewire-jack package on your distribution, not a task for you.
I was unable to use Pipewire satisfactorily until I switched to v1.2 or later. Many distributions got a bit ahead of things here …
You probably screwed up your desktop audio configuration pretty badly.
You seem to have a misunderstanding of a lot of the terms.
This: pipewire-jack
is the pipewire module which provides the JACK API support for the pipewire server. Pipewire as a base package has a native API which is really only used by configuration tools. Existing applications will use one of the compatibility API which pipewire implements, such as JACK using the pipewire-jack module for audio production programs.
This: pulseaudio-utils
is the package which provides pactl, which is the desktop program usually used for things like selecting and configuring which audio device to use for default desktop audio. If you only have one device you might still be OK, but if you have (or ever in the future have) multiple audio devices that you want to select between you will need the programs in pulseaudio-utils.
My distribution does not have pipewire-audio-client-libraries as a separate package, so I am not sure what removing that may have broken.
The fact that your distribution let you install jackd2 and jackd1 at the same time is a bit surprising, those should usually be configured to be mutually exclusive.
I think that means newest version in the stable repositories for Ubuntu 24.04. If you are not going to update to Ubuntu 25.10 you will need to find a repository to provide a more recent version for Ubuntu 24.04 if you want to use JACK routing.
Just the ability to route audio between multiple applications. The two main places that gets requested. The first case is someone wants to listen to YouTube, or some other playback application either at the same time, or quickly switch back and forth between e.g. an instruction video and working on Ardour to try out what was just learned from the video.
The second case is using an audio production application which is not available as a plugin, such as Hydrogen drum programming software, and routing the output of that software into Ardour.
If you were in the second case you would know, and would have to get JACK routing working. Since you are using ALSA backend acceptably that implies that you would just use JACK routing for convenience, so that is all you lose, the ability to quickly listen to something playing back in your browser, VLC, etc. while you have Ardour running.
I would start by reinstalling these that you removed:
pipewire-audio-client-libraries, pulseaudio-utils
Those are unrelated to JACK implementation and provide useful utility functions for desktop audio.
I would advise against dabbling with your audio system in this way, if you are looking for a stable and functional system.
Unfortunately, there’s a lot of bad information on the Internet about this subject. Not because the information was necessarily always bad, but because there’s so many differences between different distros, and a lot of the original advice given has aged like milk as things changed.
I would suggest you lean on the work of others. in my case, running Kubuntu 24.04, I found a PPA specifically designed to install newer versions of Pipewire onto different versions of Ubuntu. I have had no major problems since installing this:
But, I would suggest, if you are going to mess with fundamental stuff like the audio subsystem (even with good PPAs like this ones I linked above), make sure you have an easy and reliable way to roll back any changes (Timeshift is a good option).
Cheers,
Keith
pipewire-audio-client-libraries is just a transitional metapackage which provides pipewire-alsa and pipewire-jack. It doesn’t need to be installed, and isn’t in my Debian Trixie install. Shouldn’t be needed in *buntu either if those 2 packages are installed.
Yes indeed I don’t have a great understanding of this stuff, I’d say all these bits of architecture are quite complex. I use Ardour to get more out of music, I have little interest in linux and the various software components except to make Ardour work. I think people who know a lot about a subject often underestimate how much they do know, and how it can be difficult for others to grasp.
I installed things that Copilot suggested. Re. pipewire-audio-client-libraries and pulseaudio-utils, these installed without issues so I assume they were previously absent, and in fact I installed the latter because pactl didn’t work. But I will re-install.
That’s interesting about jackd1 and 2. I was wondering why, when I uninstalled jackd2, apt installed jackd1, jackd1-firewire and libjack0.
Keith, thanks for the PPA tip. I probably won’t try it, a PPA is further complexity best avoided in my eyes!
Thanks, only just saw that.
Going back to the OP… If you’re using Ubuntu isn’t there some kind of Ubuntu Studio overlay or Audio Utilities you could install to make this work better instead of all this thrashing in the dark…? The butchery of how (some) mainstream Distros handle PipeWire is kinda unbelievable… ![]()
It’s literally a one-liner ldconfig command to make PipeWire JACK work invisibly like JACK1/2
That is your mistake. Never, and I mean NEVER trust any of these current AI tools.
They will deceive you, and gaslight you, and get you in all sorts of trouble, especially when dealing with something like Linux where users have a tremendous amount of power to change things (which also means tremendous power to mess things up)
If you have some knowledge of the subject, AI tools can be useful. But only if you can cajole them into giving you sensible answers, which means having enough knowledge to know when they are misleading you.
But if you don’t have that knowledge, using AI is a sure recipe for disaster.
It is, (or should be) far easier than messing around with installing individual packages, which appears to be what you were doing. Although it seems you were doing so by blindly following instructions from an AI.
Adding a PPA is really just adding a new software source to your software manager. The instructions are on the page I linked, 2 commands:
Cheers,
Keith
I thought that pipewire was invented to make things easier and ‘just work’ on linux.
When i read all this i think pipewire is a big failure and i will stick with ALSA…zero problems, just some inconveniences.
Then you clearly haven’t read Paul’s comments, for instance.
Pipewire works really well for most people. The main issue is mostly that people sometimes don’t know how to use it properly and that the distros may have fairly old versions.
If ALSA works for you, despite its inconveniences, it’s a good choice as well.
What kind of comment is this? Be serious! There’s nothing that “just works” if you don’t know how to make it work! Even using a coffee maker requires some level of skills…
Please note that I’m having a lot of trouble setting up and using Pipewire, like I said on my last post here on the forum, so I’m not on any side of a holy war about it. PW is probably a good project but in my opinion is not mature enough to be used straight away. I clearly remember when ALSA didn’t just work at all, back the early 2000’s… Now, after decades, it is stable enough to say: it just works.
Then you should look at a specialised distro like AV Linux, Ubuntu Studio etc. where these things are already set up.
Debian made a decision to set up pipewire so you need to type this prefix to launch jack apps through it. It then filters down through the distros based on it and derivatives. Others such as Fedora and Opensuse don’t have this quirk. So, as mentioned, it depends how the distro is set up to how many problems there are.
