Kernel-based mode-setting

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Kernel.
Composants des Noyau Linux: DRM et KMS: Mode-Setting.

Kernel-based mode-setting, ou KMS, est un procédé permettant la gestion des modes d'affichage par le noyau Linux et celui des systèmes BSD.

Sans KMS c'est le pilote graphique qui se charge de la gestion des modes d'affichage graphique, ce qui est loin d'être optimal. En effet, ce travail est déjà fait une première fois par le noyau pour l'affichage des messages durant la phase de démarrage, avant que le pilote graphique ne réinitialise à nouveau le mode d'affichage lorsqu'il est lui-même chargé.

Historique[modifier | modifier le code]

KMS est intégré au noyau Linux depuis la version 2.6.29[1]. Compatible dans un premier temps uniquement avec les architectures Intel, son usage a été étendu aux autres architectures (Radeon via les pilotes radeon à compter du noyau Linux 2.6.31[2], puis GeForce via nouveau).

Il est peu à peu porté sur les systèmes BSD :

  • FreeBSD : La version 9.1 s'est convertie à KMS s'agissant du pilote libre Intel ; la version 10.0 utilise quant à elle KMS pour le pilote radeon.
  • OpenBSD : La version 5.4 fait usage de KMS pour les pilotes libres Intel et radeon.
  • DragonFly : La version 3.6 fait usage de KMS pour les pilotes libres Intel et radeon.

Apports[modifier | modifier le code]

KMS permet :

  • de démarrer de façon plus fluide graphiquement : l'image ne « saute » plus pendant la phase de démarrage de l'ordinateur, de même en cas de changement d'utilisateur ;
  • une meilleure mise en veille du matériel – car indépendante du BIOS (dont les spécifications sont la plupart du temps tenues secrètes, ce qui complique la tâche des développeurs du noyau Linux et du serveur graphique X.Org) ;
  • de conserver une interface graphique même en cas de plantage du serveur graphique X.Org ;
  • de faire tourner le serveur X sans les privilèges root (procédé NRX pour "No-Root X") pour une sécurité accrue[3].

Atomic mode-setting[modifier | modifier le code]

Le mode-setting atomique (en anglais Atomic mode-setting) est un mode dans lequel la préparation d'une nouvelle image est vue atomiquement. L'ensemble des modifications se fait hors écran, lorsque elles sont terminées, une validation est opérée, et l'image modifiée ne sera affichée qu'à l'intervalle de rafraîchissement vertical suivant (VBLANK) et que si elle a entièrement effectuée. Cela simplifie le pilote puisqu'il n'a plus à se soucier de la synchronisation avec l'intervalle de rafraîchissement, permet de rendre plus efficace l'utilisation de la carte (pas de calcul pour une image qui ne sera pas affichée), et d'éviter les effets dits de tearing (décalage ou incohérence entre le haut et le bas de l'image). Il est également possible de préparer plusieurs images à l'avance, selon la taille du tampon. Ce mode est notamment présenté au FOSDEM de février 2015 et est intégré petit à petit dans les différents pilotes[4].

Notes et références[modifier | modifier le code]

  1. Patrick Guignot, « Sortie de Linux 2.6.29 », linuxfr.org,‎
  2. (en) "Linux 2.6.31-rc1 Kernel Released" par Michael Larabel, Phoronix,
  3. (en) "Moblin 2.0 To Not Run X Server As Root" par Michael Larabel, Phoronix,
  4. (en) « Atomic Mode-Setting »,‎

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]