Ardour is not playing nice with pipewire recently

Hi,
I have been experiencing difficulties running Ardour lately on my Manjaro distro. I have Ardour 7.5.0 and pipewire version 1:0.3.80-1. I am using JACK.
I cannot get Ardour to play anything (the play button does not respond, nor does the space bar shortcut), or arm any track for recording (again, no response to clicking the icon). Looking in Carla, there seem to be two objects related to Ardour: one is labeled “ardour” and includes the usual ports, and one is labeled “Ardour” and only includes two outputs. Switching to ALSA seems to work, but it limits me in some ways. Any idea about how to debug it?

Step one in debugging is to think about any changes you’ve made from when it, presumably, worked the last time.
PW 0.3.80 was released 5 days ago so I’d start by going back to .79 or .77 (.78 is buggy when it comes to JACK) and see if that works better.

Thank you for your reply. I am not looking for a workaround, as I can do this with ALSA. What I am looking for is something that will enable either the Ardour, or the Pipewire developers (or both?) to eradicate the bug. I am not that techy, so I asked for help. Thank you again for trying to help.

Our current policy is to do zero work on Pipewire problems. We will fix issues with the ALSA and JACK backends, but we basically know that these work and if there are problems, it is in our code.

For people use PipeWire, the problem is in PipeWire, and we don’t have the resources (people or time) to put into debugging and fixing PipeWire (unless an identical problem occus when using either ALSA directly, or either of the original JACK implementation).

1 Like

If it is a PW bug then step 1 in debugging it is to verify the bug by reverting to 0.3.79 and making sure it works then.
If that works you file a bug report with Manjaro, since they may have patched PW to make their -1 version.
If it doesn’t work you go back to 0.3.77 and see what happens.

If you’re running programs from your distro you should always file a bug report with them first, since they’re the ones who have compiled and possibly patched the original source.

That’s also why, if you suspect the bug is in Ardour itself and post about it here, the devs, like Paul, often require that you try the version from this site first; to see whether the bug exist in the official binary or just in the distro’s version.

I use Ardour 7.3 on Debian 12 with PipeWire. I found I had to prefix ‘pw-jack’ to the command ‘ardour’ (can test at command line). This is in my customized XFCE4 desktop launcher: /usr/bin/pw-jack /usr/bin/ardour %f

1 Like

This… you could even write a script (or several) if you want to achieve custom samples and bitrates. I have one which I called ‘ardour44k.sh’ which has this:

pw-metadata -n settings 0 clock.force-rate 44100
PIPEWIRE_LATENCY=128/44100 pw-jack ardour
wait
pw-metadata -n settings 0 clock.force-rate 0

On Arch the binary is called ‘ardour7’ instead of just ‘ardour’, so I guess that in Manjaro that could be the same?

Hope that helps,
Wolfgang

1 Like

That is only needed if you have both pipewire-jack and jackd installed on the same system. Most distributions do not install both, so pw-jack should be needed only very rarely.

Nope, not true here:

wjl@handa-6:~$ dpkg -l jack
dpkg-query: no packages found matching jack
wjl@handa-6:~$ dpkg -l jack*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
un  jackd2         <none>       <none>       (no description available)
wjl@handa-6:~$ 

Sure, I can start ardour without pw-jack, but then I have the same problems like the OP, so I can confirm what @abyss wrote earlier… had the same on Arch I think (writing this from Debian, so I can’t check right now)…

Debian 12 uses PW 0.3.65, apparently. That’s 15 releases behind the current one and could be why you need pw-jack to start Ardour.

I’m running git version 0.3.71-112 of PW and Ardour works fine w/o pw-jack here.

1 Like

To use pipewire as JACK server by default (without pw-jack) on Debian, the following configuration needs to be applied: PipeWire - Debian Wiki

But at this point in time, I would highly recommend to rather use jackd2 (or Ardour/ALSA) if you need a reliable system for pro-audio.

2 Likes

Confirmed - just checked my version in Arch, and it is:

[wjl@handa-6-arch ~]$ pacman -Qi pipewire
Name            : pipewire
Version         : 1:0.3.80-1

And as you wrote, pw-jack isn’t needed in the command line, ardour started without it still takes its jack emulation (in this case, 48k which is the default on my system).

Addendum: As said, I have Debian 12 and use prefix ‘pw-jack’. Probably after I follow the link in the comment by Robin and forgot its context and after I posted my previous comment on this thread I went to PipeWire - Debian Wiki and followed its news-to-me instructions for Debian 12. Specifically,

zcat /usr/share/doc/pipewire/README.Debian.gz

The relevant section sayeth:>

Using pipewire as a substitute for JACK

Install the pipewire-jack package.

JACK clients can be configured to output via pipewire instead of JACK.

To enable this:

  • either run JACK clients using the pw-jack(1) wrapper, or copy
    /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf
    into /etc/ld.so.conf.d/ and run ldconfig as root.

I had been and am still using pw-jack on ardour. Last night I also did the latter (I suppose) by
sudo cp -pnvt /etc/ld.so.conf.d/ /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-x86_64-linux-gnu.conf
and running ‘sudo ldconfig’ with no arguments to ldconfig (as a guess). I have not tested ardour without using ‘pw-jack’. I doubt this is the reason I could not build Ardour 7.5, but who knows. I need to get back on track with trying to create an AV creation workflow. If it ain’t broke. I am going to finish the Ardour tutorial over the next few days. It’s the only place to start with Ardour. I am unschooled in DAW. Good luck to all of us who could use it.

Remember, I have no idea what I am doing. I have learned from distro hopping to trust the Debian community. I do not want automatic snappy installs on MY computer like Windows does it from a well-known Debian fork. Neither do I want a rolling distribution of Linux. I am no computer system administrator. If Debian went to pipewire, well, that’s their version of a tamed Gnu/Linux jungle and who am I to argue?

I did play around with a recent version of pipewire, pipewire-0.3.79 (Debian 12 has 0.3.65-3). I did not notice anything getting better. I did it without actually installing it. The instructions were not so clear, but I think I figured out to run systemctl --user of some sort to make the changes effective in the shell or for my desktop session, but my memory is foggy and I am ignorant of the architecture. I can’t just parse more faster. So that’s my approach now. I’m not sure what Linux distro would be better. I’ll take staid and stable. Most of us have adapted to systemd. It’s a parallel processing world. The potential upside of PipeWire is awesome. I’m getting by now. I notice that the volume that comes out of my digital-to-analogue converter through USB-C port to shelf stereo system is definitely lower than it used to be, I think from switching from Debian 11 to Debian 12. I can live with it. Could be a correction for all I know.

1 Like

Hi,
I downgraded the version to 0.3.77 and it did not help Ardour. It did get Audacity to work though…
Oh well, I guess I will wait for the next upgrades in hope that things will settle down.
Thank you for your help.

As said, I tried the PipeWire link configuration with pipewire-jack-x86_64-linux-gnu.conf . It prevented me from being able to control connecting the output of the master bus to input of sound hardware with Ardour, Window → Audio Connections. I switched back to not having that dynamic software link. OBS Studio and Ardour can see and connect to each other with PipeWire without the dynamic link. I don’t know if the link might solve something else that I have yet to discover. I really like using Ardour’s connection management. The GUI layout is clear and easy to use.

Hi, you can run Ardour with ALSA-PIPEWIRE, only you need to so is to modify Ardour’s launcher with that configuration, I shared a copy of that launcher in one of my posts, that solved for me all the problems I had with Ardour and Pipewire, now I can run Ardour with Pipewire flawlessly, even in very low quantum setting without any crackling.

Here is the post:

I’ve been having a somewhat difficult time recently, with pipewire > 0.3.77 (see this issue, or this one). My humble recommendation is for you to stick with 0.3.77, which is in my experience stable and compliant.

Some people have recommended to avoid pipewire completely, and I can see why. Yet, from where I’m standing, nothing compares to the flexibility and ease of use that pipewire offers.

Of course, should I find some iffy behaviour in Ardour, the first thing I would do before even thinking of filing an issue is launching it over a real Jack2 stack (that’s official Ardour policy, and they’re in their right). With that being said, in the current state of pipewire, I would need very good reasons to go back to jack2.

FWIW the first issue was fixed in 0.3.79; though I agree that it is unfortunate that it wasn’t caught before the .78 release.
Since the bug is so obvious it does suggest that their supposed test suites are somewhat lacking.

The second one is probably something strange going on with the reporter’s setup, unless something has been fixed between the 0.3.80 release and the 0.3.80-42 git version I’m using.
I can export to wav just fine using that.

Hi,
My issue was not about exporting to wav. I just could not (and still can’t) activate recording on any channel (the overall recording button can be activated just fine) and I cannot play anything as the play button and/or the keyboard shortcut seem to be ignored/grayed out. I am not very technically capable, so using a git version is a little past my technical envelope. I install either an official version that comes through the distro, or via the AUR. Neither of these have the git version that you are referring to.
I totally understand the developers approach to this. I just wish that things will work out sooner rather than later, as I also find pipewire very flexible.
One thing that still puzzles me is how two instances of Ardour (actually one ardour and one Ardour) appeared in the graph. Wouldn’t that suggest that Ardour has something to do with this mess?