Skip to main content

5 - Les serveurs son : JACK, PipeWire, PulseAudio et autres...


[RESOLU] RT jack : "cannot use real-time scheduling"

Bonjour !

Voilà, trouvant mon sytême audio instable (beaucoup de plantages avec qjackctl, hydrogen, zynaddsubfx, rosegarden lancé simultanéménent), je me suis mis à la recherche de failles dans ma configuration.

J'ai alors trouvé ce message dans le démarrage de jack :

cannot use real-time scheduling (FIFO at priority 10) for thread -1217464640, from thread -1217464640 (1: Operation not permitted)

J'ai alors vérifié mon noyau rt. Voici les options dont j'ai vérifié l'activation :
-High Resolution Timer Support
-Preemption Mode (Complete Preemption (Real-Time))
-Timer frequency (1000 HZ)
-Magic SysRq key
-Enable different security models

Par contre:
-je n'ai pas trouvé l'ACPI pour le timer, et je n'ai pas désactivé l'ACPI en général.
-je n'ai pas trouvé cette option Character devices ---> Enhanced Real Time Clock Support
-je n'ai pas trouvé l'option alsa : RTC Timer support

J'ai PAM installé avec les valeurs suivantes dans /etc/security/limits.conf
@audio - rtprio 90
@audio - nice -10
@audio - memlock 500000

Je suis bien dans le groupe audio.


Si j'enlève les paramètres de limits.conf qjackctl ne démarre plus! Donc ces options ont bien un effet ! Pourquoi alors ai-je encore ce message dans qjaclctl?


Quelqu'un à t-il une idée sur quelques vérification à faire ?

CONFIG:
kernel 2.6.31.12-rt20
qjackctl-0.3.3
jack-audio-connection-kit-0.109.2-r1
Quelle distribution? Et qu'est-ce que uname -a dans un terminal donne? Et QjackCtl 0.3.3 avec JACK 0.109.2, c'est assez vieux, bien que ton kernel soit assez récent.
Donc je suis sous gentoo avec l'overlay proaudio.

uname -a :
Linux prunkPC 2.6.31.12-rt20 #5 SMP PREEMPT RT Sun Mar 7 13:34:48 CET 2010 i686 AMD Athlon(tm) XP 2500+ AuthenticAMD GNU/Linux
Cet erreur n'a que deux causes: soit tu n'es pas membre du groupe audio soit tu as fait un erreur dans le fichier /etc/security/limits.conf
Mais comme tu es sur Gentoo je m'en doute que c'est ça. Concernant les options du kernel, même avec un kernel non-rt on peut faire fonctionner jackd en rt. Et en plus, Real Time Clock c'est qqch lié à MIDI je pense. Magic SysRQ n'a rien a voir avec audio non plus (ce sont des codes qu'on peut générer avec le bouton sys rq), comme les modèles de sécurité. Ce qui compte ce sont le mode preemtible et la fréquence du timer.
Donc mon nom d'utilisateur est prunkdump.

fichier /etc/group:
audio::18:prunkdump

fichier /etc/security/limits.conf:
@audio - rtprio 90
@audio - nice -10
@audio - memlock 500000

Une idée?
Franchement non 🙁
Je me connais pas en Gentoo malheureusement. Les fichiers group et limits.conf sont corrects, peut-être qqch avec PAM? Tu peux vite verifier si c'est une question de droits en lançant JACK comme root. Mais tu l'as essayé probablement déjà...
Merci pour toute cette attention 😀

Auntrement c'est un problème de permission ! (Operation not permitted) Le problème est de savoir d'ou il vient. Pas de limits.conf apparement. Je n'arrive pas à deviner quelle ressource est bloquée. Mais autrement en root ça marche.

Voilà.
Merci pour toute cette attention 😀

Autrement c'est un problème de permission ! (Operation not permitted) Le problème est de savoir d'ou il vient. Pas de limits.conf apparement. Je n'arrive pas à deviner quelle ressource est bloquée. Mais autrement en root ça marche.

Voilà.
France
salut !
Cet erreur n'a que deux causes: soit tu n'es pas membre du groupe audio soit tu as fait un erreur dans le fichier /etc/security/limits.conf

c'est ce que je pense aussi
peux tu nous renvoyer le résultat "tel quel" de
Copy to clipboard
cat /etc/secutity/limits.conf

plutot que de recopier à la main, ca permettrai peut etre de repérer une eventuelle faute de frappe.

aussi : quelle est la taille totale de ta mémoire ?

envoie le log complet du lancement de jackd, avec la commande pour verifier les options de configuration

il serai aussi judicieux de mettre a jour ton overlay et tes applications (en particulier pam et jack), n'hesite pas a abuser de portage.keywords pour les applications audio (sans pour autant passer à la version 2 de jack)

oliv'
Alors :

1)le limit.conf
Copy to clipboard
# /etc/security/limits.conf # #Each line describes a limit for a user in the form: # # # #Where: # can be: # - an user name # - a group name, with @group syntax # - the wildcard *, for default entry # - the wildcard %, can be also used with %group syntax, # for maxlogin limit # # can have the two values: # - "soft" for enforcing the soft limits # - "hard" for enforcing hard limits # # can be one of the following: # - core - limits the core file size (KB) # - data - max data size (KB) # - fsize - maximum filesize (KB) # - memlock - max locked-in-memory address space (KB) # - nofile - max number of open files # - rss - max resident set size (KB) # - stack - max stack size (KB) # - cpu - max CPU time (MIN) # - nproc - max number of processes # - as - address space limit (KB) # - maxlogins - max number of logins for this user # - maxsyslogins - max number of logins on the system # - priority - the priority to run user process with # - locks - max number of file locks the user can hold # - sigpending - max number of pending signals # - msgqueue - max memory used by POSIX message queues (bytes) # - nice - max nice priority allowed to raise to values: [-20, 19] # - rtprio - max realtime priority # # # @audio - rtprio 90 @audio - nice -10 @audio - memlock 500000 #* soft core 0 #* hard rss 10000 #@student hard nproc 20 #@faculty soft nproc 20 #@faculty hard nproc 50 #ftp hard nproc 0 #@student - maxlogins 4 # End of file


2)la mémoire :
Copy to clipboard
cat /proc/meminfo MemTotal: 1030612 kB


3)commande de lancement de jackd et log
Copy to clipboard
prunkdump@prunkPC ~ $jackd -R -P89 -dalsa -dhw:0 -r48000 -p256 -n2 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:0|hw:0|256|2|48000|0|0|nomon|swmeter|-|32bit control device hw:0 configuring for 48000Hz, period = 256 frames (5.3 ms), buffer = 2 periods ALSA: final selected sample format for capture: 16bit little-endian ALSA: use 2 periods for capture ALSA: final selected sample format for playback: 16bit little-endian ALSA: use 2 periods for playback cannot use real-time scheduling (FIFO at priority 99) [for thread -1237075056, from thread -1237075056] (1: Operation not permitted) ^Cjack main caught signal 2 no message buffer overruns


Pour la mise à jour de l'overlay et le réglage des keywords je suis pas encore au point. Je en sais pas trop comment faire.

Merci.
Je crois qu'il faut baisser la priorité de JACK ou d'augmenter rtprio à 99 dans limits.conf si tu veux utiliser 89 comme prio pour JACK. Quel est le résultat de ps -eLo pid,cls,rtprio,pri,nice,cmd | grep -i "irq" ?
C'est bon ça marche ! Avec rtprio à 99 plus de problèmes !

Avant de marquer en résolu, tu pourrais m'expliquer le problème? J'avais mit 89 dans jackd en pensant que c'était la première valeur inférieure à 90. Pourquoi il faut 10 d'écart entre les deux prioritées?

Ps : voici le résultat de ta commande avec jack lancé :
Copy to clipboard
4 FF 49 89 - [sirq-high/0] 5 FF 49 89 - [sirq-timer/0] 6 FF 49 89 - [sirq-net-tx/0] 7 FF 49 89 - [sirq-net-rx/0] 8 FF 49 89 - [sirq-block/0] 9 FF 49 89 - [sirq-tasklet/0] 10 FF 49 89 - [sirq-sched/0] 11 FF 49 89 - [sirq-hrtimer/0] 12 FF 49 89 - [sirq-rcu/0] 249 FF 50 90 - [irq/9-acpi] 599 FF 50 90 - [irq/14-ide0] 600 FF 50 90 - [irq/15-ide1] 643 FF 50 90 - [irq/21-ehci_hcd] 648 FF 50 90 - [irq/20-ohci_hcd] 652 FF 50 90 - [irq/22-ohci_hcd] 664 FF 50 90 - [irq/1-i8042] 675 FF 50 90 - [irq/8-rtc0] 723 FF 50 90 - [irq/21-NVidia n] 3614 FF 50 90 - [irq/22-eth0] 12305 FF 50 90 - [irq/19-radeon@p] 12517 TS - 19 0 grep --colour=auto -i irq

Désolé, je sais plus d'où j'ai pris ça. Dès que j'ai retrouvé l'information je le posterai. Je sais qu'il faut donner JACK pas une priorité supérieure à les modules ALSA et ces modules ont une prio aux alentours de 80. Peut-être que c'était ça le problème.
salut
content que ça marche
tu peux mettre un résolu dans le titre du thread steup ? voir ici.

merci

jy