Skip to main content

Historique: PAM

Aperçu de cette version: 317

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 GNU/Linux. Elle s'applique à la plupart des distributions actuelles, qu'elles aient un noyau standard ou un noyau temps-réel.

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

Image

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



Présentation

Comme expliqué plus en détails sur cette page, 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 logiciels (prio temps-réel) : 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 d'utiliser le mécanisme rlimits du noyau. 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 qu'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

note : pour Fedora, il faut substituer le groupe jackuser à 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

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

Il faut les droits d'administration pour éditer ce réglage, on utilisera donc la super-commande su.
ajouter mon_utilisateur au groupe audio
Copy to clipboard
~~blue:$~~ su -c "gpasswd -a ''mon_utilisateur'' audio"

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



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


Localiser le fichier de configuration de PAM :

Comme il ne s'agit pas exactement du même fichier en fonction de la distribution utilisée, voici les différentes possibilités rapportées sur le forum :
  • Pour les systèmes basés sur Debian (squeeze et plus) et ubuntu (ou ubuntustudio 10.04 et plus), le fichier s'appelle audio.conf, et il est installé par JACK. Il se situe ici : /etc/security/limits.d/audio.conf (voir cette discussion).
  • Pour les versions récentes de Fedora, il s'agit du fichier /etc/security/limits.d/99-jack.conf
  • Sur les autres systèmes, on trouvera généralement un fichier /etc/security/limits.conf, mais il peut arriver que ça ne soit pas le cas. Il va donc falloir le localiser, par exemple dans un terminal :
    localiser limits.conf grace à son nom
    Copy to clipboard
    ~~blue:$~~ su -c "find /etc/ -name limits.conf"

    localiser limits.conf grace à son contenu
    Copy to clipboard
    ~~blue:$~~ 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
~~blue:$~~ su -c "gedit /etc/security/limits.conf"

remplacez biensû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.

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

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

Enregistrez et fermez le fichier.

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 ! 😉

Pour vérifier

Copy to clipboard
~~blue:$~~ ulimit -l -r


Qui vous donnera normalement une réponse comme celle-ci :
Copy to clipboard
max locked memory (kbytes, -l) 700000 real-time priority (-r) 90


Détails du fichier de configuration

[+]

Liens


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

Information Version
Fri 07 Feb 2025 19:04 jujudusud suppression d'un mot en double. 357
Afficher
Sun 10 Nov 2024 12:29 jujudusud mise en page + refactorisaton des informations. 356
Afficher
Sun 10 Nov 2024 12:19 jujudusud coquille + mise en page. 355
Afficher
Sun 10 Nov 2024 12:16 jujudusud mise des informations pour fedora et archlinux. 354
Afficher
Sun 10 Nov 2024 12:06 jujudusud précision que ce n'est valable que pour debian et dérivées. 353
Afficher
Sun 10 Nov 2024 12:01 jujudusud suppression de "flash" qui n'existe plus. reformulation. 352
Afficher
Sat 31 Aug 2024 15:56 olinuxx + coquille 351
Afficher
Sun 25 Aug 2024 18:30 jujudusud Reformulation et suppression de la version LTS 14.04 qui n'est plus d'actualité. 350
Afficher
Tue 02 Feb 2021 22:45 olinuxx + liens internes + précisions + ponctuation 349
Afficher
Mon 01 Feb 2021 17:33 funkypou 348
Afficher
Mon 01 Feb 2021 17:31 funkypou 347
Afficher
Sat 19 Sep 2020 13:03 olinuxx + espace insécable 346
Afficher
Sat 19 Sep 2020 13:00 olinuxx suppression tango studio 345
Afficher
Fri 18 Sep 2020 13:43 tpeyron J'ai ajouté une méthode supplémentaire pour vérifier que l'on est bien dans le groupe audio de ubuntu 344
Afficher
Fri 18 Sep 2020 13:43 tpeyron J'ai ajouté une méthode supplémentaire pour vérifier que l'on est bien dans le groupe audio de ubuntu 343
Afficher
Mon 24 Feb 2020 23:18 jujudusud 342
Afficher
Mon 06 mai 2019 17:53 olinuxx + coquilles 341
Afficher
Mon 06 mai 2019 17:53 olinuxx + coquille 340
Afficher
Sat 01 Apr 2017 11:54 olinuxx 339
Afficher
Sat 23 Jan 2016 12:39 olinuxx mise à jour du lien 338
Afficher
Fri 06 Nov 2015 14:42 olinuxx Recherche et remplacement en masse 337
Afficher
Thu 23 Oct 2014 09:58 Mr.GOODMOOD 336
Afficher
Thu 23 Oct 2014 09:57 Mr.GOODMOOD 335
Afficher
Thu 23 Oct 2014 09:57 Mr.GOODMOOD 334
Afficher
Tue 02 Sep 2014 23:01 olinuxx arrrrrgggghhhh 333
Afficher
Tue 02 Sep 2014 22:03 olinuxx Recherche et remplacement en masse 332
Afficher
Tue 02 Sep 2014 21:56 olinuxx Recherche et remplacement en masse 331
Afficher
Tue 02 Sep 2014 21:47 olinuxx Recherche et remplacement en masse 330
Afficher
Tue 08 Jul 2014 19:45 WorkInProgress correction 500Mio*0.5 = 250 000 "octect" -> "kio" 329
Afficher
Thu 13 Feb 2014 08:38 romain_bar Rafraîchissement 328
Afficher
Thu 13 Feb 2014 08:15 romain_bar Capture d'écran 327
Afficher
Wed 12 Feb 2014 23:26 romain_bar Simplification de la présentation 326
Afficher
Sat 01 Feb 2014 11:04 olinuxx 325
Afficher
Sat 01 Feb 2014 11:01 olinuxx 324
Afficher
Sun 08 Dec 2013 11:10 romain_bar Explication 323
Afficher
Thu 07 Nov 2013 15:00 pianolivier wiki_up conversion 322
Afficher
Tue 20 Aug 2013 18:24 olinuxx retirage des balises bleues ne fonctionnant plus avec cette version de tiki. Y'a certainement moyen de faire mieux en remettant ceci d'aplomb, mais je suis sur un autre chantier. Ca m'a semblait trop 321
Afficher
Wed 13 Mar 2013 11:37 utilisateur_anonyme2 320
Afficher
Tue 12 Mar 2013 11:27 utilisateur_anonyme2 319
Afficher
Fri 01 Mar 2013 21:08 xzu précisions-reformulations-corrections 318
Afficher
Wed 27 Feb 2013 20:11 utilisateur_anonyme2 317
Afficher
Mon 24 Sep 2012 04:21 olinuxx 316
Afficher
Mon 24 Sep 2012 04:19 olinuxx 315
Afficher
Mon 24 Sep 2012 04:16 olinuxx amélioration 314
Afficher
Sun 05 Aug 2012 12:02 olinuxx coquilles + lien interne 313
Afficher
Mon 21 mai 2012 10:37 pianolivier modif lien(s) interne(s) 312
Afficher
Sat 19 mai 2012 20:09 pianolivier 311
Afficher
Sat 19 mai 2012 19:44 pianolivier 310
Afficher
Sat 19 mai 2012 19:24 pianolivier renommage de la page +alias(applis RT) 309
Afficher
Thu 17 mai 2012 17:14 pianolivier modif lien(s) interne(s) 308
Afficher