Loading AI tools
De Wikipédia, l'encyclopédie libre
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é.
Sur la base de KMS, une gestion plus élaborée a ensuite été développée : Atomic mode-setting.
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 :
KMS permet :
La gestion atomique des modes d'affichage (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, dans un tampon. Lorsqu'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 (VBLANK) suivant et que si elle est entièrement terminé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 qui paraît alors comme déchirée horizontalement). 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 et est intégré petit à petit dans les différents pilotes[4].
Par ailleurs, grâce à cette gestion atomique, les applications telles que le serveur graphique X.Org ou un compositeur Wayland/Mir peuvent changer les paramètres de tous les plans graphiques (exposés par l’interface de programmation universal plane, intégrée dans le noyau Linux 3.15) à la fois ; on évite aussi, par exemple, au compositeur d’utiliser les shaders plutôt que les plans graphiques pour le rendu vidéo. Ces plans graphiques sont plus efficaces (autant du point de vue de la consommation énergétique que du point de vue de la bande passante mémoire) car ils sont généralement capables d’afficher les vidéos dans leur format natif (YUV) sans avoir à être convertis en RVB. De plus, ils sont généralement capables de redimensionner la taille d’une image de façon matérielle. Sans la gestion atomique des plans graphiques, il est impossible pour un compositeur de migrer dynamiquement le rendu d’une image d’un plan graphique à un autre et donc, puisqu'on ne peut pas garantir quand la mise à jour se fera, on doit toujours utiliser les shaders ou toujours utiliser le même plan graphique pour la même fenêtre.
La conception de la gestion atomique des modes d'affichage dans le noyau Linux est adaptée à différents usages, du bureau aux smartphones, ce qui permettra à terme de réduire les divergences entre la pile graphique Linux historique et celle modifiée pour Android.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.