GNU/Linux >> Tutoriels Linux >  >> Linux

Linux - Comment fonctionne l'affichage de Linux ?

Le système d'affichage de Linux utilise plusieurs technologies , protocoles, extensions, applications, serveurs (démon), pilotes et concepts pour réaliser le système de fenêtrage par exemple :
Xorg, Wayland, X11, OpenGL, RandR, XrandR, Résolution d'écran, DPI, Serveur d'affichage, etc.

Cette multitude peut être écrasante ou déroutante lorsque nous n'avons pas une image complète. Il existe plusieurs documentations pour chaque côté du système d'affichage de Linux, mais globalement, comment cela fonctionne-t-il exactement ?

Réponse acceptée :

Affichage Linux

Le système d'affichage de Linux utilise plusieurs technologies, protocoles, extensions, applications, serveurs (démon), pilotes et concepts pour réaliser le système de fenêtrage, par exemple :Xorg, Wayland, X11, OpenGL, RandR, XrandR, Résolution d'écran, DPI, Serveur d'affichage , etc. Cela peut être difficile à comprendre pleinement, mais chaque côté est destiné à un usage spécifique et ils ne sont pas utilisés tous ensemble en même temps.

Protocole X

Le système X Window, X11 (X version 11) est un système de fenêtrage pour les affichages bitmap, courant sur les systèmes d'exploitation de type Unix, X fournit le cadre de base d'un environnement graphique :dessiner et déplacer des fenêtres sur le périphérique d'affichage et interagir avec une souris et un clavier. X n'impose pas l'interface utilisateur, celle-ci est gérée par des programmes individuels. En tant que tel, le style visuel des environnements basés sur X varie considérablement; différents programmes peuvent présenter des interfaces radicalement différentes. X est né du projet Athena du Massachusetts Institute of Technology (MIT) en 1984. Le protocole X est à la version 11 (d'où "X11") depuis septembre 1987. La Fondation X.Org dirige le projet X, avec l'implémentation de référence actuelle , X.Org Server, disponible en tant que logiciel gratuit et open source sous licence MIT et licences permissives similaires.

Mise en œuvre X

La plupart des distributions Linux utilisent X.Org Server qui est l'implémentation gratuite et open-source du serveur d'affichage pour le système X Window (X11) géré par la Fondation X.Org. Xorg/X seul ne prend pas en charge plusieurs fonctionnalités fournies telles que la mise à l'échelle ou le rendu, pour ce Xorg utilise des extensions comme XFixes, RandR (RandR est géré par xrandr il peut par exemple configurer le panoramique, la résolution ou la mise à l'échelle), GLX (extension OpenGL), Render ou Composite qui provoque le rendu d'un sous-arbre entier de la hiérarchie de la fenêtre dans un tampon hors écran, les applications peuvent alors prendre le contenu de ce tampon et faire ce qu'ils veulent, le tampon hors écran peut être automatiquement fusionné dans la fenêtre parente ou fusionnés par des programmes externes, appelés gestionnaires de composition faire du compositing tout seul comme certains gestionnaires de fenêtres faire; Par exemple. Compiz, Enlightenment, KWin, Marco, Metacity, Muffin, Mutter et Xfwm. Pour les autres "non-compositing ” gestionnaires de fenêtres, un gestionnaire composite autonome peut être utilisé, exemple :Picom, Xcompmgr ou Unagi. Extensions prises en charge par Xorg peut être listé avec :xdpyinfo -display :0 -queryExtensions | awk '/^number of extensions:/,/^default screen number/' .

D'autre part Wayland est conçu comme un remplacement plus simple pour Xorg / X11, plus facile à développer et à entretenir, mais à partir de 2020, le support du bureau pour Wayland n'est pas encore entièrement prêt autre que Gnome (par exemple, le support KDE Kwin et Wayland); du côté des distributions, Fedora utilise Wayland par défaut. A noter que Wayland et Xorg peuvent fonctionner simultanément, cela peut être le cas selon la configuration utilisée. XWayland est une série de correctifs sur la base de code du serveur X.Org qui implémente un serveur X fonctionnant sur le protocole Wayland. Les correctifs sont développés et maintenus par les développeurs Wayland pour la compatibilité avec les applications X11 lors de la transition vers Wayland, et ont été intégrés dans la version 1.16 du serveur X.Org en 2014. Lorsqu'un utilisateur exécute une application X depuis Weston, il fait appel à XWayland pour traiter la demande.

En relation :Après la mise à jour vers MacOS Catalina, MAMP ne fonctionne plus avec root sur un montage réseau ?

L'ensemble du champ d'application

Un serveur d'affichage ou serveur de fenêtre est un programme (comme Xorg ou Wayland) 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, un protocole de communication qui peut être transparent sur le réseau ou simplement compatible avec le réseau. Par exemple, X11 et Wayland sont des protocoles de communication de serveur d'affichage.

Comme indiqué sur le schéma un gestionnaire de fenêtres est un autre élément important de l'environnement de bureau qui est un logiciel système qui contrôle le placement et l'apparence des fenêtres dans un système de fenêtrage dans une interface utilisateur graphique. La plupart des gestionnaires de fenêtres sont conçus pour fournir un environnement de bureau. Ils fonctionnent en conjonction avec le système graphique sous-jacent qui fournit la prise en charge des fonctionnalités requises pour le matériel graphique, les dispositifs de pointage et un clavier, et sont souvent écrits et créés à l'aide d'une boîte à outils de widgets. KDE utilise KWin comme gestionnaire de fenêtres (il a un support limité pour Wayland à partir de 2020), de même Gnome 2 utilise Metacity et Gnome 3 utilise Mutter comme gestionnaire de fenêtres.

Un autre aspect important d'un gestionnaire de fenêtres est le compositeur ou gestionnaire de fenêtres de composition , qui 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. Les gestionnaires de fenêtres de composition peuvent effectuer un traitement supplémentaire sur les fenêtres mises en mémoire tampon, en appliquant des effets d'animation 2D et 3D tels que le mélange, le fondu, la mise à l'échelle, la rotation, la duplication, la flexion et la contorsion, le mélange, le flou, la redirection des applications et la traduction des fenêtres dans l'un des nombreux affichages et bureaux virtuels. La technologie d'infographie permet de rendre des effets visuels en temps réel tels que des ombres portées, des aperçus en direct et des animations complexes. Étant donné que l'écran est à double tampon, il ne scintille pas pendant les mises à jour. Les gestionnaires de fenêtres de composition les plus couramment utilisés sont :Linux, BSD, Hurd et OpenSolaris-Compiz, KWin, Xfwm, Enlightenment et Mutter. chacun a sa propre implémentation, par exemple le compositeur de KWin de KDE ont de nombreuses fonctionnalités/paramètres comme la vitesse d'animation, la prévention des déchirures (vsync), les vignettes de fenêtre, la méthode de mise à l'échelle et peuvent utiliser OpenGLv2/OpenGLv3 ou XRender en tant que backend de rendu avec Xorg. (XRender/Render à ne pas confondre avec XRandR/RandR).

OpenGL (bibliothèque graphique ouverte) est une interface de programmation d'application (API) multilingue et multiplateforme pour le rendu de graphiques vectoriels 2D et 3D. L'API est généralement utilisée pour interagir avec une unité de traitement graphique (GPU) afin d'obtenir un rendu accéléré par le matériel. OpenGL est une bibliothèque de rendu qui peut être utilisée avec Xorg, Wayland ou toute application qui l'implémente. L'installation d'OpenGL peut être vérifiée avec glxinfo | grep OpenGL .

La résolution d'affichage ou modes d'affichage d'un écran d'ordinateur ou d'un dispositif d'affichage est le nombre de pixels distincts dans chaque dimension qui peuvent être affichés. Il est généralement cité comme largeur × hauteur, avec les unités en pixels :par exemple, 1024 × 768 signifie que la largeur est de 1024 pixels et la hauteur est de 768 pixels. xrandr peut être utilisé pour ajouter ou rendre/simuler une nouvelle résolution d'affichage.

Le PPP représente les points par pouce et est une mesure de l'impression/affichage spatial , en particulier le nombre de points individuels qui peuvent être placés sur une ligne dans un intervalle de 1 pouce (2,54 cm). Les écrans d'ordinateur n'ont pas de points, mais ont des pixels, le concept étroitement lié est les pixels par pouce ou PPI et donc DPI est mis en œuvre avec le concept PPI. Le 96 par défaut La mesure DPI signifie 96×96 verticalement et horizontalement. De plus, le paramètre X DPI (point par pouce) est-il uniquement destiné à la mise à l'échelle du texte ? Le contrôle qualité est très instructif.

En relation :Pourquoi le ruban adhésif ne fonctionne-t-il pas bien sur les câbles ?

Remarques

Certains outils graphiques de KDE : systemsettings5> afficher, kcmshell5 xserver et kinfocenter .

Références

Liens et sources : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 et 12.


Linux
  1. Comment travailler avec le client SFTP sous Linux - 10 commandes sftp

  2. Linux - Comment la charge moyenne fonctionne-t-elle avec les processeurs modernes ?

  3. Ssh – Comment Tcp-keepalive fonctionne-t-il dans Ssh ?

  4. Comment fonctionne la commande 'ls' sous Linux/Unix ?

  5. Comment fonctionne ngrok derrière un pare-feu ?

Comment créer un serveur CS:GO sur un VPS Linux

Qu'est-ce que la commande source sous Linux et comment ça marche ?

Comment fonctionne la mémoire d'échange sous Linux ?

Comment SSH au serveur via Linux

Comment fonctionne une interface graphique Linux au niveau le plus bas ?

Comment fonctionne l'affichage de Linux ?