Startup-Script erstellen in Linux (Audio Delay)?

Elverado

Lieutenant
Registriert
Jan. 2018
Beiträge
649
Hallo zusammen,
Ich habe das Problem, dass bei High-FPS-Spielen wie z.B. Shooter in Linux Mint 19.3 der Sound verzögert ausgegeben wird (MSI B450 A-Pro Max; Soundchip: Realtek ALC892). Dazu habe ich dann auch einen Guide zur Behebung dieses Problems gefunden Link. Dieser funktioniert im Großen und Ganzen über diese Befehle:

Code:
pactl list modules

pactl unload-module NUMBER

pactl load-module module-alsa-card device_id="NUMBER" name="NAME" card_name="NAME" namereg_fail=false tsched=no fixed_latency_range=yes ignore_dB=no deferred_volume=yes use_ucm=yes card_properties="module-udev-detect.discovered=1" fragments=1 fragment_size=15

pactl load-module module-alsa-card

Dieser Guide hat in meinem Fall sehr gut funktioniert, das Problem war damit zunächst behoben. Allerdings muss ich diese Folge von Befehlen nach jedem Neustart erneut eingeben.

(Ich habe bereits versucht in der /etc/pule/default.pa bei load-module module-udev-detect einfach dahinter die entsprechenden Werte einzutragen, das hat allerdings nur bis zu dem Punkt ucm=yes funktioniert. Wenn ich den Rest noch hinzugefügt habe, gab es nach dem Neustart keinen Sound mehr. (der ~/.config/pulse Ordner wurde immer gelöscht))
Falls also einer einen Vorschlag hat, wie man diese Werte (dauerhaft) ändern kann in bereits bestehenden config-Dateien von PulseAudio, bin ich auch gerne für Vorschläge offen.

Mein nächster Weg war nun aber diese einfache Folge von Befehlen in ein Script zu schreiben, dass erst nach dem Start in den Desktop (da ich nur dann sicher sein kann, dass alle pulse-Dinge initialisiert sind) ausgeführt wird.
Da findet man im Internet leider sehr viel und nichts zu. Denn ein großer Teil der bereits bestehenden Hilfestellungen beruft sich auf die rc.local. Das war zwar Mal vor ca. 5-10 Jahren aktuell, diese Datei existiert in neueren Linux Versionen allerdings nicht mehr und es wird auch nicht empfohlen diese zu erstellen/verwenden.
Sodann habe ich diese Variante ausprobiert Link, bei der ein Skript in init.d erstellt wird, dass dann ausführbar und mittels sudo update-rc.d SCRIPTNAME defaults in die Runlevel eingefügt wird.
Das hat in meinem Fall.....genau nichts gebracht. Wenn ich nach dem Systemstart&Login mit pactl list modules überprüfe, ob sich die gewünschten Parameter geändert haben ist das nicht der Fall.

Daher hier die Frage: Wie kann ich Linux eine einfache Befehlfolge nach dem Systemstart (wenn ich auf dem Desktop bin) automatisiert durchführen lassen?
Das sollte doch eigentlich gar nicht so schwer sein?

VG
 
Jein, ich habe in /opt keinen /foo Ordner. Der Artikel ist zwar von 2016, aber möglich, dass sich bei Linux in der Zwischenzeit schon einiges getan hat? Ist immerhin auch schon 4 Jahre her.

Außerdem: was soll ein foo-Service sein? Bezieht sich das auf die Taskleiste?
 
foo ist ein beliebter ausdruck als platzhalter, für sowas wie "hier namen eingeben" einfach nur als beispiel wie etwas umgesetzt wird... ferne ist auch mal bar anzutreffen. foo - bar... dieses beispiel ist dann entsprechend den eigenen bedürfnissen anzupassen. soll heißen der ordner unter opt ist selbst anzulegen nach eigenem bedarf
 
  • Gefällt mir
Reaktionen: Mickey Cohen und Elverado
Shell Script erstellen und dieses mit systemd beim Start automatisch ausführen:

https://linuxconfig.org/how-to-automatically-execute-shell-script-at-startup-boot-on-systemd-linux

(Also, was @Stype schon verlinkt hat, es gibt Dutzende weitere Anleitungen im Netz)

Deine verlinkte Anleitung mittels Skript im init.d Folder ist veraltet, das funktioniert auf den meisten modernen Linux Distributionen nicht mehr, da eben zumeist das neuere systemd statt SysVinit verwendet wird.

Nochmals Edit: Die saubere Lösung wäre natürlich, das ALSA Modul bereits beim Boot mit den gewünschten Werten zu laden, nicht danach nochmals zu deaktivieren und mit geänderten Werten erneut zu laden. D.h. natürlich auch, dass dein Skript von systemd nach dem automatischen Laden des ALSA Modul ausgeführt werden muss.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Elverado
Danke schonmal für die Antworten. Das erklärt einiges. Ich werde mir das mal morgen in Ruhe durchlesen.
 
Zurück
Oben