LSM-Realtime Kernelpatch

hier geht es um fragen, die mit linux und audiohardware zusammenhängen, also in erster linie treiber für soundkarten, aber auch kleine tools, mit denen man z.b. daten mit dem gerät austauschen oder einstellungen vornehmen kann (z.b. externe midi-patchbay programmieren; synthesizer backup usw.)...
Antworten
Leverator
Regular User
Regular User
Beiträge: 87
Registriert: So Dez 11, 2005 1:56 pm
Wohnort: Köln
Kontaktdaten:

LSM-Realtime Kernelpatch

Beitrag von Leverator »

Hallo zusammen,

vielleicht weiss ja jemand von Euch weiter:
Mir ist aufgefallen, daß jedes Programm, das bei aktiviertem RT-Kernel gestartet wird, auch die Echtzeit-Berechtigung erhält.
Das ist für Jack und die Audio-Programme ja auch sinnvoll.

Wenn man allerdings nebenbei auch mal kurz im Internet nach neuen Soundfonts oder Samples recherchieren möchte, dann wird der Firefox, Opera usw. auch mit RT gestartet.

Meine Frage an Euch ist nun: Wie kann ich - neben den Benutzereinschränkungen des LSM-RT-Moduls - auch Programmen mitteilen, daß sie mit, bzw. ohne, RT-Erweiterung gestartet werden sollen?

Bis jetzt habe ich es so gelöst, daß ich vor dem Starten der Audio-Programme halt das RT-Modul im Kernel geladen und bevor ich ein non-Audio-Programm gestartet habe, dieses Modul wieder aus dem Kernel entfernt habe. Das funktioniert soweit auch ganz gut. Man kann damit sogar arbeiten. Allerdings finde ich daß es schon ein übler Weg ist. Schliesslich sind in der Zwischenzeit (solange das RT-Modul nicht geladen ist) die Audio-Programme in einer Art RT-Wolke gefangen und demnach auch in einem undefinierten Zustand. - Eigentlich.

Per Script lässt sich an dieser Stelle auch nichts automatisieren. Denn sobald ich nach dem Laden von Muse das Modul wieder entferne, dann könnte rein theoretisch Muse noch den Sequencer starten, drumcomputer usw. Und an dieser Stelle würden die neu gestarteten Programme nicht mehr in RT laufen.

Also fehlt im Kernel noch die Möglichkeit den RT-Zugriff an bestimmte Programme zu binden.

Wer hat eine Idee, wie man das lösen kann?


Ich wünsche Euch ein schönes Wochenende,
Gruß Lev
... weil Linux einfach Spaß macht.
ScarKS
Power User
Power User
Beiträge: 130
Registriert: Mo Jan 09, 2006 7:36 pm
Kontaktdaten:

Beitrag von ScarKS »

Lösen kann man das vorerst leider gar nicht :(
Das realtime patch geht ja nur für eine bestimmt Gruppe die du selber festlegst.
Wenn ein Programm mit dieser GruppenID gestartet wird erhält es die Echtzeitmöglichkeiten.
Du müsstest also verhindern das die normalen Programme mit dieser Group-ID gestartet werden.
Weiß allerdings nicht wie das geht :(
Was man machen kann ist nen extra xserver mit neuem user starten.
Die Gruppe des Users bekommt dann realtime.
Das wäre ne Möglichkeit wenn auch nicht ganz so pralle....(su reicht mir schon)
Hoffe es hat jemand nen Tip wie man das mit der groupid machen kann.
Stehe nämich vor dem gleichen Problem.
Scar
Leverator
Regular User
Regular User
Beiträge: 87
Registriert: So Dez 11, 2005 1:56 pm
Wohnort: Köln
Kontaktdaten:

Beitrag von Leverator »

Hey ScarKs,

danke für diese Idee. Das Kommando lautet sg und aufgerufen wird es wie folgt:
sg <gruppe> -c <befehl>

Ich müßte also eigentlich sämtlichen Audio-Programmen als Gruppe <audio> zuweisen und dann mit sg diese Programme ausführen.
Das werde ich heute Abend gleich - wenn ich wieder zu Hause bin ;) - ausprobieren.

Dann ließe sich das sogar automatisieren, in dem man einfach mit einem Shell-Skript in /bin /usr/bin /usr/local/bin nach Programmen sucht, die die Gruppe <audio> haben und dann eine Liste anzeigen lässt. Klickt man auf eines der in der Liste angzeigten Programme, wird dann automatisch dieses Programm in der audio-Group gestartet.

Wenn das funktioniert! Geil. Wenn ich gut voran komme, dann kann ich Euch am Sonntag schon ein kleines Skriptchen präsentieren.


Bis dann,
gruß Lev
... weil Linux einfach Spaß macht.
Gast

Beitrag von Gast »

hi,
also ich hab das so verstanden, dass nur die applikationen, die eine realtime option unterstützen, dann auch tatsächlich realtime recthe bekommen, es sei dem, man muss die realtime option zuerst einschalten, wie zb. beim xmms, wo sich in dem menu "einstellungen" so ein button befindet.
wenn ich als nowhiskey, der ja in der audio gruppe ist, mehrere audio apps fahre und dann noch ein xterm oder einen mozzila starten will, dauert es ganz schön lange, bis das fenster erscheint, so funktioniert es zumindest bei mir.

laut linux-magazin 09/05 lassen sich auch die programme, die kein rt unterstützen, mit hilfe von chrt ( zu finden in dem paket sched-utils) mit rt-prioritäten versehen, ich hab es aber noch nie ausprobiert.

ich sehe gerade, dass ich was ganz anderes behaupte als scar und lev, bin mir der sache jedoch ziemlich sicher, weil wenn das nicht so wäre, würde jack-rack(z.b) niemals eine warnung ausgeben, wenn ich ein non-rt plugin aufmachen möchte, weil ich es ja aus der audio-gruppe heraus machen will?!

also bitte, die die denken darüber ahnung zu haben, den saft ablassen(?sagt man so, oder?)

gruss,
doc
Leverator
Regular User
Regular User
Beiträge: 87
Registriert: So Dez 11, 2005 1:56 pm
Wohnort: Köln
Kontaktdaten:

Beitrag von Leverator »

Hallo zusammen,

also ich habe gerade das mit dem Aufruf via Group gecheckt.

sg audio -c "/usr/local/bin/qjackctl"

Die Latzenzeit hat sich mit diesem Aufruf nicht verändert. Ob das Programm jetzt wirklich in der Gruppe audio ausgeführt wird, kann man mit dem folgenden Aufruf checken:

ps -G audio


Also brauche ich mich um das kleine Bash-Skripchen auch nicht weiter zu kümmern. Schade.



@Gast: Ich werde mir in diesem Zusammenhang die Doku nochmal reinziehen. Danke für diesen Einwand.


Schönes Wochenende noch,
Gruß Lev
... weil Linux einfach Spaß macht.
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste