Chargement...
 
[Voir/Cacher menus de gauche]
[Voir/Cacher menus de droite]

Si vous vous intéressez aux anciennes manières utilisées sous GNU/Linux pour donner à ses applications un accès Temps-réel, voilà qui devrait vous contenter. Nous vous rappelons cependant que cette page est conservée dans un but historique, que ces méthodes sont à présent considérées obsolètes et que les manières actuelles de procéder se trouvent sur la page accès temps-réel pour les applications. Il faut donc bien comprendre que les solutions envisagées ici et sur accès temps-réel pour les applications sont totalement incompatibles les unes avec les autres ! wink



PAM versions inférieures à 0.80

Seules les versions de PAM au moins égales à la version 0.80 comportent les fonctionnalités indispensables pour le support temps-réel pour les applications (le support de rlimits).

Il existe heureusement des patchs pour offrir le support nécessaire de "rlimits" aux versions de PAM plus anciennes.

Cela vous offre plusieurs choix, en fonction de ce que vous permet votre distribution :
  • Installer/Utiliser PAM > 0.80. (se reporter à accès temps réel pour les applications)
  • Utiliser PAM < 0.8 prépatchée (certaines distributions offrent cette possibilité).
  • Patcher soit-même une version de PAM < 0.8 (pour les courageux (!).


PAM < 0.8 prépatchée


Gentoo, l'overlay "pro audio production applications" (voir page gentoo) vous offre la version de PAM adéquate (emerge -av sys-libs/pam).

Pour Debian et dérivés, il existe également une version patchée.
wget http://www.ubuntustudio.com/uploads/breezy/libpam-modules_0.76-22ubuntu3studio1_i386.deb
sudo dpkg -i libpam-modules_0.76-22ubuntu3studio1_i386.deb
rm libpam-modules_0.76-22ubuntu3studio1_i386.deb


Vous pouvez consulter la page http://ubuntustudio.com/wiki/index.php/Breezy:Rlimits-Aware_PAM Image pour plus d'informations.

Patcher PAM < 0.8 soit-même


Je ne suis pas sûr que cette solution soit plus simple que l'installation même manuelle d'une version plus récente ! Mais bon, vous pouvez trouver un patch pour la version 0.76 ici :
http://www.ubuntustudio.com/uploads/pam-0.76-rlimits.patch Image

Si vous utilisez la distribution Ubuntu, vous vous inspirerez des instructions mentionnées ici : http://ubuntustudio.com/wiki/index.php/Breezy:Rlimits-Aware_PAM Image

le module realtime-lsm (Realtime Linux Security Module)

Cette solution est désormais considérée comme obsolète, cependant, elle fonctionne toujours, et n'est pas trop difficile à mettre en œuvre !
Le module realtime-lsm permet de donner des privilèges particuliers à certains utilisateurs ou groupes d'utilisateurs en utilisant le mécanisme rlimits du noyau. Ce module est intégré au noyau linux à partir de la version 2.6.12.

C'est un module qui permet aux utilisateurs (donc à JACK par exemple) d'accéder aux possibilités "temps réel" du noyau, chose d'ordinaire autorisée uniquement pour le super utilisateur (root). Ce module fonctionne sur tout type de noyau linux, RT-kernel ou pas ! (l'idéal en MAO est néanmoins d'utiliser les deux (!).
Ce module a été remplacé par une autre méthode plus sécurisée basée sur PAM, les deux méthodes étant nécessaires pour faire fonctionner JACK en mode RT.


Installation

Elle nécessite que vous ayez les sources de votre noyau. De plus, des options particulières doivent y être activées (voir Tuto Compiler un noyau Temps-Réel).
Il peut s'agir selon les distributions d'un module "à part" ou au contraire intégré dans le noyau
Vous pouvez le télécharger ici :
http://sourceforge.net/project/showfiles.php?group_id=106645
La plupart des distributions proposent une installation plus simple du module par le biais de leur gestionnaire de packages :
pour debian et dérivés
apt-get realtime-lsm-source && m-a build realtime-lsm

pour gentoo
emerge -av realtime-lsm

  • n'oubliez pas d'activer les options suivantes dans le noyau si vous le compilez vous-meme :.
    Security options --->
       [*] Enable different security models
          <M> Default Linux Capabilities (indispensable pour le module "Realtime-lsm")
arrow Attention : Cette installation n'est pas utile si vous avez compilé un noyau "temps réel" à l'aide du patch d'Ingo Molnar et que vous avez activé l'option "Security options ---> Realtime Capabilities" (voir page Tuto Compiler un noyau Temps-Réel ). En effet, le patch d'Ingo Molnar apporte désormais les 2 fonctionnalités.
à la compilation du noyau, sélectionnez les modules :
Security options --->
   [*] Enable different security models
      <M> Default Linux Capabilities (indispensable pour le module "Realtime-lsm")
      <M> Realtime Capabilities  (installe le module "Realtime-lsm").


Utilisation


Pour des raisons de sécurité, nous demanderons à realtime-lsm de n'accorder les privilèges souhaités qu'aux utilisateurs membres du groupe "audio". Attention à remplacer NB dans les lignes suivantes par le numéro de groupe pour audio qu' utilise votre distribution. Ce GID est variable d'une distribution à l'autre (18 sous Gentoo, 29 sous Debian, 81 sous Mandriva, etc...)

Consultez le fichier /etc/group pour connaitre le numéro/GID du group "audio". Vérifiez par la même occasion que vous faites bien partie de ce groupe !
Vous devriez avoir une ligne du type :
audio:x:NB:Votre_nom_d'utilisateur


Si votre nom d'utilisateur n'apparaît pas sur la ligne du groupe audio, c'est que vous n'en faites pas partie. Inutile de préciser que c'est assez indispensable pour faire de la MAO ! Pour rétablir cette oubli (en root) :

faire partie du groupe audio
gpasswd -a VOTRE_NOM-D'UTILISATEUR audio

Lancez le module realtime-lsm de cette façon (en adaptant le GID à votre système) :

lancer realtime-lsm
modprobe realtime-lsm gid=NB

Ainsi, toutes les applications lancées par les utilisateurs du groupe "audio" bénéficieront du temps réel (c'est à dire, pour ceux qui comprennent : processus lancés en classe "SCHED_FIFO" + mlock & mlockall pour éviter le swapping).
Si tout fonctionne, pour lancer le module automatiquement à chaque démarrage avec les bonnes options :

lancer le module automatiquement
echo "modprobe realtime-lsm gid=NB" >> /etc/modprobe.conf

ou encore selon la distribution (gentoo)
# echo "realtime" >> /etc/modules.autoload.d/kernel-2.6

Ensuite on passe les options au module realtime-lsm en tapant la commande :

passer des options à realtime-lsm
# echo "options realtime gid=NB" >> /etc/modules.d/realtime
update-modules

(ou NB est le numéro (gid) du groupe audio.)


Collaborateur(s) de cette page : olinuxx et pianolivier .
Page dernièrement modifiée le Dimanche 07 septembre 2014 19:34:11 par olinuxx.
Le contenu de cette page est licencié sous les termes licence.

Documentation [Afficher / Cacher]

Connexion
[Afficher / Cacher]

NomysTempar

r1
programLyrique

Mégaphone [Afficher / Cacher]

sub26nico, 15:43, lun. 23 Sep 2019: Salut et bienvenue à kidcore :-)
olinuxx, 14:12, dim. 22 Sep 2019: Bonjour et bienvenue à yrag cool
sub26nico, 11:36, ven. 20 Sep 2019: Salut et bienvenue à Dave, samplingunit, thinkcentre et Stratos :-)
sub26nico, 09:47, jeu. 19 Sep 2019: Salut et bienvenue à Luigi83 :-)
olinuxx, 14:33, mer. 18 Sep 2019: Bonjour et bienvenu à Knard cool
olinuxx, 13:17, dim. 15 Sep 2019: Bonjour et bienvenue à wwp et à Kraod cool
sub26nico, 22:18, sam. 14 Sep 2019: Salut et bienvenue à Gretsh56 :-)
olinuxx, 13:44, sam. 14 Sep 2019: Bonjour et bienvenue à T-Yo cool
PenZyh, 16:09, mar. 10 Sep 2019: Merci ^^
olinuxx, 16:08, mar. 10 Sep 2019: Bienvenue e bonjour également à PenZyh cool
olinuxx, 14:47, mar. 10 Sep 2019: Bonjour et bienvenue à SKUNKLOAD cool
sub26nico, 10:29, lun. 09 Sep 2019: Salut et bienvenue à aldepr :-)