Pourquoi avoir besoin de pilotes pour le server x et le kernel Linux?

Quelqu'un peut-il expliquer pourquoi deux sets de pilotes sont nécessaires, l'un dans le kernel Linux et l'autre dans X?

Je comprends que les pilotes de périphériques sont dans le kernel, mais quel est le rôle de ceux dans le xserver?

Est-ce que wayland a besoin de ces pilotes pour fonctionner?

Le support graphique Linux a été une chose fortement mutante pendant la majeure partie de la vie du kernel. Initialement, le kernel n'a parlé à la carte graphique qu'à des fins de mode text. À l'époque, X utilisait ses drivers pour tout faire, donc ça fonctionnait comme un kernel énorme en dehors du kernel.

Plus tard, avec le DRI (Direct Rendering Infrastructure) , une partie du code des fonctions charts accélérées a été déplacée du côté du kernel (appelé Direct Rendering Manager, DRM – rien à voir avec la gestion des droits numériques) pour fournir une interface cohérente et abstraite aux fonctions d'accélération 3D.

Actuellement, vous n'avez pas besoin d'avoir un module DRM côté kernel chargé. Mais si vous n'en avez pas, il y a de fortes chances pour que votre session X retombe sur la 3D rendue par logiciel, qui est considérablement plus lente et plus gourmande en énergie que le matériel 3D. Exécuter glxinfo affichera des informations à ce sujet.

Wayland est une histoire légèrement différente . Il se trouve entre le kernel et les applications clientes. Avec Wayland, le server X est une autre application client, affichant sa window racine comme une autre chose. Wayland assume les devoirs de parler au matériel (X parle plutôt à Wayland). Puisque le projet est encore en développement, il n'y a aucun moyen de savoir où il aboutira, mais la façon dont je le comprends a toujours besoin de la prise en charge du kernel pour le rendu 3D.

Il est évident à partir des diagrammes d'architecture Wayland: la gauche est l'état actuel des affaires pour un bureau X moderne, à droite est l'architecute Wayland proposé. Le compositeur Wayland remplace le X Server comme étant la chose qui parle au matériel, mais il ne remplace pas l'infrastructure du kernel – vous aurez donc besoin d'un support du kernel approprié. En fait, étant donné les objectives du projet, plus de choses devraient passer au kernel pour une meilleure abstraction. Wayland, comme le server X, sont toujours dépendants du matériel graphique.

entrer la description de l'image ici