I use this guide in its current form on Debian Bookworm. The host needs to be provisioned “The Naptastic Way” already.
Start with the essentials.
sudo apt -y install ncurses-dev build-essential automake cmake subversion git libogg-dev alsa-tools alsa-tools-gui rtirq-initsudo apt -y install libcurl4-gnutls-dev libarchive-dev libfftw3-dev uuid-dev liblrdf-dev libaubio-dev libcppunit-dev liblrdf-dev libcwiid-dev libtag1-dev libtag-extras-dev vamp-plugin-sdk librubberband-dev libsratom-dev liblilv-devsudo apt-get -y install libasound2-dev libsamplerate0-dev libsndfile1-dev libreadline6-dev libncurses5-dev libtool libdb-devThis is necessary for Netjack to get compiled. Since removing Debian's version of libopus causes half the system to attempt seppuku, we will overwrite it with our version. Keep in mind that, if Debian updates libopus (which happens with surprising frequency) then you have to do this again because Netjack (and possibly Jack) will be broken.
Go download opus from xiph.org and
git clone git@github.com:xiph/opus.gitcd opus./autogen.sh./configure –prefix=/usr –libdir=/usr/lib/x86_64-linux-gnu –enable-custom-modesLike libopus, we will be overwriting Debian's jack-related files with our own.
(By the way, these instructions assume you'll be using the ALSA backend driver. If you plan to use a firewire audio interface, you need to build ffado, which I really don't want to help with. But I still love you.)
git clone git@github.com:jackaudio/jack2.gitcd jackd2./waf configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --alsa./wafsudo ./waf installgit clone git://git.code.sf.net/p/qjackctl/code qjackctlcd qjackctlcmake -DCONFIG_QT6=0makesudo make installcd ..sudo apt -y install ir.lv2 eq10q qsynthsudo apt -y install fluid-soundfont-gm fluid-soundfont-gs musescore-general-soundfont-lossless opl3-soundfontrsync soundfonts from someplace to /usr/local/share/someplace
Add these lines to /etc/security/limits.conf: (Note: I've heard that some systems are using /etc/systemd/user.conf instead. I've not encountered this yet.)
@audio - rtprio 99 @audio - nice -19 @audio - memlock unlimited
Then add yourself to the audio group:
sudo adduser [username] audio
So on my system, I did sudo adduser david audio. Between the time you do this and the time you start using any of this software, you'll need to log completely out and back in.
Fetch the packaged dependencies:
sudo apt-get -y install uuid-dev liblrdf-dev libaubio-dev libarchive-dev libcppunit-dev liblrdf-dev libcwiid-dev libtag1-dev libtag-extras-dev vamp-plugin-sdk librubberband-dev libarchive-dev liblilv-dev libsratom-dev libsord-dev libserd-dev lv2-dev libsamplerate0-dev libjack-jackd2-dev libasound2-dev libglibmm-2.4-dev liblo-dev libcairomm-1.0-dev libpangomm-1.4-dev libusb-1.0-0-dev Then check out and build Ardour:
git clone git://git.ardour.org/ardour/ardour.git ardourcd ardour./waf configure --optimize./wafsudo ./waf install