ubuntuusers.de

Für diese Funktion musst du eingeloggt sein.

Jack zeigt sehr viele Xruns

Status: Gelöst | Ubuntu-Version: Ubuntu 12.04 (Precise Pangolin)
Antworten |

Sohar

Anmeldungsdatum:
1. Juni 2008

Beiträge: 61

Wohnort: PDM

Hallo,

Arbeite sehr zufrieden mit Ubuntu als Musiker auf einer Hobbyebene. Prinzipiell läuft alles ganz gut, und ich kann alles machen, was ich will: Beats basteln, Gitarrenspuren aufnehmen etc. Das einzige Problem ist nicht sehr schwerwiegend, nur, dass es eben manchmal knackt, und sehr viele Xruns auftreten. Da ich selbst nicht weiß, woran das liegen könnte, nun meine Frage an andere User. Dasselbe Problem hatte meine vorhergehende Soundkarte auch. Die Fehlermeldung, dass nicht genügend Hauptspeicher zur Verfügung stehe, trat aber bisher immer auf. Benutze Jack, Ardour, Hydrogen, Sound: MAudio MTrack. Ausgabe beim Starten von Jack:

12:01:48.303 Steckfeld aktiviert.

12:01:48.309 Statistik zurückgesetzt.
12:01:48.373 ALSA-Verbindung geändert.
12:01:48.386 JACK startet...
12:01:48.386 /usr/bin/jackd -p1024 -t200 -dalsa -r48000 -p128 -n2 -M -D -Chw:1 -Phw:1
Cannot connect to server socket err = Datei oder Verzeichnis nicht gefunden
Cannot connect to server socket
jack server is not running or cannot be started
Cannot connect to server socket err = Datei oder Verzeichnis nicht gefunden
Cannot connect to server socket
jack server is not running or cannot be started
12:01:48.453 Schaubild der ALSA-Verbindungen geändert.
12:01:48.614 JACK wurde mit PID = 2458 gestartet.
12:01:48.614 ALSA aktive Steckfeldsuche...
Cannot create thread 1 Operation not permitted
Cannot create thread 1 Operation not permitted
Cannot create thread 1 Operation not permitted
jackdmp 1.9.8
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2011 Grame.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK server starting in realtime mode with priority 10
Cannot lock down 47647264 byte memory area (Cannot allocate memory)
control device hw:1
control device hw:1
audio_reservation_init
Acquire audio card Audio1
creating alsa driver ... hw:1|hw:1|128|2|48000|0|0|nomon|hwmeter|-|32bit
control device hw:1
configuring for 48000Hz, period = 128 frames (2.7 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 24bit little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 24bit little-endian
ALSA: use 2 periods for playback
Cannot use real-time scheduling (RR/10)(1: Operation not permitted)
AcquireSelfRealTime error
12:01:49.632 JACK-Verbindung geändert.
12:01:49.633 Serverkonfiguration nach "/home/tobi/.jackdrc" gespeichert.
12:01:49.635 Statistik zurückgesetzt.
12:01:49.641 Client aktiviert
12:01:49.642 JACK aktive Steckfeldsuche...
12:01:49.648 PluggY: system:capture_1 -> system:playback_1 verbunden.
12:01:49.656 PluggY: system:capture_2 -> system:playback_2 verbunden.
12:01:49.666 Schaubild der JACK-Verbindungen geändert.
Cannot lock down 47647264 byte memory area (Nicht genügend Hauptspeicher verfügbar)
12:01:49.863 JACK aktive Steckfeldsuche...
12:01:49.864 PluggY: system:capture_1 -> system:playback_1 überprüft.
12:01:49.865 PluggY: system:capture_2 -> system:playback_2 überprüft.
12:02:22.959 XRUN callback (1).
12:03:20.583 XRUN callback (2).
12:04:01.159 XRUN callback (3).
12:05:04.531 XRUN callback (4).
12:05:05.948 XRUN callback (1 übersprungen).
12:10:53.436 XRUN callback (6).
12:10:54.332 XRUN callback (6 übersprungen).
12:12:28.359 XRUN callback (14).

g00d.morning

Anmeldungsdatum:
20. Februar 2013

Beiträge: 330

Benutzt einen Echtzeit-(RealTime)-Kernel?

Siehe außerdem: Tonstudio/Konfiguration, speziell diesen Abschnitt.

Sohar

(Themenstarter)

Anmeldungsdatum:
1. Juni 2008

Beiträge: 61

Wohnort: PDM

Nein, habe lediglich der Jack die Echtzeitpriorität aktiviert. Sollte ich den Echtzeitkernel installieren? Weniger Probleme? Danke 😉

g00d.morning

Anmeldungsdatum:
20. Februar 2013

Beiträge: 330

Sohar schrieb:

Nein, habe lediglich der Jack die Echtzeitpriorität aktiviert. Sollte ich den Echtzeitkernel installieren? Weniger Probleme? Danke 😉

Bist Du den Links gefolgt? Auch Hobbymusiker brauchen niedrige Latenzen. 😉

Ein Echtzeitkernel ist im Alltag nicht sinnvoll. Bei Bedarf (wenn Du Deinem Hobby frönst) solltest Du diesen aber dringend booten. Nicht vergessen der Gruppe Audio entsprechende Rechte zu geben und Deinen Benutzer der Gruppe Audio hinzuzufügen.

Nochmal!

TraumFlug

Avatar von TraumFlug

Anmeldungsdatum:
16. Juli 2009

Beiträge: 999

Wohnort: zwischen den ohren

Bisschen mehr zum Thema, was ich gestern absetzen wollte, aber der Server hat gestreikt...hab's gespeichert, jetzt geht's on:

–-

Du musst Echtzeit- und Memlockrechte einrichten, ich vermute mal, das hast du noch nicht gemacht? Ohne sind Aussetzer kein Wunder.

Mach' mal folgendes in der Konsole/Terminal:

ulimit -r -l

Wenn das schon "95" und "unlimited" anzeigt, wundert's mich...

ll /etc/security/limits.d/

sollte eine Datei "audio.conf" anzeigen. Wenn nicht, dann mach:

sudo dpkg-reconfigure jackd2

und wähle mit Pfeiltasten das Feld "Ja" aus, drück' enter. Jetzt sollte die audio.conf Datei existieren.

groups

oder

groups | grep audio

sollte anzeigen, dass dein Nutzer in der Gruppe "audio" ist. Wenn nicht kannst du ihn mit

sudo adduser DEINNUTZERNAME audio

zu dieser hinzufügen.

Dann bitte nochmal komplett aus- und wieder einloggen, und zwar aus der ganzen Benutzeroberfläche zum Anmeldebildschirm (neustart tuts auch). Der "ulimit -r -l" Befehl sollte das oben beschriebene anzeigen, und jack besser laufen.

Das sollte mal in's wiki, anstelle der anderen beschriebenen wege! Wenn du dann noch Probleme Hast, oder mit dem oben beschriebenen, helfe ich gerne weiter.

–-

Echtzeitkernel ist übrigends kein Muss, kann aber auch ein bisschen Helfen, je nachdem ob da noch Unzufriedenheiten bestehen. In den Paketquellen sollte ein modifizierter Kernel mit dem Beisatz "lowlatency" vorhanden sein. Nicht alltagstauglich? ich boote den immer... Ausserdem kann's helfen, die Prozessortaktung fest einzustellen, governor "performance". Aber sowas sollte man schritt für schritt austesten, erster Schritt sind eben die Echtzeitrechte für die Gruppe "audio", das bringt schon enormst was. Wenn man bei Jack den "Echtzeit" Haken macht, funktioniert das auch nur, wenn man vorher die Rechte eingerichtet hat.

g00d.morning

Anmeldungsdatum:
20. Februar 2013

Beiträge: 330

TraumFlug schrieb:

Nicht alltagstauglich? ich boote den immer...

Es hat niemand behauptet, dass das nicht funktioniert. Aber wozu sollte man ständig den RT-Kernel booten? Weil man seinen Finger schonen will, um im Grub Menü nicht auszuwählen? Sollte man nicht lieber Stromrechnung (ok, das werden keine Millionen sein 😉) und Hardware schonen?

Bei einer reinen Audio-Station ist das natürlich was anderes.

Sohar

(Themenstarter)

Anmeldungsdatum:
1. Juni 2008

Beiträge: 61

Wohnort: PDM

Hallo Kollegen,

@goodmorning: Du hast Recht. Allein das Installieren eines Echtzeitkernel (KXStudio) hat viel gebracht. XRuns gibts nur noch dann, wenn ich das Stimmgerät (Lingot) parallel neben Ardour und Jack laufen lasse. Dann aber auch nicht mehr so oft, wie es vorher der Fall war. Habe jetzt also ein KXStudio und ein Ubuntu zur Auswahl. Beides liebe ich wie Sau! Und wie mir scheint, habe ich (Dank eurer Hilfe) den Dreh nach und nach raus, sodass ich den Rechner anschalte und quasi nur auf Recod drücke muss und los gehts : ) Eine wahre Freude.

@Traumflug: Danke auch Dir für die Hilfe. Brauche aber etwas Zeit, um das mal zu testen. Werde demnächst mal berichten, wie das Ganze sich gezeigt hat.

TraumFlug

Avatar von TraumFlug

Anmeldungsdatum:
16. Juli 2009

Beiträge: 999

Wohnort: zwischen den ohren

Wie gesagt, jack und die Programme brauchen Echtzeitrechte, dann kann man auch unter normalem Ubuntu und generic Kernel oft gut arbeiten. Ganz oben der Link zum wiki, oder meine kleine Anleitung (ist alternativ, funktioniert beides), richten das ein. Abprüfbar mit dem Befehl "ulimit -r -l", als der Nutzer, mit dem jack und die Programme gestartet wird/werden. Ein Echtzeit/Lowlatency-Kernel alleine ohne diese Rechte bringt nicht wirklich viel. Dein erstes jack Startlog deutet darauf hin, dass du diese Rechte nicht hattest. Ich vermute mal Sachen wie kxstudio haben die schon automatisch eingerichtet (kannst ja mal mit ulimit nachprüfen), das normale Ubuntu braucht eben das angesprochene Tuning.

Als beispiel was "ulimit -r -l" bei mir mit oben beschriebener Methode ausgibt:

ich@hier:~$ ulimit -r -l
real-time priority              (-r) 95
max locked memory       (kbytes, -l) unlimited

Sollte da eine Null bei "-r" und eine kleine Zahl bei "-l" stehen, ist es noch nicht richtig konfiguriert! Nebenbei: früher startete jack garnicht, wenn die Rechte nicht eingerichtet wurden, und der echtzeitmodus aktiviert war (war standardmässig der Fall)...gab dann hunderttausend Anfragen in Foren deswegen, Heutzutage probieren die Newbs das halt aus, jack läuft trotzdem, nur mit sovielen Aussetzern, dass die angesprochenen Newbs gleich wieder die Finger davon lassen, weil sie denken Linuxaudio wäre viel zu instabil... 😈

Hab' auf jeden Fall die Zahl der "X-Runs" im Auge, wenn du jack benutzt. Qjackcontrol ist da ganz gut, im Normalfall treten nur einzelne (1-2) auf, wenn ein Programm gestartet wird oder man Verbindungen bearbeitet. Alles darüber hinaus sollte Nacharbeit bedeuten. Die Prozessorlast wird da auch angezeigt, ist die zu hoch, gibt's auch aussetzer, egal was man macht. Eine Methode um beides ein bisschen zu lindern ist an den "Frames/Periode" und "Perioden/Puffer" zu drehen (latenz erhöhen), vor allem bei ersterem.

Sohar

(Themenstarter)

Anmeldungsdatum:
1. Juni 2008

Beiträge: 61

Wohnort: PDM

Also meine Herren,

Ich muss schon sagen.... Beide Tips haben mir heute eine anderthalbstündige Recordingsession ohne einen einzigen xrun beschert. Ich danke vielmals !

👍

Sohar

(Themenstarter)

Anmeldungsdatum:
1. Juni 2008

Beiträge: 61

Wohnort: PDM

.... das sollte mal ins wiki. Ganz Recht !

Antworten |