Frédéric a écrit :
Le Jeudi 16 Juin 2005 02:20, Riquer Vincent (#343341) a écrit :
Je vais tester en root (ou donner les droits à /dev/rtc ?)...
Rien a voir avec /dev/rtc, meme si effectivement ca peut aider pour la
precision. Je parlais plutot du temps réel, qui permet de reduire
largement le delai pour les entrées sorties, en faisant ramer les autres
processus.
Ah, y'a quelque chose qui m'échappe. Tu parle de temps réel avec un noyau
standard ? Ou avec un noyau genre Rtlinux ? dans le premier cas, comment
mettre ça en oeuvre ?
Question subsidiaire : si on lance jackd en root, il pourra être utilisé par
plusieurs utilisateurs en même temps ? Ou uniquement pas l'utilisateur
root ?
Bon, je viens de m'apercevoir que j'ai envoyé ce mail qu'à Frédéric ce
matin, voilà ...
Si je peux apporter mon expérience là dessus ;) ...
J'essaie d'utiliser mon pc avec ma batterie électronique (Rosegarden en
ce qui concerne la partie Midi, Rezound pour tout ce qui est audio),
conjointement avec Jackd (Debian Sid, kernel 2.6.11 fait à la main). Je
manipule Jackd par l'intermédiaire de qjackctl.
En lancant Jackd en utilisateur normal, j'ai pas mal de problème de
Xrun (dès que je bouge une fenêtre, ça monte), bref, c'est pas jouable.
Par contre, c'est vrai qu'en lancant jackd en root (via gksudo et
toujours qjackctl), j'ai quasiement plus de xrun (un ou deux de temps
en temps) : en fait, on peut spécifier des paramètres plus aggressifs
(augmenter la priorité, etc.). Par contre, j'ai l'impression de Rezound
n'arrive pas à s'accrocher à jackd du coup :/ (pas testé avec
Rosegarden, lui et ma batterie ne s'entendent pas très bien encore ;)
Bref, j'en ai conclu que c'était du fait que jackd était lancé en root,
et pas comme Rezound. J'ai commencé à regarder un peu au niveau des
patchs low-latency, dans le même genre de celui qu'on peut trouver pour
le 2.4.
D'après plusieurs articles que j'ai pu lire, les kernels vanilla 2.6
sont toujours moins 'low-latency' qu'un 2.4 patché avec le patch
sus-cité. Par contre, plusieurs projets visent à réduire à obtenir des
temps de latence faible avec un 2.6.
J'ai changé de kernel il y a pas longtemps pour rajouter ça
(
http://sourceforge.net/projects/realtime-lsm/).
Il permet de charger
un module qui peut donner un accès au priorité plus élevés à certains
utilisateurs du système. Donc, en gros, on doit pouvoir lancer jackd en
utilisateur normal, et augmenter sa priorité pour le faire passer en
presque real-time.
J'ai également trouvé un autre patch intéressant
(
http://people.redhat.com/mingo/realtime-preempt/
pour la patch,
http://people.redhat.com/mingo/realtime-preempt/older/ANNOUNCE-voluntary-preempt
pour un peu d'infos), un peu plus bleeding edge (s'appliquent aux
dernières versions du 2.6), mais qui lui, vise vraiment à réduire la
latence (pas comme celui au-dessus qui permet juste d'avoir une
priorité plus élevé). Par contre, j'ai pas encore testé (flemme de
changer de noyau ... )
Bref, voilà mes recherches la-dessus. J'aurais bien voulu donner mon
impression sur le premier pacth (celui que j'ai installé), mais ma
machine a rendu l'âme hier, avant que j'ai eu le temps de faire des
tests. Donc, d'ici que j'ai le courage de voir ce qui a pu griller, il
faudra ce contenter de ça ;)
Jonathan
ps: s'il y a un musicien (batteur de préférence), qui utilise
Rosegarden avec succès (avec comme instrument une batterie de
préférence), ça m'intéresse ... ;)