GNU/Linux >> Tutoriels Linux >  >> Linux

Xorg, X11, Wayland ? Serveurs d'affichage Linux et protocoles expliqués

Vous êtes-vous déjà demandé à quoi servent les serveurs X, Xorg, X11, Wayland et des trucs comme ça ? Wayland contre Xorg, quoi de mieux ? Ce guide est pour vous !

Vous tombez toujours sur ces termes et savez qu'ils sont liés aux graphismes, mais vous aimeriez en savoir plus.

Qu'est-ce qu'un serveur d'affichage sous Linux ?

Un serveur d'affichage est un programme dont la tâche principale est de coordonner l'entrée et la sortie de ses clients vers et depuis le reste du système d'exploitation, le matériel et entre eux. Le serveur d'affichage communique avec ses clients via le protocole du serveur d'affichage.

Le serveur d'affichage est crucial dans toute interface utilisateur graphique, en particulier le système de fenêtrage. Le composant de base de l'interface utilisateur graphique (GUI) se situe entre l'interface graphique et le noyau.

Ainsi, grâce à un serveur d'affichage, vous pouvez utiliser votre ordinateur avec une interface graphique. Sans cela, vous ne seriez limité qu'à une interface de ligne de commande.

Il est essentiel de ne pas confondre le serveur d'affichage avec un environnement de bureau. Les environnements de bureau (Gnome, KDE, Xfce, MATE, etc.) utilisent des serveurs d'affichage.

Le serveur d'affichage communique avec ses clients via le protocole du serveur d'affichage. Il existe trois protocoles de serveur d'affichage disponibles sous Linux. X11 et Wayland en sont deux. Le troisième, Mir, dépasse le cadre de ce didacticiel.

Système X Window, Xorg, X11, expliqué

Système X Window

Le système X Window, souvent simplement appelé X, est ancien. Originaire de 1984, c'était le système de fenêtrage par défaut pour la plupart des systèmes d'exploitation de type UNIX, y compris Linux.

X.Org

Le serveur X.Org est l'implémentation libre et open-source du serveur d'affichage X Window System géré par la Fondation X.Org. Il s'agit d'une application qui interagit avec les applications clientes via le protocole X11 pour dessiner des éléments à l'écran et envoyer des événements d'entrée tels que des mouvements de souris, des clics et des frappes au clavier.

En règle générale, on démarre un serveur X qui attend que les applications du client s'y connectent. Cependant, Xorg est basé sur un modèle client/serveur et permet ainsi aux clients de s'exécuter localement ou à distance sur une autre machine.

Si ce n'est pas évident, il est implicite dans la conception de X11 que l'application et l'affichage ne doivent pas nécessairement être sur le même ordinateur. Lorsque X a été développé, il était courant que le serveur X s'exécute sur un poste de travail et que les utilisateurs exécutent des applications sur un ordinateur distant avec plus de puissance de traitement.

X11

X11 est un protocole réseau. Il décrit comment les messages sont échangés entre un client (application) et l'affichage (serveur). Ces messages contiennent généralement des commandes de dessin primitives telles que "dessiner une boîte", "écrire ces caractères à cette position", "le bouton gauche de la souris a été cliqué", etc.

Mais X11 est vieux, et c'était encore une pile de hacks assis sur un protocole non révisé depuis plus de 30 ans. La plupart des fonctionnalités du protocole X Server n'étaient plus utilisées.

Tout le travail effectué par X11 a été redélégué aux applications individuelles et au gestionnaire de fenêtres. Et pourtant, toutes ces anciennes fonctionnalités sont toujours là, pesant sur toutes ces applications, nuisant aux performances et à la sécurité.

Wayland, le serveur d'affichage de nouvelle génération

Wayland a été lancé par Kristian Hogsberg, un développeur X.Org, en tant que projet personnel en 2008. Il s'agit d'un protocole de communication qui spécifie la communication entre un serveur d'affichage et ses clients.

Wayland est développé comme un projet communautaire gratuit et open source pour remplacer le système X Window (également connu sous le nom de X11 ou Xorg) par un système de fenêtrage moderne, sécurisé et plus simple.

Dans Wayland, le compositeur est le serveur d'affichage. Le compositeur est un gestionnaire de fenêtres qui fournit aux applications un tampon hors écran pour chaque fenêtre. Le gestionnaire de fenêtres compose les tampons de fenêtre en une image représentant l'écran et écrit le résultat dans la mémoire d'affichage.

Le protocole Wayland permet au compositeur d'envoyer les événements d'entrée directement aux clients et permet au client d'envoyer l'événement de dommage directement au compositeur.

Comme dans le cas X, lorsque le client reçoit l'événement, il met à jour l'interface utilisateur (UI). Mais dans le rendu Wayland se produit dans le client, donc le client envoie une requête au compositeur pour indiquer la région qui a été mise à jour.

Le principal avantage de Wayland sur X est qu'il part de zéro. L'une des principales raisons de la complexité de X est qu'au fil des ans, son rôle a changé. En conséquence, aujourd'hui, X11 agit en grande partie comme un protocole de communication "vraiment terrible" entre le client et le gestionnaire de fenêtres.

Wayland est également supérieur en matière de sécurité. Avec X11, il est possible de faire quelque chose appelé "keylogging" en permettant à n'importe quel programme d'exister en arrière-plan et de lire ce qui se passe avec d'autres fenêtres ouvertes dans la zone X11.

Cela n'arrivera tout simplement pas avec Wayland, car chaque programme fonctionne indépendamment.

Conclusion

Cependant, le système X Window présente encore de nombreux avantages par rapport à Wayland. Même si Wayland élimine la plupart des défauts de conception du Xorg, il a ses problèmes. Même si le projet Wayland existe depuis plus de dix ans, les choses ne sont pas stables à 100 %.

À partir de 2022, la plupart des jeux vidéo et des applications gourmandes en ressources graphiques pour Linux sont toujours écrits pour X11. De plus, de nombreux pilotes graphiques à source fermée, tels que ceux des GPU NVIDIA, n'offrent pas encore une prise en charge complète de Wayland.

X ne peut pas durer et Wayland, à bien des égards, est une amélioration. Mais pour l'instant, la grande majorité des applications natives ont été écrites pour Xorg. Jusqu'à ce que ces applications soient toutes portées, Xorg doit être maintenu. Wayland n'est pas encore très stable par rapport à Xorg.


Linux
  1. Communication inter-processus sous Linux :Sockets et signaux

  2. Commandes tête et queue sous Linux expliquées avec des exemples

  3. Enregistrement d'écran sous Linux avec OBS et Wayland

  4. Linux – Désactiver/modifier Middle-click-to-paste In X11/xorg ?

  5. La distribution Linux fonctionne entièrement sur Wayland (pas de X11) ?

Linux - Comment fonctionne l'affichage de Linux ?

Jenkins Server sous Linux :un serveur d'automatisation gratuit et open source

30 outils et services intéressants pour surveiller vos serveurs Linux

Utilisation d'Ajenti dans la gestion des serveurs Linux

Comment installer et configurer le serveur DNS sous Linux

Comment fonctionne l'affichage de Linux ?