Was ich sonst gemacht habe:
1. in /etc/security/ die limits.conf (mit root) editiert und folgende zwei Zeilen hinzugefügt:
Code:
@audio - rtprio 95
@audio - memlock unlimited
2. Swappiness auf 10 gesetzt, indem in /etc/sysctl.conf die Zeile
eingefügt wird (mit root). Reduziert das Auslagern ins Swapfile bzw. Swappartition. Ob man ein Swapfile bzw. Swappartition verwendet spielt generell keine Rolle. MXLinux legt bei der Standardinstallation automatisch eine Swappartition an (dazu muß man gar nichts tun, man wird nichtmal danach gefragt).
3. CPU Governor auf performance setzen (eigentlich das Wichtigste und Effektivste) : mit
Code:
echo -n performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
checken mit: cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
Alternativ: CPUPower_GUI installieren und manuell ändern.
4. User muß in Gruppe audio sein.
Prüfen, ob user (hier fox) in audio Gruppe ist mit
Code:
fgrep -ie 'audio' /etc/group
audio:x:29:pulse,fox
In dem Fall ist fox in der audio Gruppe. Falls nicht, hinzufügen mit
Code:
usermod -a -G audio <username>
5. jackd2 (falls nicht schon installiert) und QJackctl installieren. Hierbei werden auch gleich die RT settings gesetzt.
6. Pulseaudio Bridge installieren, d.h. Paket pulseaudio-module-jack. Damit läßt sich Pulseaudio in Jack routen und man kann Sound vom Browser und Sound er z.B. DAW (direkt über Jack) gleichzeitig hören.
Damit das reibungsfrei funktioniert muß in qjackctl die Option
Enable JACK D-Bus Interface gesetzt sein.
7. Hyperthreading im Bios deaktivieren und Performance vergleichen.
Weitere Einstellungen prüfen mit diesem Script:
https://codeberg.org/rtcqs/rtcqs
Mein output schaut gerade so aus:
Code:
Root User
=========
[ OK ] Not running as root.
Audio Group
===========
[ OK ] User fox is in the audio group.
CPU Frequency Scaling
=====================
[ OK ] The scaling governor of all CPU's is set at performance.
Kernel Configuration
====================
[ OK ] Valid kernel configuration found.
High Resolution Timers
======================
[ OK ] High resolution timers are enabled.
Tickless Kernel
===============
[ OK ] System is using a tickless kernel.
Preempt RT
==========
[ WARNING ] Kernel 5.10.0-20-amd64 without 'threadirqs' parameter or real-time capabilities found. See also https://wiki.linuxaudio.org/wiki/system_configuration#do_i_really_need_a_real-time_kernel
Spectre/Meltdown Mitigations
============================
[ WARNING ] Kernel with Spectre/Meltdown mitigations found. This could have a negative impact on the performance of your system. See also https://wiki.linuxaudio.org/wiki/system_configuration#disabling_spectre_and_meltdown_mitigations
RT Priorities
=============
[ OK ] Realtime priorities can be set.
Swappiness
==========
[ OK ] Swappiness is set at 10.
Filesystems
===========
[ OK ] The following mounts can be used for audio purposes: /, /home
[ WARNING ] The following mounts should be avoided for audio purposes: /run/user/1000/gvfs, /run/user/1000/doc. See also https://wiki.linuxaudio.org/wiki/system_configuration#filesystems
IRQs
=====
[ OK ] USB port ehci_hcd:usb1 with IRQ 23 does not share its IRQ.
USB port xhci_hcd with IRQ 29 does not share its IRQ.
Soundcard snd_hda_intel:card0 with IRQ 40 does not share its IRQ.
Soundcard snd_hda_intel:card1 with IRQ 41 does not share its IRQ.
Power Management
================
[ WARNING ] Power management can't be controlled from user space, the device node /dev/cpu_dma_latency can't be accessed by your user. This prohibits DAW's like Ardour and Reaper to set CPU DMA latency which could help prevent xruns. For enabling access see https://wiki.linuxaudio.org/wiki/system_configuration#quality_of_service_interface
Falls bei den IRQs Probleme auftauchen lässt sich noch die interne Soundkarte (vorausgesetzt man verwendet eine externe) blacklisten. Alternativ im BIOS deaktivieren.
Weiteres, was man noch machen kann: Low-Latency bzw. RT-kernel installieren. Eher wichitg, wenn man kurze Latenzen möchte. Alternativ Liquorix-Kernel installieren:
https://liquorix.net/
8. interne Soundkarte blacklisten
checken, welches es ist mit:
dann:
Code:
echo -e "blacklist snd_hda_intel" | sudo tee -a /etc/modprobe.d/HDAblacklist.conf
9. threadirqs als bootoption setzen.
nicht notwendig bei echtem RT Kernel.
Notwendigkeit prüfen mit:
Code:
grep -e "CONFIG_IRQ_FORCED_THREADING=y" -e "CONFIG_PREEMPT_RT=y" /boot/config-$(uname -r)
f it returns CONFIG_IRQ_FORCED_THREADING=y and CONFIG_PREEMPT_RT=y then your kernel is using IRQ threading and you don't have to proceed with the following steps. If it only returns CONFIG_IRQ_FORCED_THREADING=y you can add the threadirqs boot option as described below. If the command returns nothing you have a kernel that cannot use threaded IRQs.
Danach noch
10. rtirq-init installieren (vorhanden in den Debian repos). --> reboot
RT Prozesse anschauen mit
Ausgabe z.B.:
Code:
PID CLS RTPRIO NI PRI %CPU STAT COMMAND
216 FF 85 - 125 0.0 S irq/23-ehci_hcd
224 FF 85 - 125 1.8 S irq/30-xhci_hcd
75 FF 80 - 120 0.0 S irq/1-i8042
74 FF 79 - 119 0.1 S irq/12-i8042
65 FF 50 - 90 0.0 S irq/9-acpi
76 FF 50 - 90 0.0 S irq/8-rtc0
146 FF 50 - 90 0.0 S irq/26-rtsx_pci
147 FF 50 - 90 0.0 S irq/18-i801_smb
150 FF 50 - 90 0.7 S irq/27-ahci[000
209 FF 50 - 90 0.0 S irq/29-i915
434 FF 50 - 90 0.0 S irq/31-mei_me
457 FF 50 - 90 0.0 S irq/32-iwlwifi
463 FF 50 - 90 0.0 S irq/32-s-iwlwif
767 FF 50 - 90 0.0 S irq/28-eth0
11 TS - 0 19 0.2 S ksoftirqd/0
18 TS - 0 19 0.2 S ksoftirqd/1
23 TS - 0 19 0.2 S ksoftirqd/2
28 TS - 0 19 0.2 S ksoftirqd/3
11. rtirq konfiguerieren!!!! (bisschen tricky), d.h. verwendete Soundkarte im config file (in /etc/default) richtig setzen -- > siehe hier
https://linuxmusicians.com/viewtopic.php?t=19276&hilit=rtirq+lilith&start=60 ... tbc. ...