Linux : KMS, Kernel-based mode-setting

Une des grandes nouveautés des toutes dernières versions du noyau Linux, c’est l’inclusion du procédé KMS.

Ce procédé est souvent présenté comme le Saint-Graal du démarrage sous Linux.
LE « machin » qui va permettre un démarrage au moins aussi rapide que l’éclair, qui va empêcher les trucs, permettre de faire des bidules et qui, comble du bonheur, va rendre possible la création d’animations de démarrage si jolies, que même tata Michu va abandonner Windows Live Messenger pour passer à GNU/Linux !
Vous l’aurez compris, KMS c’est la révolution, la chose que tout le monde attendait, même si au fond, personne ne sait ce que c’est …

Alors KMS? qu’est-ce que c’est ?

KMS est l’abréviation de Kernel-based mode-setting (aussi appelé plus simplement mode-setting), ce qui signifie Mode de Gestion basé sur le Noyau. Pour être plus clair, on peut dire que c’est un procédé qui permet de gérer l’affichage directement via le noyau Linux.

Historiquement, c’est le noyau Linux qui gère le pilote graphique lors du boot, jusqu’à ce que le serveur X se lance et prenne les choses en mains. Ce fonctionnement n’est que peu optimisé, puisque le pilote est chargé deux fois et que deux éléments distincts le prennent en charge …
Avec KMS, c’est uniquement le noyau qui gère le pilote. Ceci permet de lancer des services graphiques – tel que l’outil de boot graphique plymouth – dès la phase de démarrage de l’ordinateur, indépendamment du serveur X. De plus, comme le pilote graphique n’est plus géré que par le noyau, les transitions entre les différents services d’affichage se font de façon fluide, presque imperceptible.

Mais concrètement, ça fait quoi ?

Vous l’avez compris, la gestion des pilotes graphiques par le noyau change radicalement la façon de gérer l’affichage. Au delà d’une simplification et d’un allègement des services, de nombreux avantages seront directement perceptibles pour l’utilisateur :

  • L’image ne « sautera » plus lors de la phase de démarrage de l’ordinateur ou en cas de changement d’utilisateur.
  • La mise en veille du matériel sera bien meilleure, 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).
  • L’interface graphique est conservée et ce même en cas de plantage du serveur graphique X.Org. Ceci permettra une expérience de déboguage améliorée par l’affichage graphique des messages d’erreur et facilitera donc le travail des développeurs (nda. enfin le « blue screen of the death » sur nottre bon vieux GNU/Linux !)
  • Le serveur X n’a plus à gérer le pilote et peut enfin tourner sans les privilèges root pour se concentrer sur l’affichage (procédé NRX pour « No-Root X »), ce qui accroit sensiblement la sécurité.
  • L’amélioration (à venir) du terminal virtuel.

Mais qu’est-ce qu’on attend ?!

Le problème avec KMS, c’est qu’il faut recoder tous les pilotes des cartes graphiques pour qu’ils prennent en charge ce nouveau mode d’affichage.

Pour les pilotes intel ou les autres drivers libres : aucun problème ; la société Intel et la communauté s’occupent de modifier le code pour rendre possible l’utilisation de KMS.
Pour les pilotes propriétaires, c’est une autre paire de manche … En effet, seules les sociétés éditrices de ces pilotes peuvent modifier leur code pour baser l’affichage sur le noyau. Au jour d’aujourd’hui, Nvidia n’a toujours pas communiqué sur ce sujet – et ne semble pas disposé à le faire NVidia a déjà pris sa décision et n’implémentera pas KMS dans ses pilotes pour des raisons de licence ; la seule lueur d’espoir semble donc émaner du pilote libre NouVeau qui a encore bien du chemin à faire … De l’autre côté, les développeurs d’AMD commencent tout juste à travailler à implémentation de KMS.

Cela dit, les chanceux qui possèdent un chipset graphique Intel ou une carte graphique bien gérée par le driver Radeon, auront toute de même la joie de découvrir KMS avec la future version d’Ubuntu !

Pour conclure

Finalement, KMS n’est qu’un retour à la normalité … En effet, depuis toujours, tous les pilotes sont gérés par le noyau Linux, seul le pilote graphique faisait exception. C’est donc la fin de cette « aberration » et le pilote est enfin géré par le noyau, ce qui aurait dû être fait depuis le début …

Mais bon, comme dit le proverbe « Mieux vaut tard que jamais » …

Vus : 974
Publié par Lemarinel : 37