Xorg

De ArchwikiFR

X.org est l'implémentation officielle du système graphique X Window System dirigée par la X.Org Foundation. Elle est libre et open source. Le système X Window prend en charge l'interface graphique sous GNU/Linux, et vous sera donc indispensable si vous souhaitez autre chose que les ttys sur votre Archlinux!

Xorg seul est limité (il ne sait qu'afficher des fenêtres), il vous faudra un gestionnaire de fenêtres ou un environnement de bureau complet à lancer dedans.

Ces derniers s'installent via pacman et sont soit démarrés directement avec startx soit par l’intermédiaire d’un gestionnaire de connexion graphique. (GDM, KDM, Slim, etc)

Installation

Avant de commencer la configuration, il faudra bien entendu vous assurer d'avoir installé xorg convenablement.

Même si vous aurez l'occasion de le faire plus tard, vous pouvez aussi dès maintenant vous renseigner sur les pilotes (drivers) qu'il vous faudra utiliser avec votre carte graphique. Dans certains cas, vous pourriez aussi avoir besoin de la documentation de votre écran et de votre carte graphique.

Attention: L'installation de Xorg via le groupe unique « xorg » est fortement déconseillée, elle installe l’ensemble des drivers graphiques, ce qui peut induire des problèmes d’administration futures.

Installez la dernière version de Xorg comme suit:

pacman -Syu xorg-server xorg-xinit xorg-server-utils

Installez le pilote pour votre carte graphique. (voir ici pour choisir le bon)

Astuce: Si vous installez dans une machine virtuelle, ne pas installer de driver graphique. Dans le cas de VirtualBox allez voir les éléments spécifiques à installer.
pacman -S xf86-video-votrepilote

(si aucun ne correspond, installez xf86-video-vesa, attention les performances seront assez mauvaises)

Astuce: Pour avoir un environnement minimal de test, en attendant d'avoir installé et configuré votre environnement graphique, vous pouvez installer les paquets suivants (vous permettant ainsi de lancer le gestionnaire de fenêtres Twm par un simple startx sans disposer de .xinitrc dans votre $HOME, par l'intermédiaire du /etc/X11/xinit/xinitrc ):
pacman -S xorg-twm xorg-xclock xterm

Il est maintenant temps de configurer votre serveur. Rassurez-vous, les xorg.conf à rallonge ne sont plus au menu.

Détection automatique

Depuis la version 1.8 du serveur, Xorg utilise udev pour détecter les périphériques de saisie à chaud.

Attention: Pour un test rapide et sans risque de X (il se fermera tout seul au bout de 10s), vous pouvez créer un fichier .xinitrc de test et lancer startx :
echo "xterm & sleep 10" > ~/.xinitrc
startx
Le résultat attendu est un écran noir avec une console (xterm)

Xorg devrait détecter et configurer à peu près correctement votre matériel (se reporter aux sections suivantes pour les ajustements éventuels). De fait, le /etc/X11/xorg.conf est à éviter désormais et il est préférable de rajouter toute configuration supplémentaire et personnalisée dans /etc/X11/xorg.conf.d/. Pour s'y retrouver plus facilement, il est recommandé de consacrer un fichier par section spécifique ou par périphérique (device.conf, monitor.conf, etc.).

Voir man xorg.conf et man xorg.conf.d pour le détail des options.

Astuce: En cas d'ajout de fichiers de configuration, il est préférable de les faire précéder d'un nombre, Xorg les chargeant alors dans cet ordre (ce qui signifie qu'à «configuration égale», le fichier au nombre le plus faible a priorité): 05-server.conf, 10-monitor.conf, 20-device.conf, 25-screen.conf, 30-other.conf ...

Configuration des périphériques de saisie

Clavier

Attention: Il est déconseillé d'éditer le fichier /etc/X11/xorg.conf.d/10-evdev.conf, il est beaucoup plus simple de créer un nouveau fichier pour toute modification de configuration.

Pour modifier le type de clavier, créez le fichier /etc/X11/xorg.conf.d/10-keyboard-layout.conf.

Ainsi pour le configurer en azerty français:

Section "InputClass"
    Identifier         "Keyboard Layout"
    MatchIsKeyboard    "yes"
    MatchDevicePath    "/dev/input/event*"
    Option             "XkbLayout"  "fr"
    Option             "XkbVariant" "latin9" # accès aux caractères spéciaux plus logique avec "Alt Gr" (ex : « » avec "Alt Gr" w x)
EndSection

Voici les dispositions pour les autres claviers francophones:

bépo france suisse canada belge
XkbLayout fr fr ch ca be
XkbVariant bepo oss fr fr

La variante oss permet de taper tous les caractères nécessaires à l'écriture du français, exemple : œ Œo … « » æ Æ Ç É et d'autres encore.

Configuration avancée

Les différentes options acceptables pour le clavier sont décrites dans les différentes sections (model, layout, variant, option) de /usr/share/X11/xkb/rules/xorg.lst.

Astuce: Depuis la version 1.6 de Xorg, la combinaison de touches Ctrl + Alt + Backspace pour «tuer» le serveur X n’a plus aucun effet. Pour la réactiver, vous devez créer le fichier /etc/X11/xorg.conf.d/10-keyboard-terminate.conf :
Section "InputClass"
    Identifier         "Keyboard Terminate"
    MatchIsKeyboard    "yes"
    MatchDevicePath    "/dev/input/event*"
    Option             "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection

En outre, pour réactiver Ctrl + Alt + Backspace et activer Compose sur la touche menu, il suffit d'adapter la ligne XkbOptions avec :

Option "XkbOptions" "compose:menu,terminate:ctrl_alt_bksp"

Basculer la disposition clavier

Si vous désirez avoir plusieurs configurations de clavier disponibles pour l'ensemble des utilisateurs (pratique pour les environnements graphiques qui ne disposeraient pas de cette fonctionnalité), vous pouvez créer ou modifier le fichier existant /etc/X11/xorg.conf.d/10-keyboard-layout.conf.

Par exemple, pour pouvoir basculer entre claviers français, allemand et suédois via la combinaison Shift gauche + Shift droit:

Section "InputClass"
       Identifier             "keyboard Layout"
       MatchIsKeyboard        "on"
       MatchDevicePath        "/dev/input/event*"
       Option "XkbLayout"     "fr, de, se"
       Option "XkbOptions"    "grp:shifts_toggle"
EndSection
Note: L'utilisateur peut également passer par l'utilitaire setxkbmap lorsque le serveur X est déjà lancé:
setxkbmap -layout "fr,de,se" -option "grp:shifts_toggle"
Astuce: Cela fonctionne également pour basculer d'une variante de clavier à une autre. Par exemple, pour passer du français latin9 (azerty classique) au bépo:
Section "InputClass"
       Identifier             "keyboard Layout"
       MatchIsKeyboard        "on"
       MatchDevicePath        "/dev/input/event*"
       Option "XkbLayout"     "fr,fr"
       Option "XkbVariant"    "latin9,bepo"
       Option "XkbOptions"    "grp:shifts_toggle"
EndSection

Touchpad compatible synaptics

Voir la page consacrée à la configuration des touchpads.

Configuration de la carte graphique

La carte graphique est détectée au même titre que les périphériques de saisie, à la différence près que xorg ne tente de charger que ce qu'il connaît, c'est à dire, des pilotes libres et que le pilote n'est pas forcément installé sur votre système. Pour connaître le driver de la carte détectée si toutefois il n'est pas déjà installé, plusieurs options se présentent:

Trouvez le modèle de votre carte graphique, par exemple en utilisant la commande lspci, et déduisez en le driver à installer,

OU

lancez une session graphique sous Xorg avec la commande startx, puis examinez les logs.

Vous pouvez voir le log créé par Xorg dans le fichier /var/log/Xorg.0.log, dont voici un exemple d'extrait :

Current Operating System: Linux *** 2.6.34-ARCH #1 SMP PREEMPT Mon Jul 5 22:56:24 UTC 2010 i686
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(EE) Failed to load module "intel" (module does not exist, 0)
(EE) No drivers available.

Cet extrait, par exemple, indique que X.org a détecté une carte intel, mais que le pilote intel n'est pas disponible, il suffit donc de l'installer pour que X démarre, à l'aide de la commande suivante:

pacman -S xf86-video-intel

Voir plus bas la liste des pilotes libres disponibles.

Vous pouvez lire les tutoriels suivants selon votre carte :

AMD-ATI Pilote libre ATI
pilote propriétaire AMD/ATI™ (catalyst)
Intel Pilote libre Intel®
nVidia Pilotes libres : Nouveau - nv
pilote propriétaire nVidia®

Configuration de l'écran

De même que le reste, ce n'est qu'une éventuelle personnalisation, l'écran étant normalement détecté directement par xorg. Ainsi, si la résolution automatiquement utilisée n'est pas celle désirée, vous pouvez créer ou modifier /etc/X11/xorg.conf.d/10-monitor.conf pour qu'il contienne :

Fichier: /etc/X11/xorg.conf.d/10-monitor.conf

<pre<noinclude></noinclude> style="padding: 0.25em; margin: 0 0 0.50em 0; background-color: #F7F7F7; border: thin dashed #7F7F7F; border-top: none">Section "Monitor"

   Identifier     "Monitor0"
   Option         "PreferredMode"  "1440x900"

EndSection</pre<noinclude></noinclude>>

Ceci dit, la résolution doit quand même être détectée. Si ce n'est pas le cas, vous pouvez utiliser cvt pour avoir le bon mode:

$ cvt 1440 900

<pre<noinclude></noinclude> style="white-space: pre-wrap; overflow-x: auto; border-top: none; margin-top: 0"># 1440x900 59.89 Hz (CVT 1.30MA) hsync: 55.93 kHz; pclk: 106.50 MHz Modeline "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync</pre<noinclude></noinclude>> Et le rajouter au fichier :

Fichier: /etc/X11/xorg.conf.d/10-monitor.conf

<pre<noinclude></noinclude> style="padding: 0.25em; margin: 0 0 0.50em 0; background-color: #F7F7F7; border: thin dashed #7F7F7F; border-top: none">Section "Monitor"

   Identifier     "Monitor0"
   Modeline       "1440x900_60.00"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync
   Option         "PreferredMode"  "1440x900_60.00"

EndSection</pre<noinclude></noinclude>>

Configuration semi-automatique (déprécié)

Attention: Cette section ne s'adresse qu'à ceux désirant configurer Xorg manuellement, sans utiliser la détection automatique par défaut.
Ce n'est nécessaire que si Xorg ne fonctionne pas sans.


Plusieurs outils sont disponibles pour générer un fichier /etc/X11/xorg.conf, et surtout n’oubliez pas de désactiver la détection automatique si vous comptez configurer la totalité de Xorg depuis ce fichier :

On désactive la configuration automatique des périphériques de saisie en rajoutant dans la section ServerFlags de /etc/X11/xorg.conf les lignes suivantes :

Section "ServerFlags"
 Option "AutoAddDevices" "false"
EndSection

Assurez-vous d'avoir préalablement installé le pilote libre de votre carte vidéo. (voir la liste plus bas)

- Lancez la commande en utilisateur root :

# X -configure

Si cette commande réussit, cela créera un fichier xorg.conf.new dans le répertoire /root/

- Testez la configuration générée de cette manière :

# X -config /root/xorg.conf.new

(Ctrl-Alt-BackSpace pour quitter Xorg)

- Déplacez le fichier généré dans le répertoire de configuration :

# mv /root/xorg.conf.new /etc/X11/xorg.conf

Vous pouvez ensuite personnaliser ce fichier pré-rempli.

Pilotes libres

Voici la liste des pilotes libres avec leur désignation, ces pilotes font partie du projet Xorg :

Paquet Nom Site
xf86-video-apm Alliance ProMotion video driver
xf86-video-ark ark video driver
xf86-video-ati pilote des cartes ATI > R4xx X.org - ati
xf86-video-chips Chips and Technologies video driver
xf86-video-cirrus Cartes Cirrus Logic
xf86-video-dummy Pas de sortie vidéo
xf86-video-fbdev Pour utiliser X sur le FrameBuffer
xf86-video-glint GLINT/Permedia video driver
xf86-video-i128 Number 0 i128 video driver
xf86-video-i740 Intel i740 video driver Cartes Intel anciennes
xf86-video-i810 Intel i810/i830/i9xx video drivers (déprécié - utilisez plutôt intel)
xf86-video-intel Cartes Intel récentes
xf86-video-imstt Integrated Micro Solutions Twin Turbo video driver
xf86-video-mga video driver (Matrox Graphics Adapter) Cartes Matrox
xf86-video-neomagic neomagic video driver Cartes Neomagic Magicmedia
xf86-video-nv nv video driver Pilote nVidia libre sans 3D
xf86-video-nouveau pilote libre des cartes NVidia Supporte l'accélération 3D
xf86-video-rendition Rendition video driver
xf86-video-s3 S3 video driver Cartes S3
xf86-video-s3virge S3 Virge video driver Cartes S3 Virge
xf86-video-savage savage video driver Cartes S3 Savage
xf86-video-siliconmotion siliconmotion video driver
xf86-video-sis SiS video driver Cartes SiS
xf86-video-sisusb SiS USB video driver
xf86-video-tdfx tdfx video driver Cartes 3DFX
xf86-video-trident Trident video driver Cartes Trident
xf86-video-tseng tseng video driver Cartes Tseng
xf86-video-unichrome Unichrome video drivers Cartes Unichrome
xf86-video-v4l v4l video driver
xf86-video-vesa vesa video driver Pilote générique sans accélération
xf86-video-vga VGA 16 color video driver
xf86-video-via via video driver Cartes VIA
xf86-video-vmware vmware video driver Machines virtuelles vmware
xf86-video-voodoo voodoo video driver Cartes voodoo

Polices

Voici une sélection de paquets à installer pour avoir des belles polices bien lissées dans toutes les applis graphiques et ne plus jamais se poser de question à ce sujet.

pacman -S xorg-fonts-type1 ttf-dejavu artwiz-fonts font-bh-ttf \
          font-bitstream-speedo gsfonts sdl_ttf ttf-bitstream-vera \
          ttf-cheapskate ttf-liberation