Chargement...
 
Skip to main content

Historique: PAM

Aperçu de cette version: 256


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

Image

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



Introduction


Les versions actuelles de jack proposent le mode temps-réel par défaut, une raison de plus pour s'y mettre dès maintenant !
Mais qu'en est-il exactement ? Comment configurer le système et le régler au mieux ?
Cette page de documentation explique comment obtenir le droit d'utiliser des applications en mode temps réel grâce à P.A.M. sur un système linux. Elle s'applique à toutes les distributions linux qu'elles aient un noyau "normal" ou un noyau RT (Ceci dit, les utilisateurs du noyau RT devront après avoir suivi les procédures décrites ici se rendre obligatoirement sur la page gestion des irq pour compléter le réglage).



Présentation

Pour faire simple, le système interne du noyau linux propose la possibilité de donner à certaines applications (audios dans notre cas) un accès privilégié sur les ressources de l'ordinateur avec une priorité maximale sur toutes les autres applications et c'est ce qui nous intéresse car, en MAO, nous n'avons pas forcément envie qu'une pub en flash dans un navigateur internet nous bloque un enregistrement de 4 pistes !

Pour cela, nous allons utiliser et configurer le module P.A.M. (Pluggable Authentication Modules) qui permet une utilisation facile de cette fonctionnalité. Il s'agit donc de dire à P.A.M. de laisser les ressources de notre choix accessibles pour les applications audio et, deux ressources nous intéressent particulièrement :

  • memlock : La quantité de mémoire vive dont une application peut se réserver pour elle seule
  • rtprio : la priorité maximum accordée à un programme pour accéder aux ressources du processeur

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 ! 😉 Trois étapes (faciles) sont nécessaires :

  • Faire partie du groupe d'utilisateurs audio
  • Donner l'accès temps-réel au groupe d'utilisateurs audio
  • Déconnecter/reconnecter la session


Régler PAM en trois étapes

Faire partie du groupe d'utilisateurs audio

Pour faire partie du groupe d'utilisateurs audio, il existe plusieurs méthodes dont les deux ci-dessous.

Méthode graphique

Une première façon de faire et d'utiliser 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.


Méthode lignes de commandes

Il faut les droits d'administration pour éditer ce réglage, on utilisera donc la super-commande sudo ou su suivant votre distribution.
Entrer la/les commande(s) suivante(s) dans un terminal :
ajouter mon_utilisateur au groupe audio
Copy to clipboard
===pour ubuntu :=== %%%~~blue:$~~ sudo gpasswd -a ''mon_utilisateur'' audio %%%===pour les autres :=== %%%~~blue:$~~ su %%%~~blue:$~~ gpasswd -a ''mon_utilisateur'' audio %%%

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


Pour vérifier
dans un terminal :
lister les groupes actuels
Copy to clipboard
~~blue:$~~ groups


Donner l'accès temps-réel au groupe d'utilisateur audio

La configuration de P.A.M. se fait au travers d'un fichier de configuration : limits.conf ou audio.conf suivant votre distribution.

Localiser le fichier de configuration :

  • Pour les systèmes basés sur Debian à partir de squeeze et ubuntu ou ubuntustudio à partir de 10.04, le fichier s'appelle audio.conf, il se situe ici : /etc/security/limits.d/audio.conf (voir cette discussion).

  • Sur les autres systèmes, le fichier limits.conf se trouve souvent dans le répertoire /etc/security/, mais il peut arriver que ça ne soit pas le cas. Il va donc falloir le localiser, par exemple grâce à un terminal :
    localiser limits.conf avec la commande find
    Copy to clipboard
    ===pour la plupart des systèmes :=== %%%~~blue:$~~ su %%%~~blue:$~~ find / -name limits.conf

    Le retour devrait vous donner quelque chose du genre /etc/security/limits.conf, où /etc/security/ est le répertoire où se trouve le fichier limits.conf

É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
===pour ubuntu 10.04 et suivants :=== %%%~~blue:$~~ gksudo gedit /etc/security/limits.d/audio.conf %%%===ubuntu < 10.04 :=== %%%~~blue:$~~ gksudo gedit /etc/security/limits.conf %%%===debian à partir de squeeze :=== %%%~~blue:$~~ su %%%~~blue:$~~ gedit /etc/security/limits.d/audio.conf %%%===pour le reste :=== %%%su %%%~~blue:$~~ gedit /etc/security/limits.conf %%%(remplacez '' /etc/security/limits.conf'' par le résultat obtenu avec la commande ''find'' ci-dessus)


Le terminal vous demandera votre mot de passe et, une fois entré correctement, l'éditeur de texte va s'ouvrir avec le contenu du fichier de configuration de P.A.M..

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.
Enregistrez et fermez le fichier.

Si vous avez une ligne du genre :
Copy to clipboard
@audio - nice -15

veillez à la commenter en mettant un # devant :
Copy to clipboard
# @audio - nice -15

Déconnecter/reconnecter 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 ! 😉


Et ensuite ?


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 QJackCtl, pour régler celui-ci au mieux et en concordance avec la manipulation que vous venez d'effectuer ici.

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 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, que vous retrouverez dans le menu gauche, section Maîtriser, sont :


Ceci vous permettra à terme d'obtenir des temps de latence plus bas encore ! (quelques millisecondes)

Dans certains cas exceptionnels, il est possible que PAM ne soit pas installé. Par exemple, si vous construisez vous même votre propre distribution (méthode Linux From Scratch) ou que vous utilisez Slackware et que vous choisissez de ne pas utiliser PAM. Dans ce cas, une méthode alternative est d'utiliser set_rlimits (voir sur la page dédiée à l'accès temps réel avancé).

À des fins historiques, nous gardons aussi de coté une page sur les anciennes méthodes pour autoriser l'accès temps réel aux applications. Cette page regroupe les informations concernant :
  • realtime-lsm : une ancienne méthode utilisée avant P.A.M.,
  • les manipulations à effectuer pour utiliser les anciennes versions de PAM < 0.8.
Il est à noter que ces deux méthodes sont à présent obsolètes 😉

Historique

Avancé
Information Version
Fri 03 Dec 2010 20:23 olinuxx info ulimit 257
Afficher
Wed 01 Dec 2010 20:01 olinuxx 256
Afficher
Wed 01 Dec 2010 18:55 pianolivier remontage des "notes de bas de page" 255
Afficher
Wed 01 Dec 2010 17:32 olinuxx 254
Afficher
Wed 01 Dec 2010 17:31 olinuxx 253
Afficher
Wed 01 Dec 2010 17:30 olinuxx notes de bas de page 252
Afficher
Wed 10 Nov 2010 23:41 pianolivier 251
Afficher
Wed 10 Nov 2010 23:38 pianolivier 250
Afficher
Tue 26 Oct 2010 17:49 gilles 249
Afficher
Fri 22 Oct 2010 16:01 olinuxx 248
Afficher
Tue 14 Sep 2010 20:21 olinuxx (mode stylo rouge) 247
Afficher
Tue 14 Sep 2010 20:18 pianolivier 246
Afficher
Tue 14 Sep 2010 18:26 olinuxx 245
Afficher
Tue 14 Sep 2010 18:11 olinuxx 244
Afficher
Tue 14 Sep 2010 18:10 olinuxx 243
Afficher
Tue 14 Sep 2010 18:08 olinuxx 242
Afficher
Fri 03 Sep 2010 14:18 olinuxx 241
Afficher
Thu 02 Sep 2010 22:44 olinuxx 240
Afficher