Bonsoir à tous,
Je vais essayer de faire court en oubliant pas les détails importants. Alors voilà, j'ai un problème.
Je viens de réinstaller le système de mon ordinateur perso, pour le fun (sisi), et aussi parce que j'en avais un peu marre des bugs et des mises à jour de plusieurs centaines de méga-octets de Debian unstable. J'ai donc installé Squeeze, car maintenant les rétro-portages sont officiels et ça ça le fait. Je suis content j'ai un système tout beau tout propre, en LVM, avec XFCE. C'est un amd64.
J'avais l'habitude d'utiliser le logiciel LMMS (logiciel de composition musicale) en compilant les dernières sources disponibles via git, histoire de suivre un peu le développement et de pouvoir remonter du bug. Donc ni une ni deux, git clone, cmake, make, make install, je refais la même.
Lancement de LMMS (qui cause directement à ALSA, Jack n'est pas utilisé), ouverture du dernier morceau que j'ai fait, pas de problème ça juste marche. Bon, un message dans la console au lancement : "Could not set realtime priority". Ça va je connais le truc, Jack m'ayant gentiment créé un /etc/security/limits.d/audio.conf avec :
@audio - rtprio 95
@audio - memlock unlimited
#@audio - nice -19
je sais que je n'ai qu'à m'ajouter au groupe 'audio' et ça va le faire.
Et c'est là que ça se gâte. Donc relançage de lmms, je n'ai plus le message "Could not set realtime priority", "Cool !" me dis-je, mais voilà, le son craque, il est tout pourri, alors je ne comprends pas et je viens donc m'en remettre à votre sagacité légendaire pour me donner vos idées sur ce dysfonctionnement.
Les infos importantes en vrac :
Si j'utilise Jack (avec QSynth, le backend jack de lmms est moisi) je vois bien une différence entre realtime et sans realtime, à latence égale j'ai clairement moins de xruns quand je suis en temps réel.
J'ai essayé d'installer le noyau 3.2 qui a le patch realtime et qui se trouve dans les backports mais j'ai eu le droit à un kernel panic. Obligé d'utiliser le mode rescue et réinstaller le 2.6 (car visiblement on peut pas avoir le 2.6 et le 3.2 installés en même temps), il y a sûrement un truc que j'ai mal fait…
Qu'en pensez-vous ?
# CGROUP_SCHED ?
Posté par gouttegd . Évalué à 5.
Est-ce que les « control groups » (cgroups) sont activés ? Vérifie les options
CONFIG_CGROUPS
etCONFIG_CGROUP_SCHED
dans la configuration du noyau.Si l’option
CONFIG_CGROUP_SCHED
est activée, donner à une application des privilèges temps-réels ne suffit plus, il faut aussi placer le processus correspondant dans un cgroup approprié.Plus d’infos sur le wiki de Jack.
[^] # Re: CGROUP_SCHED ?
Posté par Marotte ⛧ . Évalué à 3. Dernière modification le 13 juillet 2012 à 20:41.
Ce qui est étonnant c'est que quand j'utilise jack (mettons avec QSynth) là ça marche.
Ça pourrait venir du code de LMMS ? (LMMS n'utilise pas Jack et cause à ALSA directement) Mais bon, ça marchait en unstable…
J'ai pas de /etc/cgconfig.conf ni de /etc/cgrules.conf, mais jackd démarre bien en RT…
[^] # Re: CGROUP_SCHED ?
Posté par gouttegd . Évalué à 3.
Est-ce que libcgroup (ou assimilé, je ne sais pas comment s’appelle le paquet sous Debian) est installé ?
S’il ne l’est pas, alors les cgroups n’ont vraisemblablement rien à voir avec ton problème (auquel cas je n’ai pas d’autre idée).
[^] # Re: CGROUP_SCHED ?
Posté par Marotte ⛧ . Évalué à 3.
Pas installé. Je regarde ça. Merci.
# [HS] downgrading
Posté par zebra3 . Évalué à 2.
Désolé du HS mais je permets d'apporter mon grain de sel, ça t'aurait peut-être évité ton problème ;-)
Dans ce genre de cas, on peut downgrader une Debian. Avec les apt_preferences, il est très simple de passer d'une unstable à une stable.
Il suffit de créer un /etc/apt/preferences comme suit :
Puis quelques coups d'apt-get :
Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur
[^] # Re: [HS] downgrading
Posté par Marotte ⛧ . Évalué à 2.
Ah merci du tuyau. J'essaierai peut-être un jour. Réinstaller complètement ça permet aussi au passage de dégager les applis que l'on utilise pas, de refaire ses configurations de zéro. Je sais que l'on peut le faire sans tout réinstaller, mais à mon avis on perd du temps à faire le tour de ses applications, fichiers, à faire la liste de se que l'on va supprimer. Alors qu'il vaut mieux faire la liste de se que l'on garde, et que l'on installera.
Pour en revenir au problème initial, j'ai mis /tmp sur un tmpfs ça aide un peu mais force est de constater que je n'obtiens pas les mêmes performances qu'avant. C'est pas les mêmes versions des bibliothèques utilisées pour compiler lmms entre squeeze et sid, ça sort pas (enfin presque pas) le même programme c'est un peu normal j'ai envie de dire.
Ce qui est bien c'est que lmms a des performances tout à fait acceptable quand je ne requière pas le temps réel :)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.