Guide de configuration de X
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 --->
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 |
Device Drivers --->
Generic Driver Options --->
[*] Include in-kernel firmware blobs in kernel binary
(radeon/R600_rlc.bin radeon/R700_rlc.bin) External firmware blobs
(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/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/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/ARUBA_me.bin radeon/ARUBA_pfp.bin radeon/ARUBA_rlc.bin)
External firmware blobs
(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
(/lib/firmware/) Firmware blobs root directory
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 |
INPUT_DEVICES="evdev synaptics"
VIDEO_CARDS="nvidia"
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 |
# echo "x11-base/xorg-server udev" >> /etc/portage/package.use
# 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.
Ce document est protégé par la licence Creative
Commons : Paternité - Partage des Conditions Initiales à
l'Identique 2.5.
|