Qu'est-ce qu'un serveur d'affichage sous GNU/Linux ? A quoi sert-il ?

Qu'est-ce qu'un serveur d'affichage sous GNU/Linux ? A quoi sert-il ?

Le site d'information it's FOSS a sorti une série d'articles à propos du jargon et de la terminologie de GNU/Linux. Ce site étant uniquement anglophone, j'ai décidé de traduire cette série ici. Retrouvez le second article de la série : "Qu'est-ce qu'un serveur d'affichage sous GNU/Linux ? A quoi sert-il ?"



Dans les articles de presse, les nouvelles et les discussions à propos de GNU/Linux, vous croisez souvent les termes de serveur d'affichage (en anglais display server), Xorg, Wayland, etc.

Dans cet article de vulgarisation, je vous parlerai des serveurs d'affichage sous GNU/Linux.

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

Un serveur d'affichage est un programme qui a pour responsabilité la coordination des entrées et des sorties de ses client⋅e⋅s, depuis et vers le système d'exploitation, mais aussi entre le matériel et le système d'exploitation.
Basiquement, grâce à un serveur d'affichage vous pouvez utiliser votre ordinateur de manière graphique à travers l'interface utilisateur⋅trice graphique, en anglais Graphical User Interface (GUI). Sans serveur d'affichage, vous seriez restreint⋅e⋅s à une interface en ligne de commande.

Le serveur d'affichage fournit le cadre d'un environnement graphique afin que vous puissiez utiliser la souris et le clavier pour interagir avec les applications.

Le serveur d'affichage communique avec ses client⋅e⋅s via le protocole du serveur d'affichage comme X11. Le serveur d'affichage est l'élément clé de l'interface utilisateur⋅trice graphique, en particulier avec le système de fenêtrage.

Ne confondez pas le serveur d'affichage avec l'environnement de bureau. Le serveur d'affichage est un élément de l'environnement de bureau.

Cela vous semble familier mais ce n'est pas très claire ? Laissez moi vous expliquer.

Protocole de communication du serveur d'affichage sous GNU/Linux

Il y a trois protocoles d'affichage qui fonctionnent sous GNU/Linux : X11, Wayland et Mir. Voici un bref aperçu de ces trois serveurs d'affichage.

X11

X11 (également appelé X ou X.Org) est le plus ancien des serveurs d'affichage, il existe depuis de nombreuses années. C'est le plus commun des serveurs d'affichage utilisés par les distributions GNU/Linux.

X Architecture

Le protocole de communication X11, utilise le serveur d'affichage X.org. Il reçoit les évènements d'entrée des pilotes de périphériques et les met à disposition de l'un⋅e de ses client⋅e⋅s.

Le serveur d'affichage reçoit également des données de ses client⋅e⋅s, il traite les données et effectue la composition et sous GNU/Linux, transmet les données à l'un des trois composants du noyau Linux : le pilote DRM, gem ou KMS.

Le serveur X.Org est un serveur d'affichage qui est relié à un second programme, le gestionnaire de composition des fenêtres, afin de les composer. Par exemple Mutter ou Kwin, dans le cas de l'environnement de bureau GNOME, GNU/Linux utilise Mutter.

Wayland

Selon son site web, Wayland est "intended as a simpler replacement for X, easier to develop and maintain" (Conçu comme un remplaçant plus simple à X, plus facile à développer et à maintenir).

En effet Wayland est un serveur d'affichage moderne qui est supposé remplacer l'ancien serveur d'affichage X.

Son adoption est en cours de progression. Ubuntu essaye de changer pour Wayland comme serveur d'affichage par défaut avec la version 17.10 mais l'expérimentation a reçu des retours négatifs.

Beaucoup d'applications graphiques et leur cadre de fonctionnement dépendent encore de X Server. Ces applications ne fonctionnent pas comme prévu sous Wayland.

Cela a obligé Ubuntu à conserver X Server comme serveur d'affichage par défaut. Il offre la possibilité d'utiliser Wayland mais ce n'est pas le serveur d'affichage par défaut.

Pour le moment, une grande majorité des distributions GNU/Linux utilise le serveur d'affichage X par défaut, même aujourd'hui.

Wayland Architecture
Wayland Architecture

Les serveurs d'affichage qui mettent en œuvre le protocole de serveur d'affichage Wyland, sont appelés "compositeurs Wayland". Comme le protocole X11, un compositeur Wayland est responsable de la gestion des entrées et des sorties pour ses client⋅e⋅s, mais s'occupe également de la composition, contrairement à X11. Voici quelques compositeurs Wayland : Weston, Mutter, KWin ou Enlightenment.

Mir

Le serveur daffichage Mir est livré avec son propore protocole de serveur d'affichage Mir qui diffère de ceux utilisés par X11 et Wayland. Il a été développé par Canonical, dans le cadre du développement de l'environnement de bureau Unity, et était destiné à être le serveur d'affichage par défaut pour Ubuntu.

À partir de 2017, il a été remplacé par Wayland pour le serveur d'affichage pour les éditions de bureau d'Ubuntu, bien que le développement de Mir se soit poursuivi pour l'internet des objets (Internet of Things - IoT)

Pourquoi utilisons-nous encore X.Org ?

Wayland est relativement nouveau et n'est pas encore très stable comparé à X.Org. Les programmes qui agissent comme clients pour communiquer avec un serveur d'affichage, doivent savoir comment le faire. Pour ces raisons, de nombreux programmes ne fonctionnent pas avec Wayland, l'expérimentation d'Ubuntu d'utiliser Wayland par défaut confirme ça.

Conclusion

J'espère que vous comprenez un peu mieux le concept de serveur d'affichage sous GNU/Linux. J'ai essayé de ne pas trop entrer dans les détails techniques mais je n'ai pas pu les éviter complètement.

Abhishek Prakash traduit par Plumf
Mastodon