And here is what we have been doing to exact:
I’m just waiting for João to conclude de Debian portion of the Script so Debian and Mint Scripts will be able to run it (at least for trials) I already used in on more than 10 differente machines (not VMs)
**The music-daw package version 1.0**
Written and maintained by:
João Almeida (joao4linux@gmail.com) e Alexandre Ferreira (amfe223@g.uky.edu)
The purpose of this package is to facilitate the process of configuring Ubuntu or Mint operating systems to use low latency and real time kernel, thus transforming your computer into a digital audio workstation (DAW).
Obs.: The installation of the package must be performed with the “sudo” command as listed bellow:
$ sudo dpkg -i music-daw.1.0.deb
This package contains four scripts:
a- /usr/bin/music-daw - Executed only once, this script installs packages, including the low latency kernel. These changes are based on the recommendations written by the authors of the linux.org web page (link bellow), in the section which discusses how to optimize your computer for professional audio usage (i.e., DAW usage):
https://wiki.linuxaudio.org/wiki/system_configuration.
b- /usr/local/modify-rtc-max-use r – This script performs the following tasks:
set permissions to the audio group to /dev/hpet e /dev/rtc;
adjusts CPU frequency to function as “performance” mode;
checks if the RT variables have been activated. If not, adjustments will take place.
c- /etc/systemd/system/set-max-user-freq.service – This is a standard systemd scritpt that is intended to run the modify-rtc-max-user script during boot.
d- /etc/cron.hourly/test-kernel.sh - This script checks for any updates in the low latency kernel and, indeed, verifies if the RT variables have been modified.
The “music-daw” Script
It must me executed right after running the “$ sudo dpkg -i music-daw.1.0.deb” command as a regular user in the same terminal ex:. $ music-daw
1- The The first part of the script includes the user in the audio group ,in a way that the user has access to the permissions of this group
2- The script reduces /etc/sysctl.conf the parameter vm.swappiness value, which determines the moment when the system starts using its swap partition. This ensures that audio processes will preferably use RAM .
3- Another alteration takes place on the max_user_watches , which defines the maximum amount of files that the system can monitor with the inotify (which is part of the kernel), altering the command listed bellow:
sed -i ‘$afs.inotify.max_user_watches = 524288’ /etc/sysctl.conf
4- The script checks if there is a low latency kernel installed. If it does, it alters the /boot/config-uname -r
in order to ad the RT mode. This is achieved by modifying the following parameters:
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_PREEMPT_RT_FULL=y
CONFIG_PREEMPT=y
If no low latency kernel has not been located, the script proceeds with its installation.
5-Then the script includes the KX Studio’s repositories in your system. This procedure will allow the user to install both software and plugins available at the repository. This portion of the installation does not alter any function of the OS. If at any moment, errors occur due to any modification in the KX Studio’s repository, the script will inform the user but continues the remaining portion of the installation normally.
6- In turn, the cpufrequtils indicator-cpufreq package is installed. This will allow the user to make use of the CPU at its maximum performance.
7- One of the last tasks performed is the download and installation of the realtimeconfigquickscan Pearl script that allows the user to check if all the parameters are ready to work in RT mode.
sudo git clone git://github.com/raboof/realtimeconfigquickscan.git
8- The installation of the jackd qjacktl packages are the last steps of the whole process. During this time, it is given the user the choice to warrant priority access and access to memory for the audio group.