← Back to context

Comment by squarefoot

2 years ago

It's mind blowing the number of quality, often even FOSS, Linux audio software that is appearing these days, I can't wait to try some of these on my latest music laptop installation, which is confined to my own rehearsal room and works only as a plugin host. Unfortunately I had to use Reaper (plus yabridge for Windows plugins compatibility, which works great) as a host because Carla requires Jack which defaults to non usable state at every installation and is a nightmare to set up in a reproducible way, moreover saving in Carla is broken so after an an hour of careful plugins setup one loses everything upon closing. Right now we probably need more a much simpler plugin host that does just that and just works rather than new plugins.

About Jack, let me repeat this one more time Jack is not necessary at all to obtain low latency, ALSA is more than enough; if you're writing audio software, having Jack support is nice, but please don't depend on it as it just complicates things.

> Carla requires Jack which defaults to non usable state at every installation and is a nightmare to set up in a reproducible way

I've been using linux audio for the last 15 years and I've been trough it all. However, things have much improved since I've switched to Pipewire. No more need for a bespoke implementation of the jack daemon, it's implemented natively right there in Pipewire, vastly simplifying setup and removing any annoyances that keeping the Jack daemon working entailed. As a bonus any jack client/jack graph visualizer, including carla, gets a direct view to all Pipewire clients, not just native jack clients. You can then use Carla to route audio directly from your hardware inputs and outputs trough, for example, pulseaudio client (blissfully unaware of whats happening) and then trough as many jack clients as you wish. It's truly a magical™ piece of software.

As for Carla, make sure you are in the "Multiple Clients" mode, activate the experimental features and check "Enable plugin bridges" and "Run plugins in bridge mode when possible". This seems to make it more stable and make it so that if a plugin crashes Carla will disable it and at worst you will lose the related plugin parameters.

I've been running Carla with Pipewire for more then a year as my system wide DSP stack (almost like a virutal AV Reciever) and its fairly stable.

PipeWire is an excellent Jack server BTW. So much headache was gone with exclusive card access from multiple applications.

> About Jack, let me repeat this one more time Jack is not necessary at all to obtain low latency, ALSA is more than enough; if you're writing audio software, having Jack support is nice, but please don't depend on it as it just complicates things.

I mean, technically JACK is built on top of ALSA, you can always get lower latency by going through ALSA directly than by involving JACK... but it's pretty hard to implement correctly.