Chargement...
 
Skip to main content

Historique: PAM

Aperçu de cette version: 357 (courant)


Nous expliquons ici comment obtenir le droit d'utiliser des applications en mode temps réel grâce à P.A.M. sur un système GNU/Linux. Elle s'applique à la plupart des distributions actuelles, qu'elles aient un noyau standard ou un noyau temps-réel.

Si vous utilisez LibraZiK ou Ubuntu Studio ces réglages sont inutiles. Les développeurs se sont occupés de les faire pour vous.





T' as pas configuré P.A.M. ?

tux-gendarme-mobile.png

T' as pas la prio temps-réel !



Présentation

Le noyau linux standard offre la possibilité de donner à certains logiciels un accès privilégié sur les ressources de l'ordinateur avec une priorité maximale sur les autres. Ces logiciels pourront être plus proches du temps-réel et seront moins gênés par les autres.
C'est ce qui nous intéresse car, en MAO, nous n'avons pas forcément envie qu'une pub dans un navigateur internet nous bloque un enregistrement de 4 pistes !

Pour cela, deux configurations sont nécessaires pour debian et ses dérivées :
  • ajouter le compte utilisé pour la MAO au groupe audio, ce qui se fait via le module P.A.M. (Pluggable Authentication Module)
  • donner le maximum de ressources à ce groupe, en réglant la paramètres du noyau memlock (quantité de mémoire vive qu'une application peut se réserver pour elle seule) et rtprio (priorité maximum accordée à un programme pour accéder aux ressources du processeur)

Pour les autres distributions continuez à lire.

Ne vous inquiétez pas quant aux détails, le procédé est largement rodé et nous avons les réglages optimums qui conviennent à tous ! 😉


Régler PAM en trois étapes


Les informations contenues dans ce chapitre concernent les distributions debian et dérivées. Pour ces distributions vous pouvez passer directement à la première étape.

Pour Fedora, installer le paquet _'realtime-setup'_ et ajouter votre utilisateur au groupe realtime et non audio.

Pour Archlinux, installer le paquet _'realtime-privileges'_ et ajouter votre utilisateur au groupe realtime et non audio.

Pour ces deux distributions les paragraphes suivants sont alors déjà pris en compte.

1.1. Faire partie du groupe d'utilisateurs audio

Avec les outils d'administration de votre système

Par exemple pour le bureau Gnome (et donc Ubuntu entre autres) :
  • Allez dans Système -> Administration -> Utilisateurs et groupes.
  • Cliquez sur l'icône en forme de clé. On vous demande votre mot de passe administrateur, entrez-le et validez.
  • Cliquez sur Gérer les groupes.
  • Sélectionnez le groupe audio et cliquez sur Propriétés.
  • Cliquez sur la check-box devant votre nom d'utilisateur, validez (sauf si c'est déjà le cas) et fermez la fenêtre.
groupe-audio.png

En ligne de commande

Vérifiez d'abord que votre utilisateur n'est pas déjà dans le groupe visé en émettant cette commande dans un terminal :
Copy to clipboard
groups

Cette commande liste les groupes Linux dans lesquels se trouve l'utilisateur qui l'a lancée. Si audio ou jackuser n'apparaissent pas, vous n'y êtes pas !

Il faut les droits d'administration pour éditer ce réglage, on utilisera donc la super-commande sudo.
Ajouter mon_utilisateur au groupe audio
Copy to clipboard
sudo gpasswd -a ''mon_utilisateur'' audio

n'oubliez pas bien sûr de remplacer mon_utilisateur par le nom de votre utilisateur !

Il est possible de vérifier que vous êtes bien dans le groupe audio en utilisant cette ligne de code :
Copy to clipboard
fgrep -ie 'audio' /etc/group

1.2. Donner l'accès temps-réel au groupe d'utilisateurs audio


 note

Sous certaines distributions telles que Debian ou dérivées (Ubuntu,...), ce qui suit peut être fait automatiquement en installant JACK par le terminal ou, par la suite, à l'aide la commande suivante avec les droits du super-utilisateur :
Copy to clipboard
dpkg-reconfigure jackd2

Ce qui fait apparaître la question "Faut-il activer la gestion des priorités de processus en temps réel ?" à laquelle il faudra répondre "oui".


Localiser le fichier de configuration de PAM :
Selon votre distribution le fichier à éditer aura un nom différent, essayez dans l'ordre suivant :
  • /etc/security/limits.d/audio.conf : spécifique pour JACK, en général disponible sur système à base de Debian ou Ubuntu
  • /etc/security/limits.d/99-jack.conf : plutôt sous Fedora
  • /etc/security/limits.conf : par défaut et historique il peut coexister avec l'un des fichiers ci-dessus, dans ce cas il ne sert pas

Il peut arriver qu'il se trouve ailleurs. Il va donc falloir le localiser, par exemple dans un terminal :
Localiser limits.conf grâce à son nom
Copy to clipboard
su -c "find /etc/ -name limits.conf"

Localiser limits.conf grâce à son contenu
Copy to clipboard
grep -lir rtprio /etc/security/limits.*


Éditer le fichier de configuration :

Utilisez votre éditeur de texte favori pour modifier le contenu du fichier. Votre éditeur de texte favori peut être gedit si vous utilisez le gestionnaire de bureau gnome, kwrite sous KDE, nano sur un terminal,... On utilisera gedit dans notre cas. Il nous faut ici aussi les droits d'administration :
éditer le fichier de configuration de PAM
Copy to clipboard
su -c "gedit /etc/security/limits.conf"

remplacez bien sûr /etc/security/limits.conf par le fichier trouvé à l'étape ci-dessus.
Vérifiez que les lignes suivantes se trouvent dans le fichier et, si elles n'y sont pas, ajoutez les :
Copy to clipboard
# Support Temps réel pour le groupe audio @audio - rtprio 90 @audio - memlock unlimited

Vérifiez, si ces lignes sont déjà présentes, qu'elles ne commencent pas par un dièse (#) les rendant inopérantes.

Par contre le paramètre suivant est inutile :
Copy to clipboard
@audio - nice -15

Vous pouvez le commenter en mettant un # devant :
Copy to clipboard
# @audio - nice -15

Enregistrez et fermez le fichier.

1.3. Relancez la session

Pour finir, déconnectez-vous de votre session puis reconnectez-vous pour que les changements prennent effet.
Et hop, à table ! C'est prêt ! 😉

Pour vérifier

Copy to clipboard
ulimit -l -r


Qui vous donnera les valeurs enregistrées :
Copy to clipboard
max locked memory (kbytes, -l) unlimited real-time priority (-r) 90


Détails du fichier de configuration

[+]

Liens et commentaires


Avant tout, si vous rencontrez le moindre soucis lorsque vous suivez cette procédure, vous avez 2 choses à faire :
car, comme dit un peu partout sur LinuxMAO.org, cette étape est critique !
Si la manipulation a fonctionné, vous pouvez à présent retourner à la page d'où vous venez. Si vous êtes tombé sur cette page par hasard, vous devriez aller faire un tour sur la page de configuration de jack, pour régler celui-ci au mieux et en concordance avec la manipulation que vous venez d'effectuer ici.

Si vous possédez un noyau temps-réel il vous faudra aussi vous pencher sur la gestion des priorités des processus IRQ.

Si PAM n'est pas installé, allez voir les alternatives sur la page Temps-réel pour les applications.

Si JACK fonctionne déjà et que vous vous intéressez à rendre votre système encore plus temps-réel, continuez à lire.

Pour aller plus loin
Avec rlimits et PAM, les applications accèdent plus rapidement au noyau ce qui permet d'obtenir des temps de latence très faibles (quelques dizaines de millisecondes) largement suffisants pour la plupart des utilisations en MAO. Cependant si vous avez besoin d'un système encore plus Temps-réel les étapes suivantes sont :
Ceci vous permettra à terme d'obtenir des temps de latence plus bas encore ! (quelques millisecondes)



[+]

Historique

Avancé
Information Version
Samedi 12 mai 2012 17:51 pianolivier mise en page 307
Afficher
Samedi 12 mai 2012 17:50 pianolivier 306
Afficher
Samedi 12 mai 2012 17:36 pianolivier restructuration partielle 305
Afficher
Samedi 12 mai 2012 17:25 pianolivier +alias(PAM) 304
Afficher
Samedi 12 mai 2012 17:15 pianolivier intégration de la page ((PAM)) 303
Afficher
Lundi 09 avril 2012 16:30 pianolivier +BOX 302
Afficher
Lundi 09 avril 2012 13:11 pianolivier déplacement d'infos dans ((Gestion des prios)) 301
Afficher
Mercredi 21 mars 2012 19:36 pianolivier fil d'ariane 300
Afficher
Mardi 20 mars 2012 22:01 pianolivier mise en page 299
Afficher
Mardi 20 mars 2012 22:01 pianolivier suppression BOX (début de réorga du dossier) 298
Afficher
Dimanche 11 mars 2012 16:04 pianolivier 297
Afficher
Dimanche 11 mars 2012 16:03 pianolivier 296
Afficher
Dimanche 11 mars 2012 16:02 pianolivier 295
Afficher
Dimanche 11 mars 2012 16:02 pianolivier 294
Afficher
Dimanche 11 mars 2012 16:01 pianolivier mise en page 293
Afficher
Dimanche 11 mars 2012 14:46 pianolivier 292
Afficher
Dimanche 11 mars 2012 14:06 pianolivier 291
Afficher
Dimanche 11 mars 2012 14:05 pianolivier mise en page 290
Afficher
Mercredi 22 février 2012 20:02 Dominique ajour cgroup dans box 289
Afficher
Lundi 09 janvier 2012 19:05 pianolivier auto-correction 288
Afficher
Lundi 09 janvier 2012 19:05 pianolivier +1alias 287
Afficher
Mardi 03 janvier 2012 19:53 pianolivier mode stylo rouge 286
Afficher
Lundi 02 janvier 2012 12:49 olinuxx alias 285
Afficher
Mardi 27 décembre 2011 13:24 olinuxx ponctuation 284
Afficher
Mardi 27 décembre 2011 13:23 olinuxx mise a jour 283
Afficher
Mardi 27 décembre 2011 13:22 olinuxx grrrr :) 282
Afficher
Mardi 27 décembre 2011 13:21 olinuxx mise en page 281
Afficher
Mardi 27 décembre 2011 13:16 olinuxx coquille 280
Afficher
Mardi 22 novembre 2011 19:59 pianolivier mise en page 279
Afficher
Samedi 27 août 2011 15:40 pianolivier 278
Afficher
Samedi 27 août 2011 15:34 pianolivier +fedora + qques améliorations de lecture 277
Afficher
Mercredi 24 août 2011 18:41 pianolivier 276
Afficher
Mercredi 24 août 2011 18:38 pianolivier 275
Afficher
Dimanche 19 juin 2011 11:53 elboulangero 274
Afficher
Mercredi 08 juin 2011 19:29 pianolivier 273
Afficher
Samedi 28 mai 2011 22:58 pianolivier lien qJackctl_configuration > Jack_configuration 272
Afficher
Dimanche 10 avril 2011 23:04 pianolivier 271
Afficher
Dimanche 10 avril 2011 23:02 pianolivier simplification de la formulation 270
Afficher
Dimanche 10 avril 2011 23:00 pianolivier 269
Afficher
Mardi 04 janvier 2011 13:24 olinuxx BOX 268
Afficher
Lundi 20 décembre 2010 22:03 olinuxx + box 267
Afficher
Lundi 13 décembre 2010 19:24 pianolivier 266
Afficher
Lundi 13 décembre 2010 18:55 pianolivier 265
Afficher
Lundi 06 décembre 2010 11:58 olinuxx tests 264
Afficher
Lundi 06 décembre 2010 11:35 olinuxx changement lien interne 263
Afficher
Lundi 06 décembre 2010 10:53 olinuxx retirage d'un lien non utile 262
Afficher
Lundi 06 décembre 2010 10:52 olinuxx changement lien 261
Afficher
Vendredi 03 décembre 2010 20:27 olinuxx 260
Afficher
Vendredi 03 décembre 2010 20:25 olinuxx 259
Afficher
Vendredi 03 décembre 2010 20:24 olinuxx ptits trucs 258
Afficher