Xorg-7 Test et configuration

Test de Xorg

[Note]

Note

Avant de démarrer Xorg pour la première fois, il est utile de reconstruire le cache des bibliothèques en lançant ldconfig en tant qu'utilisateur root.

[Note]

Note

Avant de démarrer Xorg pour la première fois, il est souvent nécessaire de redémarrer le système pour s'assurer que les démons appropriés sont démarrés et que les paramètres de sécurités sont correctement initialisés. Autrement, vous déconnecter et vous reconnecter peut fonctionner mais la méthode n'a pas été testée.

[Avertissement]

Avertissement

Si Xorg se bloque (par exemple, s'il lui manque un pilote d'entrée), le système peut arrêter de répondre aux entrées utilisateurs. En précaution, vous pouvez activer la touche SysRq magique avant de tester Xorg. En tant qu'utilisateur root, lancez :

echo 4 > /proc/sys/kernel/sysrq

Si Xorg freeze, vous pouvez utiliser Alt+SysRq+R pour réinitialiser le mode clavier. Maintenant vous devriez pouvoir utiliser Ctrl+Alt+Fx (remplacez x par un numéro de terminal virtuel) pour passer à un autre VT. Si cela fonctionne, connectez-vous et tuez Xorg via la ligne de commande dans le nouveau VT.

Pour tester l'installation de Xorg, tapez startx. Cette commande lance un gestionnaire de fenêtres très rudimentaire appelé twm avec trois terminaux X (xterm) et une fenêtre d'horloge (xclock). Le terminal X dans le coin supérieur gauche est un terminal de login et lancer exit dans le terminal quittera la session X Window. Le troisième terminal X peut être recouvert sur votre système par les deux autres terminaux X.

[Note]

Note

Lorsque vous testez Xorg avec le gestionnaire de fenêtres twm, il y aura plusieurs avertissements dans le fichier de log de Xorg, $HOME/.local/share/xorg/Xorg.0.log à propos de fichiers de police manquants. En plus, il y a plusieurs avertissement sur le terminal en mode texte (habituellement tty1) à propos de polices manquantes. Ces avertissements n'affectent pas le fonctionnement, mais peuvent être supprimés si désiré en installant Xorg Legacy Fonts.

Généralement, il n'y a pas de configuration spécifique requise pour Xorg, mais une personnalisation est possible. Pour plus de détails voir la section intitulée « Configuration des périphériques Xorg » en dessous.

Vérifier l'installation de la Direct Rendering Infrastructure (DRI)

DRI est un environnement permettant aux logiciels d'accéder au matériel graphique d'une manière sûre et efficace. Elle est installée par défaut dans X (en utilisant MesaLib) si vous avez une carte graphique supportée.

Pour vérifier que les pilotes DRI sont correctement installés, vérifiez que le fichier journal $HOME/.local/share/xorg/Xorg.0.log (ou /var/log/Xorg.0.log si vous avez construit Xorg-Server-21.1.3 avec le bit suid) contient des messages comme :

(II) intel(0): direct rendering: DRI2 Enabled

ou

(II) NOUVEAU(0): Loaded DRI module
[Note]

Note

Il se peut que la configuration DRI diffère si vous utilisez d'autres pilotes tels que ceux de NVIDIA ou de AMD.

Une autre façon de déterminer si DRI fonctionne proprement est d'utiliser un des deux programmes de démo d'OpenGL installés éventuellement par Mesa-21.3.6. Depuis un terminal X, lancez glxinfo et cherchez le passage :

name of display: :0
display: :0  screen: 0
direct rendering: Yes

Si le direct rendering est activé, vous pouvez ajouter de la verbosité en lançant LIBGL_DEBUG=verbose glxinfo. Ceci affichera les pilotes, les nœuds de périphériques et les fichiers utilisés par le système DRI.

Pour confirmer que l'accélération matérielle DRI2 fonctionne, vous pouvez (toujours dans un terminal X) lancer la commande glxinfo | egrep "(OpenGL vendor|OpenGL renderer|OpenGL version)" - si cela renvoie quelque chose d'autre que Software Rasterizer c'est que l'accélération fonctionne pour l'utilisateur qui a lancé la commande.

Si votre matériel n'a pas de pilote DRI2 de disponible, il utilisera un rendu logiciel pour le Direct Rendering. Dans ce cas, vous pouvez utiliser le nouveau rendu logiciel accéléré de LLVM appelé LLVMPipe. Avant de construire LLVMPipe soyez certain que LLVM-13.0.1 est présent au moment de la construction de Mesa. Merci de noter que tous les décodages sont fait par le processeur à la place du GPU, donc l'affichage sera plus lent qu'avec l'accélération matérielle. Pour vérifier si vous utilisez LLVMpipe, regardez la sortie de la commande glxinfo précédente. Un exemple de sortie utilisant le rendu logiciel est montré en dessous :

OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.5, 256 bits)
OpenGL version string: 3.0 Mesa 10.4.5

Vous pouvez toujours forcer LLVMPipe en exportant la variable d'environnement LIBGL_ALWAYS_SOFTWARE=1 quand vous démarré Xorg.

De nouveau, si vous avez ajouté le paquet Mesa-Demos, vous pouvez aussi lancer le programme de test glxgears. Ce programme affiche une fenêtre de trois boutons à bascule. Le xterm affichera le nombre de cadres dessinés toutes les cinq secondes, donc c'est un test fiable. La fenêtre est redimensionnable et les cadres dessinés par secondes dépendent beaucoup de la taille de la fenêtre.

Hybrid Graphics

Hybrid Graphics est expérimental dans Linux. Les développeurs de Xorg ont mis au point une technologie appelé PRIME qui peut être utilisée pour commuter entre le GPU intégré et celui du processeur "muxless" à souhait. La commutation automatique n'est pas possible pour le moment.

Pour utiliser PRIME pour la commutation de GPU, soyez certain d'utiliser le noyau Linux 3.4 ou plus (recommandé). Vous devez avoir les pilotes DRI et DDX pour votre matériel et avoir Xorg Server 1.13 ou plus.

Xorg Server devrait charger les deux pilotes GPU automatiquement. Vous pouvez le vérifier en lançant :

xrandr --listproviders

Il devrait y avoir deux (ou plus) fournisseurs indiqués, par exemple :

Providers: number : 2
Provider 0: id: 0x7d cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 3 outputs: 4 associated providers: 1 name:Intel
Provider 1: id: 0x56 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 6 outputs: 1 associated providers: 1 name:radeon

Pour pouvoir lancer une application GLX sur un GPU particulier, vous devrez lancer la commande suivante, où <provider> est le plus puissant et <sink> est la carte qui fait l'affichage.

xrandr --setprovideroffloadsink <provider> <sink>
[Note]

Note

Avec les nouveaux pilotes Xorg, comme modesetting ou intel, qui peuvent utiliser DRI3, la commande ci-dessus n'est plus nécessaire. Ça ne fait pas de mal non plus.

Ensuite, vous devrez exporter la variable d'environnement DRI_PRIME=1 à chaque fois que vous voudrez utiliser le GPU le plus puissant. Par exemple,

DRI_PRIME=1 glxinfo | egrep "(OpenGL vendor|OpenGL renderer|OpenGL version)"

affichera le fournisseur OpenGL, le rendu et la version du GPU.

Si la dernière commande affiche le même rendu OpenGL avec ou sans DRI_PRIME=1, vous devez vérifier votre installation.

Configuration des périphériques Xorg

Pour la plupart des configurations matérielles, Xorg va automatiquement obtenir la configuration correcte du serveur sans aucune intervention de l'utilisateur. Il existe cependant certains cas où l'auto-configuration sera incorrecte. Voici quelques exemples de la configuration manuelle qui peuvent être utile dans ces cas-là.

Configuration des périphériques X d'entrée

Pour la plupart des périphériques d'entrée, aucune configuration supplémentaire ne sera nécessaire. Cette section est fournie à titre informatif seulement.

Un exemple de configuration XKB par défaut peut être celui-ci (exécuté en tant que root) :

cat > /etc/X11/xorg.conf.d/xkb-defaults.conf << "EOF"
Section "InputClass"
    Identifier "XKB Defaults"
    MatchIsKeyboard "yes"
    Option "XkbLayout" "fr"
    Option "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection
EOF

La ligne « XkbLayout » est un exemple pour un clavier français (AZERTY). Modifiez-la pour votre modèle de clavier. Cette ligne n'est pas utile pour un clavier QWERTY (US).

Réglage fin des paramètres d'affichage

Encore une fois, avec Xorg, peu ou aucune configuration supplémentaire n'est nécessaire. Si vous avez besoin d'options supplémentaires à passer à votre pilote vidéo, par exemple, vous pouvez utiliser ce qui suit (de nouveau, exécuté en tant que root) :

cat > /etc/X11/xorg.conf.d/videocard-0.conf << "EOF"
Section "Device"
    Identifier  "Videocard0"
    Driver      "radeon"
    VendorName  "Videocard vendor"
    BoardName   "ATI Radeon 7500"
    Option      "NoAccel" "true"
EndSection
EOF

Une autre configuration courante est d'avoir des configurations multi-serveurs pour une utilisation dans des environnements différents. Bien que le serveur détecte automatiquement la présence d'un autre moniteur, il peut obtenir un ordre incorrect :

cat > /etc/X11/xorg.conf.d/server-layout.conf << "EOF"
Section "ServerLayout"
    Identifier     "DefaultLayout"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" LeftOf "Screen0"
    Option         "Xinerama"
EndSection
EOF

Last updated on