Xorg-7.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.

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 lance exit dans le terminal quand l'on quittera la session X Window. Le troisième terminal X peut être recouvert sur votre système par les deux autres terminaux X.

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 le pilote DRI est installé correctement, vérifiez que le fichier journal /var/log/Xorg.0.log 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 ATI.

Alors que tous les utilisateurs peuvent utiliser l'accélération logicielle, l'accélération matérielle (DRI2), n'est disponible que pour root et les membres du groupe video.

Si votre pilote est supporté, ajoutez les utilisateurs qui pourraient utiliser X à ce groupe :

usermod -a -G video <username>

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 facultativement par Mesa-12.0.1. 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-3.8.1 est présent au moment de la construction de MesaLib. Merci de noter que tous les décodages sont fait par le CPU à 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 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 CPU "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 avec un correctif facultatif appliqué.

Xorg Server ne pourra pas charger les deux pilotes GPU automatiquement. Pour lancer une application GLX sur un GPU, vous devez exporter la variable d'environnement DRI_PRIME=1. 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.

Protocole Xft Font

Xft fournit le rendu des polices anti-crénelage à travers Freetype, et les polices sont contrôlées côté client à l'aide de Fontconfig. Le chemin de recherche par défaut est /usr/share/fonts et ~/.fonts. Fontconfig recherche des répertoires dans son chemin de façon récursive et maintient un cache des caractéristiques des polices dans les fichiers fonts.cache-1 dans chaque répertoire. Si le cache ne semble pas être à jour, il est ignoré, et l'information est (lentement) extraite de la police elle-même. Ce cache peut être régénéré en utilisant fc-cache à tout moment. Vous pouvez voir la liste des polices connues par Fontconfig en exécutant la commande fc-list.

Si vous avez installé Xorg dans n'importe quel préfixe autre que /usr, les polices X ne seront pas installées dans un emplacement connu par Fontconfig. Cela empêche Fontconfig d'utiliser le faible rendu des polices Type 1 ou les polices non-évolutives bitmap. Les liens symboliques sont créés depuis les répertoires OTF et TTF de polices X vers /usr/share/fonts/X11-{OTF,TTF}. Cela autorise Fontconfig à utiliser les polices OpenType et TrueType fournies par X (qui sont évolutives et de qualité supérieure).

Fontconfig utilise des noms comme "Monospace 12" pour définir les polices. Les applications utilisent généralement les noms de polices génériques telles que "Monospace", "Sans" et "Serif". Fontconfig résout ces noms par une police qui a tous les caractères qui couvrent l'orthographe de la langue indiquée par les paramètres régionaux. La connaissance de ces noms de polices est inclus dans /etc/fonts/fonts.conf. Les polices qui ne sont pas répertoriés dans ce fichier restent utilisables par Fontconfig, mais elles ne seront pas accessibles par les noms de familles génériques.

Les polices standardes évolutives qui accompagnent X fournissent une très mauvaise couverture d'Unicode. Vous remarquerez peut-être dans les applications qui utilisent Xft que certains caractères apparaissent comme une boîte avec quatre chiffres binaires à l'intérieur. Dans ce cas, un jeu de polices avec les glyphes disponibles n'a pas été trouvé. D'autres fois, les applications, qui n'utilisent pas d'autres familles de polices par défaut et n'ont pas accepté les substitutions de Fontconfig, affichent des lignes vides lorsque la police par défaut ne couvre pas l'orthographe de la langue de l'utilisateur. Cela arrive, par exemple avec Fluxbox dans la localisation ru_RU.KOI8-R.

Afin d'offrir une plus grande couverture d'Unicode, il est recommandé que vous installiez ces polices :

  • DejaVu fonts - Ces polices sont des remplacements pour les polices Bitstream Vera et fournissent des scripts basés sur le latin avec des accents et des glyphes cyrilliques.

  • FreeFont - Cet ensemble de polices couvre presque tous les caractères non-CJC, mais n'est pas agréable visuellement. Fontconfig va l'utiliser comme un dernier recours pour remplacer les noms génériques de la famille de polices.

  • Microsoft Core fonts - Ces polices offrent une couverture légèrement moins bonne que freefont d'Unicode, mais font plus illusion. Soyez sûr de lire la licence avant de les utiliser. Ces polices sont énumérés dans les alias du répertoire /etc/fonts/conf.d par défaut.

  • Firefly New Sung font - Cette police ('AR PL New Sung') fourni la couverture chinoise et est énumérée dans les alias du répertoire /etc/fonts/conf.d par défaut.

  • UKai fonts et UMing fonts - Nouvel ensemble (ttc) des polices chinoises similaires à la police Firefly New Sung, contenant les variantes simplifiées et traditionnelles. Le style Ming est similaire au Sung (ou Song), Kai est un style légèrement différent mais ressemble toujours pour des gens habitués à l'alphabet latin à une police avec serif.

  • Kochi fonts - Elles fournissent les caractères japonnais, et sont listées dans les alias du répertoire /etc/fonts/conf.d par défaut.

  • Baekmuk fonts - Ces polices fournissent la couverture Coréenne, et certaines sont listées dans les alias du répertoire /etc/fonts/conf.d par défaut.

  • Polices Cantarell - La famille des polices Cantarell fournit une contemporaine Humaniste sans serif. Elle est particulièrement optimisée pour être lisible dans les petites tailles et est la famille de polices préférée pour l'interface utilisateur de GNOME-3.

La liste ci-dessus ne fournit pas une couverture d'Unicode complète. Unicode est mise à jour tous les ans, et la plupart des extensions sont maintenant pour des systèmes d'écriture historiques. Pour une couverture presque complète, vous pouvez installer noto-fonts (environ 180 polices à la dernière vérification) mais ce nombre de polices rend bien plus difficile la sélection d'une police spécifique dans un document, et la plupart des gens considère la plupart d'entre elles comme un gâchis d'espace. Nous recommandions habituellement le Guide des polices Unicode, mais il n'a pas été mis à jour depuis 2008 et beaucoup de ses liens sont morts.

Des exemples de rendu de la plupart de ces polices, et bien d'autres, peuvent être trouvés sur la page font analysis.

Par exemple, considérons l'installation des polices DejaVu. À partir du répertoire source décompressé, exécuter les commandes suivantes en tant que root :

install -v -d -m755 /usr/share/fonts/dejavu &&
install -v -m644 *.ttf /usr/share/fonts/dejavu &&
fc-cache -v /usr/share/fonts/dejavu

Les polices sont souvent fournies dans des fichiers zip, ce qui requière UnZip-6.0 pour les lister et les extraire, mais même si la version actuelle est un archive tar, vous devriez toujours vérifier qu'elle crée bien un répertoire.

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 la.

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

Pour la plupart des appareils 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 "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection
EOF

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 2016-08-18 05:09:27 +0200