Jackd xruns toujours

Bonjour à tous,
Malgré tous mes efforts, je sèche bien, là :stuck_out_tongue:
Comme le dit le titre, jackd xruns toujours.
il se bloque, aussi pour des périodes d’une seconde environ
ce qui est curieux, c’est que j’ai une coupure de la musique avec toute application (amarok/xmms/Juk/…)
mais avec des xruns très faibles :

**** alsa_pcm: xrun of at least 0.033 msecs 23:19:16.687 XRUN callback (78). **** alsa_pcm: xrun of at least 0.027 msecs 23:23:28.262 XRUN callback (79). **** alsa_pcm: xrun of at least 0.024 msecs
Alors ce qui est fait :
le kernel patché en realtime :
(avec aussi : CONFIG_SECURITY_CAPABILITIES=m)

$ uname -a Linux *** 2.6.23.11-rt14 #1 SMP PREEMPT RT Fri Jan 4 14:57:54 CET 2008 x86_64 GNU/Linux
Le module realtime-lsm chargé :

$ lsmod | grep real realtime 8904 0 # à 0 ? bizarre, non ? commoncap 10560 1 realtime
Comme il se doit :

$ dmesg | grep -i real Real-Time Preemption Support (C) 2004-2007 Ingo Molnar Real Time Clock Driver v1.12ac Realtime LSM initialized (group 29, mlock=1)
groupe audio auquel j’appartiens … et reloggé
Niveau matériel :

$ lspci | grep audio 00:04.0 Multimedia audio controller: nVidia Corporation CK804 AC'97 Audio Controller (rev a2) 01:09.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 04)
J’utilise la SBLive pour son port Joystick/MIDI, et son line-in Multichannel (j’ignore comment exploiter ce-dernier)
Et le chipset NVidia, pour sa sortie surround51/spdif
donc pour alsa :

$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: CK804 [NVidia CK804], device 0: Intel ICH [NVidia CK804] Subdevices: 0/1 Subdevice #0: subdevice #0 card 0: CK804 [NVidia CK804], device 2: Intel ICH - IEC958 [NVidia CK804 - IEC958] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: Live [SBLive! Value [CT4670]], device 0: emu10k1 [ADC Capture/Standard PCM Playback] Subdevices: 32/32 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 ... card 1: Live [SBLive! Value [CT4670]], device 2: emu10k1 efx [Multichannel Capture/PT Playback] Subdevices: 8/8 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 ... card 1: Live [SBLive! Value [CT4670]], device 3: emu10k1 [Multichannel Playback] Subdevices: 1/1 Subdevice #0: subdevice #0
et pour jackd :

$ps -C jackd -o args COMMAND /usr/bin/jackd -R -P89 -t200 -dalsa -r48000 -p512 -n2 -D -Chw:1,2 -Phw:0,0 -O1200
Démarré avec qjackctl

J’ai ‘nicé’ plusieurs applications que je savais gourmandes (comme kontact sur de l’IMAP-cache)
Mais même en lançant de la 3D, et plein de trucs, cherchant la saturation, ça avait pas l’air de perturber réellement le son !? :open_mouth:

Plusieurs tests de configuration de jackd, m’ont mené à constater que les réglages sur le latency sont sans grands effets…
De plus, en SoftMode, j’entend, sur la même période, le son se métallise jusqu’à saturation puis revient à la normale -toujours dans la même période
J’ai noté que les xruns arrivaient régulièrement dans les 42,6s -environ-, lorsque Frame/Period est réglé à 128
Et ça passe à quelque-chose de plus long, pour les valeurs supérieures.
(jackd ne démarre pas au-délà de 1024)

Je pense à un problême de synchro -peut-être entre les 2 matériels, mais j’en utilise qu’un en sortie, sans forcément de capture …
J’ai aussi un grand nombre d’incohérences dans le fonctionnement du son (sélection des captures entre-autres) que je pense liées…

Et vous qu’en pensez-vous ?
NB: j’ai aussi un certain nombre d’instabilités, notament sous kde et l’affichage en général :unamused:

Edit: je n’ai pas observé de pics CPU en rapport
Lorsqu’il y a les coupures, l’indicateur de charge de jackd dans qjackctl n’indique rien de particulier

Je m’en doutais :
Plus je m’efforce de me débrouiller, plus je m’éloigne de la possibilité d’être aidé en cas de pépin :cry:
ça semble mathématique… :confused:

essaye de donner plus de prioriter (-10) a tout les périf audio, tu peux t’aider de htop en console qui bien pratique pour faire sa :slightly_smiling:
et regarde si le délai ce réduit ou pas (montre en main et pas avec le systeme,bicause le temp est fausser par le nice)

sinon man renice et man nice. sa devrai en tout cas jouer un role. soi en positif sois en négatif
par contre si le système gèle il faudra être un peux plus patient pour reprendre la main, dans le pire des cas utilise les touche magique :slightly_smiling:

donc log toi sur deux console tty, prépar deja un reboot ou un halt :wink:

Cool htop :smt026
J’avais déjà essayé plus ou moins de jongler avec les nice mais sans trop de retours
Mais pensé à baisser les priorités des autres, non augmenter celles de l’audio
Avec htop je serai plus précis, merci ! :smt023

mais j’ai un doute…
Pas de pic cpu, du tout…
Et même chargé à bloc, pas franchement de gène supplémentaire :smt085
Les xruns ne dépassent pas les 0,070ms, pourtant les trous sont francs dans la musique

J’ai remarqué autre chose :
Je reste branché avec la guitare, sans pb pendant un temps, puis coupure totale des captures
Pour un autre temps, puis reprise
-les 2 périodes semblent proches-
Je dirais même qu’elles ressemblent aux périodes de son metallique lorsque jack est en softmode

Edit: question bête : pourquoi qjackctl lance 5 process de jackd ?

j’ai ça dans htop :

 1  [||||||||                                       13.5%]     Tasks: 170 total, 2 running
 2  [|||||||||||                                    18.8%]     Load average: 0.54 0.88 0.95
 Mem[||||||||||||||||||||||||||||||           1013/2994MB]     Uptime: 02:36:19
 Swp[                                               0/0MB]

  PID   PRI  NI  VIRT   RES    SHR S CPU% MEM%   TIME+  Command
 6150    20   0  173M 30984  25048 S  0.0    1.0      0:47.43  |   `- /usr/bin/qjackctl -session 106269676200011999095210000
18893 -90   0 38728 22400    4420 S  0.6    0.7      0:18.98  |   |   `- /usr/bin/jackd -R -P89 -t200 -dalsa -r48000 -p512
18892  RT   0 38728 22400    4420 S  0.0    0.7      0:00.00  |   |   `- /usr/bin/jackd -R -P89 -t200 -dalsa -r48000 -p512
18891  20   0 38728 22400    4420 S  0.0    0.7      0:00.00  |   |   `- /usr/bin/jackd -R -P89 -t200 -dalsa -r48000 -p512
18890  20   0 38728 22400    4420 S  0.0    0.7      0:00.00  |   |   `- /usr/bin/jackd -R -P89 -t200 -dalsa -r48000 -p512
18889  20   0 38728 22400    4420 S  0.6    0.7      0:19.03  |   |   `- /usr/bin/jackd -R -P89 -t200 -dalsa -r48000 -p512

Je croyais qu’il n’y avait qu’une seule instance de jackd !?

$ ps -C jackd -o pid,pri,ni,args PID PRI NI COMMAND 18889 29 -10 /usr/bin/jackd -R -P89 -t200 -dalsa -r48000 -p512 -n2 -D -Chw:1,2 -Phw:0,0 -O1200 :shock: $ ps ax -o pid,pri,ni,args | grep jackd 18889 29 -10 /usr/bin/jackd -R -P89 -t200 -dalsa -r48000 -p512 -n2 -D -Chw:1,2 -Phw:0,0 -O1200
Bon…
je tente de nicer les process de jack (je vais voir…)
mais 11 xruns le temps de faire tout ça :S

si le nice n’influe en rien, il y a de forte chance pour que sa soie un problème de matériel. seulement je m’y connais pas assez pour en dire plus. essaye peux être avec une autres carte audio si tu en a une sous la pince (désactive celle de la carte mère) et fait un tour dans le bios pour voir si il n’y aurai pas un buffer quelque part, je précise que ce son des suppositions,histoire de te donner des pistes.

pour les sous processus, ce sont des tache effectuée séparément (ou presque), pour en savoir plus il te faut regarder le code source de l’application. :slightly_smiling:

ok np :slightly_smiling:
Merci ! :wink: