Gentoo Logo

Guide de configuration de X

Table des matières :

1.  Qu'est-ce que le serveur X-Window ?

Environnement graphique ou ligne de commande ?

Certains utilisateurs sont mal à l'aise à l'idée de devoir entrer des commandes dans un terminal. Pourquoi ne pourraient-ils pas, grâce à leur seule souris, profiter de la liberté offerte par Gentoo (et Linux en général) dans un environnement graphique ? Bien-sûr, c'est possible ! Linux offre une panoplie d'interfaces graphiques séduisantes qui peuvent être installées sur votre distribution.

Ce qui surprend le plus les nouveaux utilisateurs, c'est que l'interface graphique n'est rien d'autre qu'un programme comme les autres qui tourne sur leur système. Elle ne fait pas partie du noyau Linux ni du système de base. Elle est simplement un outil puissant qui permet d'utiliser les capacités graphiques de votre machine.

Dans le souci du respect des standards, un nouveau standard a été créé pour définir comment dessiner et déplacer des fenêtres sur l'écran, comment permettre à l'utilisateur d'agir avec le clavier et la souris ainsi que d'autres aspects importants d'un système graphique. Ce standard a été nommé X Window System, souvent abrégé en X11 ou simplement X. Il est utilisé sur la plupart des systèmes Unix, Linux et apparentés.

L'application qui implémente le standard X11 sur un système Linux s'appelle Xorg-X11. Elle est un dérivé du projet XFree86. Ce dernier ayant opté pour une licence incompatible avec la GPL, l'utilisation de Xorg est désormais recommandée. L'arbre Portage officiel ne contient plus d'ebuild pour XFree86.

Le projet X.org

Le projet X.org offre une implémentation libre et ouverte du standard X11.

Xorg fournit une interface entre votre matériel et les logiciels graphiques que vous voulez utiliser. De plus, Xorg est prévu pour fonctionner en réseau et permet de faire tourner une application sur un système et d'afficher sur l'écran d'un autre.

2.  Installer Xorg

Avant d'installer Xorg, vous devez préparer votre système à l'accueillir. En premier lieu, vous devez configurer votre noyau pour qu'il prenne en charge les périphériques d'entrée et les cartes vidéo. Ensuite, il faudra préparer /etc/portage/make.conf pour que les pilotes et les paquets ad hoc soient compilés et installlés.

Prise en charge des pilotes d'entrée

Par défaut, Xorg utilise evdev, un pilote générique pour les périphériques d'entrée. Vous devez activer le support de evdev en changeant la configuration de votre noyau (le guide de configuration du noyau explique comment faire si vous l'ignorez).

Exemple de code 2.1 : Activer la prise en charge d'evdev par le noyau

Device Drivers --->
  Input device support --->
  <*>  Event interface

Prise en charge du « Kernel modesetting » par le noyau

Les pilotes vidéo modernes et open-sources, s'appuyient sur le « Kernel modesetting » (KMS) (Gestion des modes d'affichage par le noyau). KMS permet un démarrage graphique amélioré, avec moins de sautillements, un changement d'utlisateur plus rapide, une console à tampon de trame pré-incluse, une transition fluide de la console à Xorg et d'autres fonctionnalités. KMS est incompatible avec les pilotes antérieurs de tampon de trame (framebuffer drivers) qui doivent rester désactivés dans la configuration du noyau.

Commencez par configurer votre noyau pour KMS. Vous pouvez le faire sans vous préoccuper du pilote vidéo Xorg que vous utilisez.

Exemple de code 2.2 : Configuration des tampons de trame (framebuffers)

Device Drivers --->
  Graphics support --->
    Support for frame buffer devices --->
      (Désactivez tous les pilotes, y compris VGA, Intel, nVidia, et ATI)

       (Plus bas, activez la prise en charge de la console de base. KMS en a besoin.)
    Console display driver support --->
      <*>  Framebuffer Console Support

Ensuite, configurez votre noyau afin d'utiliser le pilote KMS qui convient à votre carte vidéo. Intel, nVidia et AMD/ATI sont les cartes les plus courantes. Choisissez le cas qui vous convient dans la liste qui suit.

Pour les cartes Intel :

Exemple de code 2.3 : Configuration pour des cartes Intel

Device Drivers --->
  Graphics support --->
    /dev/agpgart (AGP Support) --->
    <*>  Intel 440LX/BX/GX, I8xx and E7x05 chipset support
    Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
    <*>  Intel 8xx/9xx/G3x/G4x/HD Graphics
    [*]    Enable modesetting on intel by default

Pour les cartes nVidia :

Exemple de code 2.4 : Configuration pour les cartes nVidia

Device Drivers --->
  Graphics support --->
    Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
    <*>    Nouveau (nVidia) cards

Pour des cartes AMD/ATI plus récentes (RadeonHD 2000 et postérieures ), vous devez installer (emerge) radeon-ucode ou linux-firmware. Dès que vous avez installé un de ces paquets, configurez votre noyau comme expliqué :

Exemple de code 2.5 : Configuration pour des cartes AMD/ATI

(Configurez le noyau pour utiliser le firmware (micro-logiciel) radeon-ucode)
Device Drivers --->
  Generic Driver Options --->
  [*]  Include in-kernel firmware blobs in kernel binary
    # cartes des séries RadeonHD 2000, 3000, et 4000 :
  (radeon/R600_rlc.bin radeon/R700_rlc.bin) External firmware blobs
  # RadeonHD 5000, aussi connu comme Evergreen:
  (radeon/CEDAR_me.bin radeon/CEDAR_pfp.bin radeon/CEDAR_rlc.bin
   radeon/CYPRESS_me.bin radeon/CYPRESS_pfp.bin radeon/CYPRESS_rlc.bin
   radeon/JUNIPER_me.bin radeon/JUNIPER_pfp.bin radeon/JUNIPER_rlc.bin
   radeon/REDWOOD_me.bin radeon/REDWOOD_pfp.bin 
   radeon/REDWOOD_rlc.bin) External firmware blobs
  # Radeon HD 6000/7300 series Fusion APUs:
  (radeon/PALM_me.bin radeon/PALM_pfp.bin radeon/SUMO2_me.bin
   radeon/SUMO2_pfp.bin radeon/SUMO_me.bin radeon/SUMO_pfp.bin
   radeon/SUMO_rlc.bin) External firmware blobs
  # Radeon HD 6400-7600 aka. Northern Islands:
  (radeon/BARTS_mc.bin radeon/BARTS_me.bin radeon/BARTS_pfp.bin
   radeon/BTC_rlc.bin radeon/CAICOS_mc.bin radeon/CAICOS_me.bin
   radeon/CAICOS_pfp.bin radeon/CAYMAN_mc.bin radeon/CAYMAN_me.bin
   radeon/CAYMAN_pfp.bin radeon/CAYMAN_rlc.bin radeon/TURKS_mc.bin
   radeon/TURKS_me.bin radeon/TURKS_pfp.bin) External firmware blobs
  # Radeon HD 7500/7600 series Fusion APUs:
  (radeon/ARUBA_me.bin radeon/ARUBA_pfp.bin radeon/ARUBA_rlc.bin)
   External firmware blobs
  # Radeon HD 7700-7900 aka. Southern Islands:
  (radeon/PITCAIRN_ce.bin radeon/PITCAIRN_mc.bin radeon/PITCAIRN_me.bin
   radeon/PITCAIRN_pfp.bin radeon/PITCAIRN_rlc.bin radeon/TAHITI_ce.bin
   radeon/TAHITI_mc.bin radeon/TAHITI_me.bin radeon/TAHITI_pfp.bin
   radeon/TAHITI_rlc.bin radeon/VERDE_ce.bin radeon/VERDE_mc.bin
   radeon/VERDE_me.bin radeon/VERDE_pfp.bin radeon/VERDE_rlc.bin)
   External firmware blobs
   # toutes:
   (/lib/firmware/) Firmware blobs root directory

(Activer la prise en charge KMS de  Radeon )
Device Drivers --->
  Graphics support --->
  <*>  Direct Rendering Manager --->
  <*>    ATI Radeon
  [*]      Enable modesetting on radeon by default

Note : les anciennes cartes Radeon (séries X1900 et antérieures) n'ont pas besoin du paquet radeon-ucode, pas plus que de configuration de micro-logiciel (firmware). Contentez-vous d'activer le gestionnaire de rendu direct (Direct Rendering Manager) et le réglage de mode d'affichae ATI Radeon (ATI Radeon modesetting).

Maintenant que vous avez configuré le noyau pour le KMS, continuez en documentant /etc/portage/make.conf comme indiqué dans la prochaine section.

La configuration du fichier make.conf

Avant d'installer Xorg, vous devez configurer deux variables importantes dans le fichier /etc/portage/make.conf.

La première variable est VIDEO_CARDS. Elle est utilisée pour définir les pilotes graphiques que vous comptez utiliser et se base en principe sur la marque ou le modèle de votre carte. Les réglages les plus courants sont nouveau pour les cartes nVidia ou radeon pour les cartes ATI Radeon. Les deux ont activement développé des pilotes open-source avec un bon support.

Note : vous pouvez aussi essayer les pilotes propriétaires de nVidia et AMD/ATI, respectivement nvidia et fglrx. Néanmoins, le réglage de ces pilotes propriétaires sort du cadre de ce guide. Reportez-vous au Gentoo Linux nVidia Guide (en anglais) et à la FAQ Gentoo concernant les cartes ATI. Si vous ne savez pas quel pilote choisir, ces documents devraient vous aider.

Le pilote intel peut être utilisé sur des ordinateurs fixes ou portables possédant un chipset graphique (jeu de composants) Intel intégré.

Note : la variable VIDEO_CARDS peut contenir plusieurs pilotes séparés par une espace.

La seconde variable à configurer est INPUT_DEVICES et est utilisée pour déterminer quels pilotes doivent être installés pour faire fonctionner vos périphériques d'entrée. Dans la plupart des cas, vous devriez choisir evdev. Si vous utiliser d'autres périphériques d'entrée comme un pavé tactile Synaptics sur un ordinateur portable, ajoutez-les à INPUT_DEVICES.

Maintenant que vous avez choisi quels pilotes vous allez utiliser, complétez le fichier /etc/portage/make.conf.

Exemple de code 2.6 : Exemple de make.conf

(Pour avoir le clavier, la souris, et le pavé tactile Synaptics)
INPUT_DEVICES="evdev synaptics"
(Pour les cartes nVidia...)
VIDEO_CARDS="nvidia"
(... OU ALORS pour les cartes ATI.)
VIDEO_CARDS="radeon"

Si les valeurs suggérées ne fonctionnent pas chez vous, lancez emerge -pv xorg-server, vérifiez toutes les options disponibles et choisissez celles qui s'appliquent à votre système. L'exemple concerne un système comprenant un clavier, une souris, un pavé tactile Synaptics ainsi qu'une carte vidéo Radeon.

Exemple de code 2.7 : Obtenir la liste des pilotes et des options disponibles

# emerge xorg-server

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] x11-base/xorg-server-1.6.3.901-r2  USE="hal nptl xorg -debug
-dmx -ipv6 -kdrive -minimal -sdl -tslib" 0 kB
[ebuild   R   ]  x11-base/xorg-drivers-1.6  INPUT_DEVICES="evdev synaptics
-acecad -aiptek -citron -elographics -fpit -hyperpen -joystick -keyboard -mouse
-mutouch -penmount -tslib -virtualbox -vmmouse -void -wacom"
VIDEO_CARDS="radeon -apm -ark -ast -chips -cirrus -dummy -epson -fbdev -fglrx
(-geode) -glint -i128 (-i740) (-impact) (-imstt) -intel -mach64 -mga -neomagic
(-newport) -nv -nvidia -r128 -radeonhd -rendition -s3 -s3virge -savage
-siliconmotion -sis -sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb)
(-sunleo) (-suntcx) -tdfx -tga -trident -tseng -v4l (-vermilion) -vesa -via
-virtualbox -vmware (-voodoo) (-xgi)" 0 kB

Après avoir activé toutes les variables nécessaires, vous pouvez installer le paquet Xorg.

Exemple de code 2.8 : Installer Xorg

(Assurez-vous que  udev est inclus dans la variable USE)
# echo "x11-base/xorg-server udev" >> /etc/portage/package.use
(Installer Xorg)
# emerge xorg-server

Note : vous pourriez installer le méta-paquet xorg-x11 à la place du paquet plus léger xorg-server. Les deux sont équivalents au niveau fonctionnel. Toutefois, xorg-x11 fournit beaucoup plus de paquets dont vous n'avez certainement pas besoin, telles que des collections de polices de caractères dans divers langages. Ceci n'est pas essentiel pour un environnement de bureau habituel.

Après l'installation, vous devez réinitialiser votre environnement avant de poursuivre. Lancez les commandes env-update et source /etc/profile.

Exemple de code 2.9 : Réinitialiser les variables d'environnement

# env-update
# source /etc/profile

3.  Configurer Xorg

Les versions récentes du serveur X sont faites pour fonctionner « out-of-the-box », c'est-à-dire sans édition manuelle des fichiers de configuration de Xorg. Il devrait détecter et configurer les périphériques tels qu'écrans, claviers et souris.

Essayez tout d'abord d'utiliser startx sans créer de fichier de configuration. Si Xorg ne démarre pas, où si un autre problème survient, il vous faudra alors configurer Xorg manuellement comme expliqué à la section suivante.

Le dossier xorg.conf.d

Note : configurer des fichiers dans le dossier xorg.conf.d doit être considéré comme une solution de dernier recours. Il est réellement souhaitable de fonctionner sans configuration particulière si cela est possible. Si, malgré tout, vous ne parvenez pas à avoir une configuration fonctionnelle, lisez ce qui suit.

Les fichiers de configuration de Xorg sont stockés dans le dossier /etc/X11/xorg.conf.d/. Chaque fichier reçcoit un nom unique qui se termine en .conf. Si le nom des fichiers commence par un chiffre, alors Xorg lira les fichiers dans l'ordre alpha-numérique. 10-evdev.conf sera lu avant 20-synaptics.conf, et ainsi de suite. Il n'est pas nécessaire que les noms commencent par un chiffre, mais cela peut aider à les organiser.

Note : Xorg met à votre disposition des exemples de configuration dans /usr/share/doc/xorg-server-${version}/xorg.conf.example.bz2. Vous pouvez les utiliser pour créer vous propres fichiers de configuration dans /etc/X11/xorg.conf.d/. Les exemples sont très bien commentés, mais si vous avez besoin de plus d'informations, à propos de la syntaxe, lisez man xorg.conf.D'autres exemples sont disponibles dans le chapitre Ressources à la fin de ce guide.

Utilisation de startx

Maintenant, essayez la commande startx pour lancer le serveur X. Le script startx exécute une session X; c'est à dire qu'il lance le serveur X et quelques applications grapphiques par dessus. Il décide des applications à lancer selon la logique suivante :

  • Si un fichier nommé .xinitrc est présent dans le dossier racine (/) il exécute les commandes que ce fichier contient.
  • Sinon, il lit la variable XSESSION et exécute une des sessions disponibles dans /etc/X11/Sessions/ en fonction de la valeur de cette variable. Vous pouvez définir la valeur de la variable XSESSION dans /etc/env.d/90xsession pour en faire une valeur par défaut pour tous les utilisateurs du système. Par exemple, en tant qu'administrateur, exécutez echo XSESSION="Xfce4" > /etc/env.d/90xsession. Ceci créera le fichier 90xsession et fixera la session X par défautt à Xfce. Pensez à exécuter env-update après avoir changé 90xsession.

Exemple de code 3.1 : Lancement de X

$ startx

Si vous n'avez pas encore installé de gestionnaire de fenêtres (window manager), vous ne verrez qu'un écran noir. Comme ce peut aussi ête le signe que quelque chose s'est mal passé, vous devriez installer (emerge) twm et xterm juste pour tester X.

Une fois ces programmes installés, lancez startx à nouveau. Quelques fenêtres xterm devraient apparaître, permettant ainsi de vérifier que X fonctionne normalement. Dès que vous êtes satisfait des résultats, désinstallez les programmes avec emerge --unmerge twm xterm en tant qu'administrateur. Vous n'aurez plus besoin de ces programmes dès lors que vous aurez installé un environnement de bureau.

4.  Adapter les paramètres de X

Définir la résolution

Si vous voulez modifier la résolution utilisée, vous devez modifier deux sections du fichier de configuration xorg.conf. La section Screen contient la liste des résolutions utilisables. Elle peut ne contenir aucune résolution auquel cas le serveur X détermine la résolution en fonction des informations de la section Monitor.

Changeons maintenant la résolution. Dans l'exemple suivant tiré de /etc/X11/xorg.conf.d/40-monitor.conf nous ajoutons la ligne PreferredMode pour que le serveur X démarre en 1440x900 par défaut. L'Option dans la section Device doit correspondre au nom de votre moniteur (DVI-0), qui peut être obtenu en exécutant xrandr. Vous aurez besoin d'installer xrand (emerge xrandr) juste le temps d'obtenir cette information. L'argument qui suit le nom du moniteur (dans la section Device ) doit correspondre à l'identifiant (Identifier) dans la section Monitor .

Exemple de code 4.1 : Modification de la section Monitor

# nano -w /etc/X11/xorg.conf.d/40-monitor.conf

Section "Device"
  Identifier  "RadeonHD 4550"
  Option      "Monitor-DVI-0" "DVI screen"
EndSection
Section "Monitor"
  Identifier  "DVI screen"
  Option      "PreferredMode" "1440x900"
EndSection

Démarrez votre serveur (startx) pour vérifier qu'il utilise la résolution souhaitée.

Moniteurs multiples

Vous pouvez configurer plusieurs moniteurs dans /etc/X11/xorg.conf.d/. Tout ce que vous devez faire, c'est donner un identifiant à chacun, puis indiquer sa position physique, telle que "à droite d' " (RightOf) ou "au-dessus d' " (Above) un autre moniteur. L'exemple suivant indique comment configurer un moniteur DVI et un moniteur VGA en tant qu'écran de droite :

Exemple de code 4.2 : Configuration de moniteurs multiples

# nano -w /etc/X11/xorg.conf.d/40-monitor.conf

Section "Device"
  Identifier "RadeonHD 4550"
  Option     "Monitor-DVI-0" "DVI screen"
  Option     "Monitor-VGA-0" "VGA screen"
EndSection
Section "Monitor"
  Identifier "DVI screen"
EndSection
Section "Monitor"
  Identifier "VGA screen"
  Option     "RightOf" "DVI screen"
EndSection

Configurer le clavier

Pour déclarer un clavier internationnal dans X, il vous suffit de créer le fichier ad hoc dans /etc/X11/xorg.conf.d/. Cet exemple concerne le cas d'un arrangement de clavier tchéque :

Exemple de code 4.3 : Utilisation d'un clavier international

# nano -w /etc/X11/xorg.conf.d/30-keyboard.conf

Section "InputClass"
        Identifier "keyboard-all"
        Driver "evdev"
        Option "XkbLayout" "us,cz"
        Option "XkbModel" "logitech_g15"
        Option "XkbRules" "xorg"
        Option "XkbOptions" "grp:alt_shift_toggle,grp:switch,grp_led:scroll,compose:rwin,terminate:ctrl_alt_bksp"
        Option "XkbVariant" ",qwerty"
        MatchIsKeyboard "on"
EndSection

La commande "terminate" (terminate:ctrl_alt_bksp) vous permet de tuer la session X en utilisant la combinaison de touches Ctrl-Alt-Backspace. Cela provoque cependant une sortie de X inélégante -- que vous ne souhaitez certainement pas. Ceci peut être utile lorsqu'un programme a planté votre environnement totalement, ou si vous êtes en train de mettre Xorg au point. Soyez prudent quand vous arrêtez X de cette manière -- la plupart des programmes n'apprécient pas cette façon de faire et vous pourriez perdre le travail en cours.

Pour finir

Démarrez votre serveur (startx) et appréciez ! Bravo, vous disposez maintenant d'un serveur X sur votre machine. L'étape suivante consiste à installer un gestionnaire de fenêtres utile et agréable, voire même un environnement de bureau complet, comme KDE, GNOME ou Xfce mais cela dépasse l'objectif de ce guide.Des informations sur la manière d'installer un environnement de bureau sont disponibles dans la Documentation Gentoo.

5.  Ressources

Créer et adapter xorg.conf

Les pages man (man xorg.conf et man evdev) contiennent une référence complète sur la syntaxe des fichiers de configuration. Vous devriez afficher ces pages dans un autre terminal quand vous modifiez xorg.conf.

Il existe aussi de nombreuses ressources en ligne sur la manière de créer les fichiers de configuration dans /etc/X11/. Nous ne faisons qu'en donner quelques unes ici : utilisez les moteurs de recherche pour en trouver d'autres.

Autres ressources

La section La station de travail Gentoo vous apportera plus d'informations sur la façon d'installer et de configurer les différents environnements graphiques et les applications.

Si vous mettez à jour depuis une ancienne version vers xorg-server-1.9, assurez-vous de prendre connaissance du Migration guide (seulement en anglais pour le moment).

Si vous avez besoin de plus de documentation, vous pouvez consulter la FAQ de X.Org fournie sur leur site internet.



Imprimer

Dernière mise à jour le 24 juillet 2012

Résumé : Le serveur X-Window Xorg permet d'offrir un environnement graphique aux utilisateurs. Ce guide décrit ce qu'est Xorg, comment l'installer et le configurer.

Sven Vermeulen
Auteur

Joshua Saddler
Auteur

Xavier Neys
Traducteur

Camille Huot
Traducteur

Marion Agé
Traducteur

José Fournier
Traducteur

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.