summaryrefslogtreecommitdiff
path: root/pcr/parabola-proaudio-settings
diff options
context:
space:
mode:
Diffstat (limited to 'pcr/parabola-proaudio-settings')
-rw-r--r--pcr/parabola-proaudio-settings/99-sysctl.conf5
-rw-r--r--pcr/parabola-proaudio-settings/PKGBUILD50
-rw-r--r--pcr/parabola-proaudio-settings/alsamidi.conf2
-rw-r--r--pcr/parabola-proaudio-settings/jackdrc1
-rw-r--r--pcr/parabola-proaudio-settings/parabola-proaudio-settings.service9
-rwxr-xr-xpcr/parabola-proaudio-settings/parabola-proaudio-settings.sh6
-rw-r--r--pcr/parabola-proaudio-settings/snd-seq-dummy_16.conf2
7 files changed, 75 insertions, 0 deletions
diff --git a/pcr/parabola-proaudio-settings/99-sysctl.conf b/pcr/parabola-proaudio-settings/99-sysctl.conf
new file mode 100644
index 000000000..25bde20b7
--- /dev/null
+++ b/pcr/parabola-proaudio-settings/99-sysctl.conf
@@ -0,0 +1,5 @@
+# By default, swap frequency defined by "swappiness" is set to 60. By reducing this number to 10, the system will wait much longer before trying to write to disk
+vm.swappiness = 0
+
+# inotify watches for changes to files and reports them to applications requesting this information. When working with lots of audio data, a lot of watches will need to be kept track of, so they will need to be increased.
+fs.inotify.max_user_watches = 524288
diff --git a/pcr/parabola-proaudio-settings/PKGBUILD b/pcr/parabola-proaudio-settings/PKGBUILD
new file mode 100644
index 000000000..fd25dc9cd
--- /dev/null
+++ b/pcr/parabola-proaudio-settings/PKGBUILD
@@ -0,0 +1,50 @@
+# Maintainer: André Silva <emulatorman@parabola.nu>
+# Maintainer: Totalchaos <biserangeloff@gmail.com>
+
+pkgname=parabola-proaudio-settings
+pkgver=0.1
+pkgrel=1
+pkgdesc='Settings and configurations needed for a real-time audio workstation on Parabola GNU/Linux-libre'
+arch=('any')
+license=('GPL')
+url='https://www.parabola.nu'
+depends=('linux-libre-tools-cpupower' 'qjackctl' 'alsa-tools' 'alsa-utils' 'alsa-plugins')
+optdepends=('linux-libre-rt: required for achieving the best results for a low-latency profesional audio system'
+ 'patchage: required for audio and MIDI systems based on Jack and Alsa'
+ 'a2jmidid: required for exposing legacy ALSA sequencer applications in JACK MIDI system'
+ 'rtirq: required for firewire soundcards')
+backup=('etc/sysctl.d/99-sysctl.conf' 'etc/modules-load.d/alsamidi.conf' 'etc/jackdrc'
+ 'etc/parabola-proaudio-settings.sh' 'etc/modprobe.d/snd-seq-dummy_16.conf')
+source=('99-sysctl.conf' 'alsamidi.conf' 'jackdrc' 'parabola-proaudio-settings.sh'
+ 'parabola-proaudio-settings.service' 'snd-seq-dummy_16.conf')
+package() {
+ # add jackdrc file that contains a good recommended initial settings for jack
+ mkdir -p $pkgdir/etc
+ install -m644 $srcdir/jackdrc $pkgdir/etc
+
+ # add our script to increase the highest requested RTC interrupt frequency (default is 64 Hz)
+ install -m744 $srcdir/parabola-proaudio-settings.sh $pkgdir/etc
+
+ # add file with extra virtual midi ports
+ mkdir -p $pkgdir/etc/modprobe.d
+ install -m644 $srcdir/snd-seq-dummy_16.conf $pkgdir/etc/modprobe.d/
+
+ # add our custom kernel parameters to sysctl.d folder
+ mkdir -p $pkgdir/etc/sysctl.d
+ install -m644 $srcdir/99-sysctl.conf $pkgdir/etc/sysctl.d
+
+ # add service file that calls parabola-proaudio-settings at boot
+ mkdir -p $pkgdir/etc/systemd/system
+ install -m644 $srcdir/parabola-proaudio-settings.service $pkgdir/etc/systemd/system
+
+ # add alsamidi file to ensure the ALSA MIDI driver is loaded
+ mkdir -p $pkgdir/etc/modules-load.d
+ install -m644 $srcdir/alsamidi.conf $pkgdir/etc/modules-load.d
+}
+
+sha512sums=('c7263cbf582a74b273ee27a781cd6015e4d996c5ae6750de48b265b29dab29a5892f77d6fde99600a73e355d77fcbb6283771d9b201adb1543816b021a51679b'
+ '1ddeb186031d905a14255a6841bba8f9c86fb52a5f4fede7e71593f5d584abf11534349da835d01a7dabec9e04d12ba7b2c15b1be4c8bb4e63a2a1ddacbf1ee7'
+ '44229cc60c956a11767c08d877cd633c93b7a9bc864b7e69f54efd950ee05897e429ef8252dcba0dc5f50568c1961026962716b40a7014c8195a6dae1bc0eeb1'
+ '245dc0170ed1e2e2fa19c0ea4716489cc6fd86ecda9c1c8f2d3617fef7f91743bbac5770aa1858ec80c62e19b5ed72dce6c313c51994bb7a4c6588d276afe16d'
+ '404b37d70753ad17a15b994323bdf738e3c30b63d927c13ea10d2785649fd3c967a024763b18722cda49bfa1ea06b92237d18fe79081521b60abe609114c9c4f'
+ '759c3354a827cd4b7c383d54d7fd4c15cc44522749d59f234550e6b31849d91cb5619236132956779f86988188a2d236f4631b3e2f4db645aacdc6711ffbfcfd')
diff --git a/pcr/parabola-proaudio-settings/alsamidi.conf b/pcr/parabola-proaudio-settings/alsamidi.conf
new file mode 100644
index 000000000..be984d36a
--- /dev/null
+++ b/pcr/parabola-proaudio-settings/alsamidi.conf
@@ -0,0 +1,2 @@
+# If you want to use any MIDI hardware you need to ensure the ALSA MIDI driver is loaded
+snd_seq_midi
diff --git a/pcr/parabola-proaudio-settings/jackdrc b/pcr/parabola-proaudio-settings/jackdrc
new file mode 100644
index 000000000..8c1c8cb38
--- /dev/null
+++ b/pcr/parabola-proaudio-settings/jackdrc
@@ -0,0 +1 @@
+/usr/bin/jackd -P89 -t2000 -dalsa -dhw:0 -r44100 -p256 -n2 -Xseq
diff --git a/pcr/parabola-proaudio-settings/parabola-proaudio-settings.service b/pcr/parabola-proaudio-settings/parabola-proaudio-settings.service
new file mode 100644
index 000000000..b953302a2
--- /dev/null
+++ b/pcr/parabola-proaudio-settings/parabola-proaudio-settings.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Parabola Proaudio Settings
+
+[Service]
+Type=oneshot
+ExecStart=/etc/parabola-proaudio-settings.sh
+
+[Install]
+WantedBy=multi-user.target
diff --git a/pcr/parabola-proaudio-settings/parabola-proaudio-settings.sh b/pcr/parabola-proaudio-settings/parabola-proaudio-settings.sh
new file mode 100755
index 000000000..54f945e91
--- /dev/null
+++ b/pcr/parabola-proaudio-settings/parabola-proaudio-settings.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+echo 2048 > /sys/class/rtc/rtc0/max_user_freq
+echo 2048 > /proc/sys/dev/hpet/max-user-freq
+cpupower frequency-set -g performance
+echo noop > /sys/block/sda/queue/scheduler
diff --git a/pcr/parabola-proaudio-settings/snd-seq-dummy_16.conf b/pcr/parabola-proaudio-settings/snd-seq-dummy_16.conf
new file mode 100644
index 000000000..16e6d7dd4
--- /dev/null
+++ b/pcr/parabola-proaudio-settings/snd-seq-dummy_16.conf
@@ -0,0 +1,2 @@
+#Creates extra virtual midi ports
+options snd-seq-dummy ports=8