X window ou X11 maintenant, elle la couche de bas niveau qui fournit un environnement graphique aux systèmes Unix modernes (c'est un grand raccourci, voir les liens ci-contre). Jusqu'à quelques années en arrières, c'était une vraie galère de le configurer sur PC ... avec des fichiers de configuration complètement abscons et tout à refaire à chaque fois qu'on devait changer quelque chose. Mais c'est de l'histoire ancienne, car tout ce fait maintenant (presque) automatiquement ...
La première chose à faire est de déterminer quelle est la carte graphique que nous utilisons :
chose laurent # lspci
...
00:0c.0 SCSI storage controller: Adaptec AHA-2940U/UW/D / AIC-7881U (rev 01)
01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400/G450 (rev 82)
...
chose laurent #
Ici, c'est une Matrox G450. Une recherche sur Internet permet de savoir quelles sont les options à activer dans le kernel (dans mon cas, CONFIG_DRM_MGA) et les précautions à prendre. Je ne rentre pas dans les détails, car chaque carte a ses spécificités et les forums sont d'un grand secours.
Ces mêmes sources indiqueront aussi quel est le drivers X à utiliser, driver que nous indiquons dont le fameux fichier /etc/make.conf par la directive VIDEO_CARDS.
VIDEO_CARDS="mga vesa fbdev"
INPUT_DEVICES="evdev"
A noter les vesa et fbdev : Ce sont nos solutions de secours. Si le driver de la carte ne fonctionne pas, X tentera ces derniers qui sont des drivers génériques : au revoir l'accélération et les résolutions de ouf ... mais elles ont toutes les chances de fonctionner (ce qui m'a été bien utile sur le Dell).
L'INPUT_DEVICE indique au système comment communiquer avec les périphériques d'entrée comme le clavier et la souris. evdev est une couche intermédiaire qui s'occupe de ça tout seule, c'est la solution à utiliser de nos jours.
Il est possible d'avoir la liste de tout les drivers reconus par la commande :
dell linux # emerge -pv xorg-drivers
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild R ] x11-base/xorg-drivers-1.10 INPUT_DEVICES="evdev -acecad -aiptek -joystick -keyboard -mouse -synaptics -tslib -virtualbox -vmmouse -void -wacom" VIDEO_CARDS="fbdev intel vesa -apm -ark -ast -chips -cirrus -dummy -epson -fglrx -geode -glint -i128 -i740 (-impact) -mach64 -mga -neomagic (-newport) -nouveau -nv -nvidia (-omapfb) -qxl -r128 -radeon -rendition -s3 -s3virge -savage -siliconmotion -sis -sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb) (-sunleo) (-suntcx) -tdfx -tga -trident -tseng -v4l -via -virtualbox -vmware (-voodoo)" 0 kB
Total: 1 package (1 reinstall), Size of downloads: 0 kB
evdev est le gestionnaire d'évènements qui fait le lien entre les périphériques d'entrée (clavier, souris, ...) et X. Il faut l'activer dans le kernel.
Device Drivers --->
Input device support --->
<*> Event interface
La première étape consiste à inclure dans le kernel le driver correspondant à la carte graphique présente sur le système. On trouvera plus d'information dans ma page concernant le kernel, ainsi dans les pages dédiées à mes machines.
Il faudra :
Device Drivers --->
Graphics support --->
<*> Direct Rendering Manager --->
Device Drivers --->
Graphics support --->
/dev/agpgart (AGP Support) --->
Le serveur X (car en fait, cette couche utilise du client serveur, ce qui permet de déporter un affichage sur une autre machine) se trouve dans le paquet xorg-server. Il faudra aussi lui ajouter quelques polices de caractères ...
emerge media-fonts/corefonts media-fonts/ttf-bitstream-vera xorg-server
Attention, les dépendances sont nombreuses donc la compilation sera longue ...
Dans le cas d'une compilation distribuée (binhost) pour éviter que le serveur X se recompile sur toutes les machines, il faut spécifier toutes les cartes sur toutes les machines. Dans mon cas, ça donne :
VIDEO_CARDS="intel mga sis r128 vesa fbdev radeon"
Xorg se débrouillera pour ne charger que le driver adéquat.
Il n'y a besoin d'aucun fichier de configuration, X se débrouille tout seul et prend les options par défaut. Mais il est parfois nécessaire de lui indiquer nos propres préférences.
Plutôt qu'un fichier monolithique, X peut se configurer par des petits fichiers placés dans le répertoire /etc/X11/xorg.conf.d/
Par exemple, j'ai le fichier 30-keyboard.conf suivant :
Section "InputClass"
Identifier "keyboard-all"
Driver "evdev"
Option "XkbLayout" "us"
Option "XkbRules" "xorg"
Option "XkbOptions" "compose:rwin,terminate:ctrl_alt_bksp"
MatchIsKeyboard "on"
EndSection
On peut voir la liste des touches disponibles dans le fichier /usr/share/X11/xkb/rules/xorg.lst.
Si on lance X maintenant (startx depuis un shell par exemple), on n'aura droit qu'à un écran noir ... X s'occupe des couches de bas niveau, un peu comme Intuition sur Amiga, il faut lui ajouter un windows manager (OpenBox) et un Desktop environment (LXDE) pour que s'affiche quelque chose d'utile.
Il arrive parfois que les accents de programmes s'affichent mal : "locale" n'est pas correctement définie. Les systèmes récents sont tous en UTF-8 mais certains programmes ne le supportent pas encore et il faut alors utiliser l'ancienne méthode.
Par défaut, Gentoo gérera toutes les locales, ce qui peut prendre beaucoup de temps. On peut indiquer celles que nous souhaitons utiliser en renseignant le fichier /etc/locale.gen.
Le mien contient :
en_US ISO-8859-1
en_US.UTF-8 UTF-8
fr_FR.UTF-8 UTF-8
fr_FR ISO-8859-1
fr_FR@euro ISO-8859-15
On regénerera les locales par la commande locale-gen
Ce fichier contient la localisation global du système. Ce qui donne :
LANG="fr_FR.UTF-8"
Si un programme refuse l'UTF-8, on peut repasser à la locale simple-byte en changeant la valeur de la variable LANG avant de le lancer dans un shell. Par exemple :
LANG=fr_FR@euro && cinelerra
On peut aussi lui faire causer l'anglais :
LANG=en_US.UTF-8 && cinelerra
Il se peut que X ne se lance plus après une mise-à-jour, ce qui est généralement due aux drivers qui ont besoin d'être rafraichis.
S'assurer que les packages app-portage/portage-utils et app-portage/gentoolkit sont bien présents dans le système, puis lancer les commandes suivantes :
emerge -a1 $(qlist -IC x11-drivers/)
revdep-rebuild
Si le driver de la carte graphique pose trop de problèmes, ou si l'on souhaite faire un CD qui boote sur n'importe quelle machine, il existe la possibilité d'utiliser le driver VESA. C'est un driver VGA, tout ce qu'il y a de plus basic donc sans accélération matériel, mais qui fonctionnera partout.
Dans le kernel, il suffit de n'active aucun driver propriétaire, mais uniquement le VESA. Et VIDEO_CARDS="vesa" l'activera dans X. (Voir la configuration du Dell SX260 pour plus d'information).
Visitez : Nos sorties Ski et rando |
Copyright Laurent Faillie
2001-2024
N'oubliez pas d'entrer le mot de passe pour voir aussi les photos perso. |
Contactez moi si vous souhaitez réutiliser ces photos et pour les obtenir avec une plus grande résolution. |
Visites durant les 7 derniers jours au total. |
Vous pouvez
laissez un commentaire
sur cette page.