• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[HowTo] Audio Special: Realtime Kernel unter SuSE (u.a.)

gropiuskalle schrieb:
zettberlin schrieb:

Ja, aber man sollte da schon genau hinlesen:

gropiuskalle schrieb:
Genauer: der von openSUSE zumeist per default installierte "desktop"-Kernel *ist* ein realtime-Kernel.



zettberlin schrieb:
Code:
zettberlin@linux-fk3r:~> cat /boot/config-2.6.34-12-*default* |grep PREEM

Der default-Kernel ist nicht rt-fähig. Der *meist per default installierte* "desktop"-Kernel ist rt-fähig und benötigt keine Nacharbeiten, patches oder dergleichen.

Ahh jetzt verstehe ich! Also der zumeist per default installierte Kernel, der aber nicht "default", sondern (wahrscheinlich) "desktop" heißt und der auch zwar zumeist aber nicht bei der Installation von der KDE-Live-CD per default installiert wird, ist also rt-fähig. :alien:

Ich brauche also nur in Yast nach einem Kernel desktop zu suchen. Mache ich umgehend, Danke :)
 

spoensche

Moderator
Teammitglied
Die ulimits legen nur die Userlimits für max. erlaubte Anzahl von Prozessen, die ein User starten darf und haben nichts mit der RT-Konfiguration des Kernels zu tun.

@zettberlin:

Hast du das RT-Kit installiert? Ein Vergleich der Kernelkonfiguration des SuSE und des Fedora Kernels gibt auch Aufschluss darüber, welche Konfigwerte bei dem jeweiligen Kernel nichtgesetzt sind und sich evtl. auf die Performance auswirken.
 
spoensche schrieb:
Die ulimits legen nur die Userlimits für max. erlaubte Anzahl von Prozessen, die ein User starten darf und haben nichts mit der RT-Konfiguration des Kernels zu tun.

Bitte was? Über PAM lassen sich doch auch Gruppen priorisieren, nice-Werte festlegen etc., auch explizit Bezug nehmend auf rt-Fähigkeiten eines Systems - ansonsten würde folgende Konfiguration in meiner limits.conf keinen Sinn ergeben:

Code:
@audio - rtprio 99
@audio - nice -10

...funktioniert aber einwandfrei. Wie würdest Du realtime für eine DAW konfigurieren?

zettberlin schrieb:
Ich brauche also nur in Yast nach einem Kernel desktop zu suchen.

Ganz genau!
 
Habe jetzt den Desktop-Kernel laufen.

Funktioniert 1a :) Jack läuft mit 128/3 48KHz auf einer MAudio MobilPre USB und ich habe im Normalbetrieb keinerlei xruns.

Das weiß zu gefallen :)
Vielleicht sollte man kurz darauf hinweisen, dass das jetzt so einfach ist und dass man nur noch kompilieren muss, falls man unbedingt noch mehr herausholen will.
 

spoensche

Moderator
Teammitglied
gropiuskalle schrieb:
spoensche schrieb:
Die ulimits legen nur die Userlimits für max. erlaubte Anzahl von Prozessen, die ein User starten darf und haben nichts mit der RT-Konfiguration des Kernels zu tun.

Sorry, da habe ich mich alles andere als Deutlich ausgedrückt. Die max. Anzahl von Prozessen sollte als Beispiel für die Möglichkeiten von ulimits dienen. :roll: :eek:ps:

Klar können die Prioritäten auch per PAM konfiguriert werden. Die RT- Fähigkeiten des Kernels (ist er für RT konfiguriert oder nicht) können nicht per PAM konfiguriert werden und darauf wollte ich auch hinaus bzw. hinweisen.

Nach dem ich gerade mein Posting, was ein sehr sehr gutes Beispiel für Undeutlichkeit ist, noch mal gelesen habe konnte ich auch nur kopfschüttelnd lachen und schmunzel immer noch.
 
Dass PAM die rt-Fähigkeit selbst bereit stellt, habe ich aber auch nicht behauptet, deshalb habe ich Deinen Kommentar falsch verstanden.

Was soll's, zettberlin hat jetzt realtime. :)
 

Appleonkel

Hacker
Hallo zettberlin,

im Prinzip kann man der Anleitung noch folgen. Oder man nimmt wie schon oben erwähnt den kernel-desktop
Code:
~> uname -a
Linux huygens 3.2.4-6-desktop #1 SMP PREEMPT Sat Feb 4 14:19:04 UTC 2012 (484affb) x86_64 x86_64 x86_64 GNU/Linux
~> zgrep PREEM /proc/config.gz 
CONFIG_TREE_PREEMPT_RCU=y
CONFIG_PREEMPT_RCU=y
CONFIG_PREEMPT_NOTIFIERS=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_COUNT=y
# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_PREEMPT_TRACER is not set
Der Kernel ist zwar aus Tumbleweed, aber der standard kernel-desktop sollte die selben settings haben ;)
 

abgdf

Guru
Hi,

gibt es nicht vielleicht irgendwo ein fertiges rpm mit einem Realtime-Kernel für OpenSuSE 12.1?
Optimal wäre, wenn ich am Ende direkt in grub auswählen könnte, ob ich mit oder ohne Realtime booten möchte (nach Backup der alten "/boot/grub/menu.lst").
Bei PackMan gibt's so viele schöne Pakete, jeweils an die verschiedenen Distributionen angepaßt. Wäre da nicht auch ein Paket mit einem Realtime-Kernel nett (auch damit die Windows und Mac-Leute nicht immer sagen können, Linux ist für Musik einfach zu lahm und zu unpräzise, und einen RT-Kernel zu installieren, ist viel zu kompliziert)? :wink:
----------------------------------------
P.S.: Zwei wirklich klasse Musikprogramme, die bei mir auf 12.1 problemlos kompilierten (sogar mit checkinstall) und die man vielleicht auch noch nach PackMan bringen könnte, waren

http://www.filter24.org/seq24/
http://qmidiarp.sourceforge.net/

Ich weiß, auch beim PackMan-Team sind die Ressourcen (Zeit) knapp, aber vielleicht findet sich ja doch jemand ... :hoff:
Ansonsten werd' ich mich in den nächsten Wochen wohl mal an die obige Anleitung wagen. :seufz:
 

abgdf

Guru
Echt, das ist ein RT-Kernel? Warum meckert dann jack und vor allem jack-rack?
Ich habe auch
Code:
@audio           rtprio 90
@audio           memlock unlimited
@audio           nice -19
in "/etc/security/limits.conf" ...
 

abgdf

Guru
Hmm, Du scheinst recht zu haben: qjackctl zeigt unter "Einstellungen" eine Latenz von 46,4 msec an. Das ist wohl ganz gut.
Jetzt ist nur (noch) die Frage, warum mein jack-rack nicht läuft. Aber das ist wohl ein Problem für "Multimedia". (Weiß auch noch nicht, was es mit diesem "gesperrten Speicher" auf sich hat.)
 

abgdf

Guru
Aha! Auch unter 12.1 bekomme ich, wenn ich z.B. qmidiarp starte:
Code:
Cannot use real-time scheduling (RR/5)(1: Die Operation ist nicht erlaubt)
JackClient::AcquireSelfRealTime error
Das ist aber ein Rechteproblem (obwohl der User in der Gruppe "audio" ist). Als root geht Realtime unter 12.1 auch bei mir schon.

Als root läuft dann auch das jack-rack. Mal sehen, ob ich die Sachen irgendwie auch für normale Benutzer konfiguriert kriege. Das ist dann aber kein Kernel-Problem mehr.
 

tasskaff

Member
ausser den Einträgen in /etc/security/limits.conf ist noch folgendes nötig, damit ein Mitglied der Gruppe "audio" den firewire-Treiber starten darf:

1. root sein

2. Datei mit Inhalt anlegen :
Code:
echo "#%PAM-1.0
session  required    pam_limits.so noaudit
">/etc/pam.d/audio-session

3. /etc/pam.d/xdm (wenn man KDE benutzt, ansonsten gdm für Gnome, bzw. diejenige für den verwendeten Windowmanager) ändern/erweitern:
Code:
echo "session  include   audio-session">>/etc/pam.d/xdm

4. Datei mit Inhalt anlegen :
Code:
echo 'KERNEL=="raw1394*",GROUP="audio",MODE="0660"'>/etc/udev/rules.d/50-raw1394.rules

5. reboot

Natürlich sollte man vorm anlegen der neuen Dateien prüfen, ob sie schon vorhanden sind und sie ggf. ändern, oder anders nennen.
 
Oben