jack xruns mit Delta 1010LT

mixer, effekte (ladspa und vst), metronome, notensatz, stimmgeräte und was sonst noch an audio-programmen bleibt...
Antworten
Benutzeravatar
khz
Power User
Power User
Beiträge: 832
Registriert: Mi Sep 12, 2007 9:39 am

jack xruns mit Delta 1010LT

Beitrag von khz »

Hallo,
habe - mal wieder - prob mit jack. Bekomme xruns wenn ich jack starte ohne das irgendein jack-programm laeuft.
Jack lief schonmal gut mit "Latency 5.33 msec". Nach evt. "apt-get install *audio-tools*" haben die xruns eingesetzt, reine Vermutung.
Habe Sidux nach der Wiki eingerichtet.
http://sidux.com/index.php?module=pnWik ... udiostudio

Die Hartware: AMD Athlon(tm) XP 2000+, 1G RAM, M-Audio Delta 1010LT

Code: Alles auswählen

:~$ infobash -v3
Host/Kernel/OS  "eris23LAW" running Linux 2.6.24-2.6.24.4.makke-rt4.2-sidux-686 i686 [ sidux 2007-04.5 - Έρως christmas special - kde-lite - (200712260129) ]
CPU Info        AMD Athlon XP 2000+ 256 KB cache flags( sse ) clocked at [ 1662.080 MHz ]
Videocard       nVidia NV34 [GeForce FX 5200]  X.Org 1.4.0.90  [ 1280x1024@60.0hz ]
Network cards   VIA VT6102 [Rhine-II], at port: e400
Processes 126 | Uptime 4:27 | Memory 383.4/1005.3MB | HDD SAMSUNG SP2014N,SAMSUNG SP2014N Size 400GB (36%used) | Client Shell | Infobash v3.01

Code: Alles auswählen

:~$ uname -r
2.6.24-2.6.24.4.makke-rt4.2-sidux-686

Code: Alles auswählen

:~$ cat /proc/sys/kernel/kernel_preemption
1

Code: Alles auswählen

:~$ cat /proc/driver/rtc
rtc_time        : 22:11:15
rtc_date        : 2008-03-30
rtc_epoch       : 1900
alarm           : **:45:**
DST_enable      : no
BCD             : yes
24hr            : yes
square_wave     : no
alarm_IRQ       : no
update_IRQ      : no
periodic_IRQ    : no
periodic_freq   : 1024
batt_status     : okay

Code: Alles auswählen

:~$ lspci -v
00:0b.0 Multimedia audio controller: VIA Technologies Inc. ICE1712 [Envy24] PCI Multi-Channel I/O Controller (rev 02)
Subsystem: VIA Technologies Inc. M-Audio Delta 1010LT
Flags: bus master, medium devsel, latency 32, IRQ 20
I/O ports at a000 [size=32]
I/O ports at a400 [size=16]
I/O ports at a800 [size=16]
I/O ports at ac00 [size=64]
Capabilities: <access denied>
Kernel driver in use: ICE1712
Kernel modules: snd-ice1712
# --> latency 32? ist da nicht besser latency 248?

Code: Alles auswählen

:~$ cat /proc/interrupts
CPU0
0: 980062 IO-APIC-edge timer
1: 2240 IO-APIC-edge i8042
3: 1 IO-APIC-edge
4: 1 IO-APIC-edge
6: 2 IO-APIC-edge floppy
7: 0 IO-APIC-edge parport0
8: 2 IO-APIC-edge rtc
9: 1 IO-APIC-fasteoi acpi
12: 171770 IO-APIC-edge i8042
14: 16565 IO-APIC-edge ide0
15: 58146 IO-APIC-edge ide1
16: 0 IO-APIC-fasteoi sata_via
17: 0 IO-APIC-fasteoi uhci_hcd:usb1, uhci_hcd:usb2, uhci_hcd:usb3, uhci_hcd:usb4, ehci_hcd:usb5
18: 66791 IO-APIC-fasteoi eth0
19: 0 IO-APIC-fasteoi VIA8237
20: 34875 IO-APIC-fasteoi ICE1712
NMI: 0 Non-maskable interrupts
LOC: 1773132 Local timer interrupts
RES: 0 Rescheduling interrupts
CAL: 0 function call interrupts
TLB: 0 TLB shootdowns
TRM: 0 Thermal event interrupts
SPU: 0 Spurious interrupts
ERR: 0
MIS: 0

Code: Alles auswählen

:~$ ps -e -o pid,cmd,pri | grep IRQ
58 [IRQ-9] 90
262 [IRQ-8] 90
285 [IRQ-12] 90
286 [IRQ-1] 90
548 [IRQ-6] 90
677 [IRQ-14] 90
678 [IRQ-15] 90
679 [IRQ-16] 90
682 [IRQ-17] 90
1363 [IRQ-19] 90
1382 [IRQ-7] 90
1511 [IRQ-20] 90
2182 [IRQ-18] 90
2442 [IRQ-4] 90
2444 [IRQ-3] 90
4548 grep IRQ 19

Code: Alles auswählen

:~$ ps -mo pid,cmd,pri -C jackd
PID CMD PRI
AC@AB:~$ ps -mo pid,cmd,pri -C jackd
PID CMD PRI
4570 /usr/bin/jackd -R -P89 -p12 -
- - 19
- - 19
- - 19
- - 19
- - 129

Code: Alles auswählen

:~$ cat /etc/modules |grep snd
snd_via82xx
snd_ice1712

Code: Alles auswählen

:~$ cat /etc/security/limits.conf |grep @audio
@audio - rtprio 90
@audio - nice -5
@audio - memlock unlimited
#@audio - memlock 750000

Code: Alles auswählen

:~$ groups
khz dialout cdrom floppy audio dip video plugdev users fuse scanner powerdev netdev

Code: Alles auswählen

:~$ id
uid=1000(khz) gid=1000(khz) Gruppen=20(dialout),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),100(users),101(fuse),104(scanner),110(powerdev),112(netdev),1000(khz)

Code: Alles auswählen

:/# hdparm -d /dev/hda

/dev/hda:
using_dma = 1 (on)

Code: Alles auswählen

:~$ cat .jackdrc
/usr/bin/jackd -R -P89 -p128 -t2000 -u -dalsa -r48000 -p128 -n2 -D -Chw:1 -Phw:1 -s -m -H -M -I1 -O2
Die xruns:

Code: Alles auswählen

20:57:18.494 Startup script...
20:57:18.495 artsshell -q terminate
20:57:18.933 Startup script terminated with exit status=256.
20:57:18.935 JACK is starting...
20:57:18.937 /usr/bin/jackd -R -P89 -p128 -t2000 -u -dalsa -r48000 -p128 -n2 -D -Chw:1 -Phw:1 -s -m -H -M -I1 -O2
20:57:18.958 JACK was started with PID=4642.
jackd 0.109.2
Copyright 2001-2005 Paul Davis and others.
jackd 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 compiled with System V SHM support.
loading driver ..
apparent rate = 48000
creating alsa driver ... hw:1|hw:1|128|2|48000|0|0|hwmon|hwmeter|soft-mode|32bit
control device hw:1
configuring for 48000Hz, period = 128 frames (2.7 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 32bit little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 32bit little-endian
ALSA: use 2 periods for playback
cannot use real-time scheduling (FIFO at priority 99) [for thread -1228854384, from thread -1228854384] (1: Operation not permitted)
delay of 5328.000 usecs exceeds estimated spare time of 2647.000; restart ...
20:57:21.069 Server configuration saved to "/home/khz/.jackdrc".
20:57:21.071 Statistics reset.
20:57:21.075 Client activated.
20:57:21.083 JACK connection change.
20:57:21.115 JACK connection graph change.
20:57:22.561 XRUN callback (1).
delay of 12836.000 usecs exceeds estimated spare time of 2586.000; restart ...
20:57:24.187 XRUN callback (2).
delay of 5298.000 usecs exceeds estimated spare time of 2577.000; restart ...
delay of 5309.000 usecs exceeds estimated spare time of 2577.000; restart ...
20:57:25.094 XRUN callback (1 skipped).
20:57:25.383 XRUN callback (4).
delay of 12366.000 usecs exceeds estimated spare time of 2573.000; restart ...
20:57:25.581 Client deactivated.
20:57:25.583 JACK is stopping...
jack main caught signal 15
no message buffer overruns
20:57:25.624 JACK was stopped successfully.
20:57:25.625 Post-shutdown script...
20:57:25.626 killall jackd
jackd: Kein Prozess abgebrochen
20:57:26.039 Post-shutdown script terminated with exit status=256.
Wo kann ich was veraendern das jack wieder mit "5.33 msec" laeuft?
Jede Hilfe, jeder Tip ist willkommen :)

thx
khz
Zuletzt geändert von khz am Mo Mär 31, 2008 1:54 pm, insgesamt 3-mal geändert.
Benutzeravatar
khz
Power User
Power User
Beiträge: 832
Registriert: Mi Sep 12, 2007 9:39 am

Beitrag von khz »

jack Verbose messages:

Code: Alles auswählen

22:52:33.026 Startup script...
22:52:33.030 artsshell -q terminate
22:52:33.473 Startup script terminated with exit status=256.
22:52:33.474 JACK is starting...
22:52:33.475 /usr/bin/jackd -v -R -P89 -p128 -t2000 -u -dalsa -r48000 -p128 -n2 -D -Chw:1 -Phw:1 -s -m -H -M -I1 -O2
getting driver descriptor from /usr/lib/jack/jack_dummy.so
getting driver descriptor from /usr/lib/jack/jack_alsa.so
getting driver descriptor from /usr/lib/jack/jack_freebob.so
getting driver descriptor from /usr/lib/jack/jack_oss.so
22:52:33.510 JACK was started with PID=4752.
jackd 0.109.2
Copyright 2001-2005 Paul Davis and others.
jackd 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 compiled with System V SHM support.
server `default' registered
registered builtin port type 32 bit float mono audio
registered builtin port type 8 bit raw midi
clock source = system clock via clock_gettime
loading driver ..
new client: alsa_pcm, id = 1 type 1 @ 0x805aca8 fd = -1
apparent rate = 48000
creating alsa driver ... hw:1|hw:1|128|2|48000|0|0|hwmon|hwmeter|soft-mode|32bit
control device hw:1
configuring for 48000Hz, period = 128 frames (2.7 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 32bit little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 32bit little-endian
ALSA: use 2 periods for playback
new buffer size 128
registered port system:capture_1, offset = 512
registered port system:capture_2, offset = 1024
registered port system:capture_3, offset = 1536
registered port system:capture_4, offset = 2048
registered port system:capture_5, offset = 2560
registered port system:capture_6, offset = 3072
registered port system:capture_7, offset = 3584
registered port system:capture_8, offset = 4096
registered port system:capture_9, offset = 4608
registered port system:capture_10, offset = 5120
registered port system:capture_11, offset = 5632
registered port system:capture_12, offset = 6144
registered port system:playback_1, offset = 0
registered port alsa_pcm:monitor_1, offset = 6656
registered port system:playback_2, offset = 0
registered port alsa_pcm:monitor_2, offset = 7168
registered port system:playback_3, offset = 0
registered port alsa_pcm:monitor_3, offset = 7680
registered port system:playback_4, offset = 0
registered port alsa_pcm:monitor_4, offset = 8192
registered port system:playback_5, offset = 0
registered port alsa_pcm:monitor_5, offset = 8704
registered port system:playback_6, offset = 0
registered port alsa_pcm:monitor_6, offset = 9216
registered port system:playback_7, offset = 0
registered port alsa_pcm:monitor_7, offset = 9728
registered port system:playback_8, offset = 0
registered port alsa_pcm:monitor_8, offset = 10240
registered port system:playback_9, offset = 0
registered port alsa_pcm:monitor_9, offset = 10752
registered port system:playback_10, offset = 0
registered port alsa_pcm:monitor_10, offset = 11264
++ jack_rechain_graph():
client alsa_pcm: internal client, execution_order=0.
-- jack_rechain_graph()
cannot use real-time scheduling (FIFO at priority 99) [for thread -1228403824, from thread -1228403824] (1: Operation not permitted)
4752 waiting for signals
load = 0.5814 max usecs: 31.000, spare = 2635.000
22:52:35.637 Server configuration saved to "/home/khz/.jackdrc".
22:52:35.639 Statistics reset.
22:52:35.642 Client activated.
22:52:35.653 JACK connection change.
22:52:35.677 JACK connection graph change.
new client: qjackctl, id = 2 type 2 @ 0xb7f4d000 fd = 17
++ jack_rechain_graph():
client alsa_pcm: internal client, execution_order=0.
client qjackctl: start_fd=7, execution_order=0.
client qjackctl: wait_fd=9, execution_order=1 (last client).
-- jack_rechain_graph()
load = 1.9786 max usecs: 90.000, spare = 2576.000
load = 3.0711 max usecs: 111.000, spare = 2555.000
22:52:38.584 XRUN callback (1).
delay of 5243.000 usecs exceeds estimated spare time of 2555.000; restart ...
delay of 5219.000 usecs exceeds estimated spare time of 2555.000; restart ...
load = 3.6736 max usecs: 114.000, spare = 2552.000
delay of 5323.000 usecs exceeds estimated spare time of 2552.000; restart ...
delay of 5250.000 usecs exceeds estimated spare time of 2552.000; restart ...
delay of 5308.000 usecs exceeds estimated spare time of 2552.000; restart ...
delay of 5324.000 usecs exceeds estimated spare time of 2552.000; restart ...
22:52:39.673 XRUN callback (5 skipped).
load = 3.5622 max usecs: 92.000, spare = 2574.000
load = 3.4690 max usecs: 90.000, spare = 2576.000
22:52:41.487 XRUN callback (7).
delay of 5260.000 usecs exceeds estimated spare time of 2576.000; restart ...
load = 3.4787 max usecs: 93.000, spare = 2573.000
load = 3.5210 max usecs: 95.000, spare = 2571.000
22:52:42.995 Client deactivated.
22:52:42.998 JACK is stopping...
++ jack_rechain_graph():
client alsa_pcm: internal client, execution_order=0.
-- jack_rechain_graph()
removing disconnected client qjackctl state = Not triggered errors = 0
removing client "qjackctl"
removing client "qjackctl" from the processing chain
++ jack_rechain_graph():
client alsa_pcm: internal client, execution_order=0.
-- jack_rechain_graph()
jack main caught signal 15
starting server engine shutdown
stopping driver
unloading driver
freeing shared port segments
stopping server thread
stopping watchdog thread
last xrun delay: 5260.000 usecs
max delay reported by backend: 5324.000 usecs
freeing engine shared memory
max usecs: 114.000, engine deleted
no message buffer overruns
cleaning up shared memory
cleaning up files
unregistering server `default'
22:52:43.062 JACK was stopped successfully.
22:52:43.064 Post-shutdown script...
22:52:43.065 killall jackd
jackd: Kein Prozess abgebrochen
22:52:43.481 Post-shutdown script terminated with exit status=256.
Zuletzt geändert von khz am Mo Mär 31, 2008 1:48 pm, insgesamt 1-mal geändert.
Benutzeravatar
linuxchaos
Site Admin
Site Admin
Beiträge: 1312
Registriert: Mo Mär 03, 2003 9:32 pm
Kontaktdaten:

Beitrag von linuxchaos »

hallo,

kann dir leider nicht weiterhelfen, aber schau mal hier:
khz hat geschrieben: cannot use real-time scheduling (FIFO at priority 99) [for thread -1228403824, from thread -1228403824] (1: Operation not permitted)
sieht irgendwie nach problemen mit dem realtime-kernel aus. hab keine ahnung was, aber ich würde mir nochmal den anfang von dieser sidux-seite anschauen, ob da alles stimmt (richtiger kernel installiert und gebootet und allles richtig eingetragen und so)...

viel erfolg

grüsse l.chaos
http://www.audiowerkstatt.de
Benutzeravatar
khz
Power User
Power User
Beiträge: 832
Registriert: Mi Sep 12, 2007 9:39 am

Beitrag von khz »

Zuletzt geändert von khz am Mo Mär 31, 2008 1:47 pm, insgesamt 3-mal geändert.
Benutzeravatar
khz
Power User
Power User
Beiträge: 832
Registriert: Mi Sep 12, 2007 9:39 am

Beitrag von khz »

horo hat geschrieben:hast Du den Kernel erneuert? Bei mir läuft's mit 2.6.22...-rt und 2.6.23...-rt sehr viel besser als mit diversen 2.6.24...-rt (alle Kernel sowohl -makke und auch Eigenübersetzung).
Reproduzierbares Verhalten auf 'nem frisch installierten sidux xmas-07 mit aktuellem -makke als auch auf nem aktuellen kanotix (mit selbstgebauten 2.6.24-rt Kernel); auf beiden Systemen (gleiche HW) treten xruns von selber auf, wie von Dir beschrieben.
evt. Kernel Version prob. Teste ich mal.
Benutzeravatar
khz
Power User
Power User
Beiträge: 832
Registriert: Mi Sep 12, 2007 9:39 am

Beitrag von khz »

Hy,
die limits.conf

Code: Alles auswählen

@audio - rtprio 90
@audio - nice -5
@audio - memlock unlimited
#@audio - memlock 750000
sieht ok aus finde ich.

Was ich merkwürdig finde:
-P89

Code: Alles auswählen

:~$ cat .jackdrc
/usr/bin/jackd -R -P89 -p128 -t2000 -u -dalsa -r48000 -p128 -n2 -D -Chw:1 -Phw:1 -s -m -H -M -I1 -O2

Code: Alles auswählen

cannot use real-time scheduling (FIFO at priority 99) [for thread -1228854384, from thread -1228854384] (1: Operation not permitted)
Jack läuft mit xruns.

Wenn ich z.b.
-P79

Code: Alles auswählen

 /usr/bin/jackd -R -P79 -p128 -t2000 -u -dalsa -r48000 -p128 -n2 -D -Chw:1 -Phw:1 -s -m -H -M -I1 -O2
erscheint die Fehlermeldung (siehe oben (FIFO at priority 99)) NICHT.
Jack läuft mit xruns.

Wenn ich OHNE Realtime jack starte läuft er problemlos

Code: Alles auswählen

/usr/bin/jackd -p128 -t2000 -u -dalsa -r48000 -p128 -n2 -D -Chw:1 -Phw:1 -s -m -H -M -I1 -O2
und kann mehrere jack-programme öffnen OHNE xruns.
khz
Benutzeravatar
khz
Power User
Power User
Beiträge: 832
Registriert: Mi Sep 12, 2007 9:39 am

Beitrag von khz »

Habe zum Test mal einen 2.6.23.1-rt5-makke-s22_1_i386 Kernel install (thx horo).

Mit 2.6.23.1-rt5-makke-s22_1_i386:
-P89

Code: Alles auswählen

/usr/bin/jackd -R -P89 -p128 -t2000 -u -dalsa -r48000 -p128 -n2 -D -Chw:1 -Phw:1 -s -m -H -M -I1 -O2 

Code: Alles auswählen

cannot use real-time scheduling (FIFO at priority 99) [for thread -1228440688, from thread -1228440688] (1: Operation not permitted)
# -P89 |--| (FIFO at priority 99) <-- ?

Mit -P79: Keine Fehlermeldung aber xruns (sehr wenige bzw über längere Zeit).
Ohne -R gar keine xruns.

Mit 2.6.24-2.6.24.4.makke-rt4.2-sidux-686: -P89 wie beim 2.6.23.1 Kernel,
bei -P79 auch wie beim 2.6.23.1 Kernel doch es treten mehr/schneller xruns auf.
Ohne -R gar keine xruns.

khz
Benutzeravatar
khz
Power User
Power User
Beiträge: 832
Registriert: Mi Sep 12, 2007 9:39 am

Beitrag von khz »

Von horo eine Antwort:
Das liegt wohl daren, dass qjackctl einen jackd (als Watchdog ?) mit Priorität+10 starten will (89+10->99), aber nur Prioritäten bis 90 möglich sind. P81 gibt 'nen Fehler (FIFO at priority 91), P80 läuft ohne Fehler. Das ändert aber nix an den xruns mit 2.6.24...
Sowohl der interne CS46xx als auch ein externer usb-audio (Burr-Brown (Texas Inst. Japan) PCM2902 Chip) zeigen xruns, auch wenn keine clients laufen, bei 2.6.22 bzw 2.6.23 ist (fast) Ruhe. Auch probeweises Stillegen von ACPI, das bis ca. 2.6.16.xx diverse Probleme bereitete (kein sauberer shutdown, Hänger,...), ändert nichts. Die Interrupts habe ich im Bios soweit wie möglich aufgedröselt:
cat /proc/interrupts
rtirq.sh status

http://sidux.com/index.php?name=PNphpBB ... 41659f636d
Benutzeravatar
khz
Power User
Power User
Beiträge: 832
Registriert: Mi Sep 12, 2007 9:39 am

Beitrag von khz »

Jo,

war der Dienst powersaved/kpowersave dran beteiligt.
Nun rennt jack soweit --fein.

eris
Benutzeravatar
khz
Power User
Power User
Beiträge: 832
Registriert: Mi Sep 12, 2007 9:39 am

Beitrag von khz »

Wegen mehrere Soundkarten:
wird nicht in

Code: Alles auswählen

/etc/modules
eingetragen sondern in

Code: Alles auswählen

:~$ cat /etc/modprobe.d/sound
alias snd-card-0 snd-via82xx
options snd-via82xx index=0

alias snd-card-0 snd-ice1712
options snd-ice1712 index=1
So funkt bei mir.
Mehrmals für die verschiedenen Soundkarten "alsaconf" verwenden und den code sichern, danach zusammenfügen.
"snd-card-0 / snd-card-0"
oder
"snd-card-0 / snd-card-1"
???
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast