Skip to content

Instantly share code, notes, and snippets.

@clickfreak
Created September 30, 2018 22:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save clickfreak/3f6210fd32e7ca28d518f3b963c32ccd to your computer and use it in GitHub Desktop.
Save clickfreak/3f6210fd32e7ca28d518f3b963c32ccd to your computer and use it in GitHub Desktop.
Mixxx over jackd on Fedora
sudo dnf install jack-audio-connection-kit-dbus qjackctl rtirq realTimeConfigQuickScan
sudo usermod -a -G audio,jackuser,users `whoami`
$ cat /etc/security/limits.d/95-jack.conf:

@jackuser - rtprio 90
@jackuser - nice -19
@jackuser - memlock 209715200

$ cat /etc/udev/rules.d/40-timer-permissions.rules 
KERNEL=="rtc0", GROUP="audio"
KERNEL=="hpet", GROUP="audio"

Check system settings for audio performance (be careful https://bugzilla.redhat.com/show_bug.cgi?id=1541399):

$ SOUND_CARD_IRQ=23 realTimeConfigQuickScan
== GUI-enabled checks ==
Checking if you are root... no - good
Checking filesystem 'noatime' parameter... found - warning
/ does not have the 'noatime' parameter set
/boot does not have the 'noatime' parameter set
/home does not have the 'noatime' parameter set
For more information, see http://wiki.linuxmusicians.com/doku.php?id=system_configuration#filesystems
Checking CPU Governors... CPU 0: 'performance' CPU 1: 'performance' CPU 2: 'performance' CPU 3: 'performance'  - good
Checking swappiness... 10 - good
Checking for resource-intensive background processes... none found - good
Checking checking sysctl inotify max_user_watches... >= 524288 - good
Checking access to the high precision event timer... readable - good
Checking access to the real-time clock... readable - good
Checking whether you're in the 'audio' group... yes - good
Checking for multiple 'audio' groups... no - good
yes - good.
Checking the ability to prioritize processes with chrt... yes - good
Checking kernel support for high resolution timers... found - good
Kernel with Real-Time Preemption... not found - not good
Kernel without real-time capabilities found
For more information, see http://wiki.linuxmusicians.com/doku.php?id=system_configuration#installing_a_real-time_kernel
Checking if kernel system timer is set to 1000 hz... found - good
Checking kernel support for tickless timer... found - good
== Other checks ==
Checking filesystem types... ok.
ok.

Run jackd:

sudo cpupower frequency-set -g performance
pasuspender qjackctl

After mixxx start:

sudo renice -10 -p `pidof jackd` && sudo renice -10 -p `pidof mixxx`

https://github.com/mixxxdj/mixxx/blob/5aa13a5c47f8fd9913e69c10af9080030fa05b30/src/library/browse/browsefeature.cpp#L91

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment