I had a lot of xruns in renoise, which I did not have on the exact same computer when I was using Windows. So I knew that renoise was not the problem here, but the OS itself. Nowadays I can work with a latency as low as 2.6 ms. So I decided to give you all my knowledge:
First of all, install realtime priorities and cpupower.
yay -Syu realtime-privileges cpupower
This creates a group for realtimeusers and enables you to set the cpu-energy-settings
add your user to realtime-users
sudo usermod -aG realtime $USER
REBOOT, to make the usergroup-stuff LIVE.
now remove the power-profiles-daemon service. KDE and gnome use it to control the cpusettings but we are nerds, we want cpupower
sudo systemctl mask power-profiles-daemon
Now we edit a file and set the cpupower to performance. Open the settings-file and uncomment “governor” if needed and set governor to performance
sudo nano /etc/default/cpupower
It is in the third row of the file, at least in my arch-version. take that line and write
governor=’performance’
Enable the cpupower-service:
sudo systemctl enable --now cpupower.service
After that you can check, if your cpus run in performance-mode now:
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
You can set environment-variables in your desktop-launcher files. For example:
PIPEWIRE_LATENCY=128/48000 renoise
Starts renoise with a 128 byte sample buffer in 48 kHz.
You can play around with the env-variables and go even lower, if you want.
Last but now least: If you wish, you can go full ALSA mode. In that case while running renoise you don’t have any sound from any other app, because it goes deep into the kernel audio. Select ALSA in the preferences and your HARDWARE-Audio (default is not enough). Renoise might say, that it can’t initialize it, but rescan and it will work. In that case you can set the buffers in renoise as low as you want (until it gives cracking sounds)
But: I’m happy with pipewire/jack and the 2 ms ![]()