See e.g. [this article on opensource.com](https://opensource.com/life/16/1/configuring-linux-for-music-recording-production). TLDR: ```bash sudo apt-get linux-lowlatency jackd2 ``` high priority (realtime) for e.g. [Reaper](/music/production/daw/reaper) and [Renoise](/music/production/daw/renoise). ```bash sudo setcap 'cap_sys_nice=eip' /usr/local/bin/renoise-3.4.2 sudo setcap 'cap_sys_nice=eip' /opt/REAPER/reaper ``` and CPU governor to `performance`: ```bash echo -n performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor ``` See [this FAQ on Pulseaudio and Jack](https://jackaudio.org/faq/pulseaudio_and_jack.html) ([[Pulseaudio]] is the desktop Linux sound-server used by *everything except low latency audio apps*. We want `jackd` to manage the audio hardware, and Pulseaudio to go the hardware via `jackd`.) ## limits.conf ``` @audio - rtprio 90 # maximum realtime priority @audio - memlock unlimited # maximum locked-in-memory address space (KB) ``` (source: [linuxaudio.org](https://wiki.linuxaudio.org/wiki/system_configuration#limitsconfaudioconf)) ## Jack stuff Use Cadence ### Old We want to route ALSA to Pulseaudio, and Pulseaudio to Jack. ```bash sudo apt-get install pulseaudio-module-jack ``` then `~/.config/pulse/default.pa:` ``` load-module module-native-protocol-unix load-module module-jack-sink channels=2 load-module module-jack-source channels=2 load-module module-null-sink load-module module-stream-restore load-module module-rescue-streams load-module module-always-sink load-module module-suspend-on-idle set-default-sink jack_out set-default-source jack_in ``` and possibly in `~/.config/pulse/daemon.conf:` ``` default-sample-format = float32le default-sample-rate = 48000 realtime-scheduling = yes exit-idle-time = -1 ``` and if using `qjackctl` as the launcher, in settings, add the following post-startup script ``` pactl load-module module-jack-sink channels=2; pactl load-module module-jack-source channels=2; pacmd set-default-sink jack_out ``` ![qjackctl post startup options](qjackctl_options_poststartup_001.png)