( « gestionnaire de rendu direct »), abrégé en DRM est un sous-système du noyau Linux, servant à la gestion cohérente au sein du système informatique, du mode d'affichage (), des tampons mémoires utilisés par le système graphique, de la gestion de objets partagés en mémoire, de la gestion de la queue de commandes au processeur graphique, la gestion de l'intervalle de rafraîchissement vertical, ainsi que la synchronisation inter-processus de toutes ces fonctions. Il expose ainsi à l'espace utilisateur une interface unifiée pour une gestion plus cohérente et plus simple que ses prédécesseurs.

Présentation vignette|Vision globale de l'organisation des couches de communication entre l'application et le système graphique via DRM Le noyau Linux possède déjà depuis de nombreuses années le module fbdev pour la gestion des tampons mémoires utilisés par les processeurs graphiques, que ce soit la mémoire vidéo confinée à une carte graphique ou la mémoire unifiée, partagée par l'ensemble du système dont le processeur graphique. Dans les processeurs récents cependant, il est également nécessaire de gérer également, les queues de commande des tampons (notamment afin d'éviter les conflits inter-processus), ainsi que leur libération.

Il est décomposé en plusieurs parties, libdrm, bibliothèque utilisée par les applications, chargée de communiquer avec les modules. Un module DRM générique, différents modules noyaux, chargés de communiquer avec les différents processeurs graphiques.

Modules vignette|Éléments internes de l'architecture Gestion de la mémoire Le système DRM contient deux modules pour la gestion de la mémoire

La première version était le Gestionnaire de traduction de table (en anglais, ) (TTM), aujourd'hui obsolète, qui fut le premier gestionnaire de mémoire implémenté, gérant à la mémoire unifiée et mémoire .

Aujourd'hui, le Gestionnaire d'exécution graphique () (GEM), est utilisé et préconisé.

Réglage du mode graphique Le Réglage de mode par le noyau (en anglais, ) (KMS), il est une représentation abstraite des périphérique connectés. Il expose au système un ensemble de plans (vidéo), de CRTCs, d'encodeurs et de connecteurs, les pilotes KMS sont chargés d'initialiser ces objets après l'initialisation du mode setting.

Historique En 1999, lors du développement de Direct Rendering Infrastructure (DRI) pour XFree86, Precision Insight crée la première version de DRM pour la carte graphique 3dfx, comme un patch noyau inclus dans le code source de Mesa. Il a été introduit, dans le courant de la même année, dans les sources officielles du noyau linux 2.3.18pre1

Un module noyau appelé vgem a été proposé en .

En , les intégrateurs des processeurs graphiques ARM Mali annoncent avoir développé les différentes couches permettant d'utiliser les DRM avec les pilotes Mali T6xx, et X11 via un module DDX () sur les SoC Samsung Exynos et sur la carte de développement Versatile Express.

En , la fondation X.org propose DRM2 afin de régler différents problèmes de politique d'authentification et de partage de tampon mémoire.

En , STMicroelectronics propose des pilotes pour ses puces graphiques stih416 et stih407

Annexes Bibliographie

Articles connexes Mesa 3D Wayland

Références

Catégorie:Linux Catégorie:Bibliothèque logicielle graphique