JACK buffer size is not remembered when Ardour closed

Hi, I am using Ardour 7.3.0 on Ubuntu (22.04) with Pipewire (0.3.66).

Every time I start Ardour, the JACK audio backend’s buffer size is reset to some automatically determined value (I presume it might be the current setting from pipewire?) , rather than using the value I set manually the last time I ran Ardour.

I would expect that the value I set the last time would be remebered and set again the next time I run Ardour, but maybe the way it works now has some reasons I don’t see. Could you please clarify this?

Many Thanks

When using pipewire, Ardour sees PipeWire as if it was jack. Ardour can only set the the buffer size if it starts jackd. it will rather use whatever is already set if jackd is already running (or pipewire is already running). It is not possible to start jackd while pipewire is being used as jack because the the pointer to libjack is redirected to the pipewire version of that lib and starting jakcd via either jackd or jack_control (for jackdbus) will not work (I’ve tried). In the same way someone using qjackctl sets the desired jackd parameters before starting jack clients like Ardour. With pipewire, the same thing has to be done. However, because pipewire starts during session start, pipewire’s configuration file need to be set ahead of time for the parameters you want.

If you want Ardour to set latency, sample rate, etc. You would want to use Ardour with it’s audio using ALSA directly. Ardour will then take the requested device away from pipewire and connect to it directly. This does mean that Ardour blocks other applications from using that device while it is running. Those applications (like your browser for example) would have to instead either wait for Ardour to finish or use another audio device on your machine.

1 Like

Len, thanks for your reply!

But even with pipewire, I can set the buffer size in Ardour’s “Sound/MIDI Setup” dialogue and it seems to be honoured, at least for the duration of the current session. So I thought it should be possible to remember this setting per session and set it automatically again on the next load?

When using jackd (or piewire’s JACK emulation), Ardour has no control over this.

Any JACK client can ask the server to change the buffersize and in turn has to heed the server’s setting.

To be fair though, Ardour does allow the user to change the JACK buffer size setting, even when it did not start JACK.

We just do not try to remember this value. If you want full control over JACK settings from Ardour, then Ardour needs to be responsible for starting JACK.

It is a hardware (studio setup) setting, and ought to be unrelated to the session.

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.