Chapitre 1. Installer le serveur graphique

Préliminaires
Installer et configurer un serveur X
Lancer le serveur X
Peaufiner la configuration du serveur X
Manipulations de base

Préliminaires

L'installation du serveur graphique n'est pas une étape facile, surtout si vous avez une carte graphique dernier cri ou exotique. Pour que le serveur graphique puisse se lancer, il faut qu'il connaisse les caractéristiques de :

  • votre clavier,

  • votre souris,

  • votre carte graphique (c'est le plus difficile),

  • votre écran.

Se renseigner sur votre carte graphique

La première étapez consiste à se renseigner sur votre carte graphique. Si vous connaissez le modèle exact de votre carte graphique, vous pouvez passer au paragraphe suivant. Sinon, il va falloir partir aux renseignements pour connaître le modèle exact de votre carte graphique. Vous avez trois sources d'informations :

  • la documentation et/ou la facture de votre ordinateur,

  • la commande lspci sous Linux, qui liste les périphériques PCI et AGP. Vous devez avoir un paragraphe qui commence par "VGA compatible controller", et à la suite le nom du modèle de votre carte graphique.

  • si vous avez encore un Windows installé sur votre ordinateur, regardez dans le Gestionnaire de périphériques, dans la section Carte Graphique, pour avoir le nom de votre carte.

Comprendre l'accélération 3D sous X

Trois cas se présentent :

  • Votre carte graphique ne possède pas d'accélération 3D matérielle : vous n'êtes pas concerné par ce paragraphe !

  • Vous avez une carte graphique possédant une puce de marque 3Dfx, Intel, Matrox ou SiS : pour tirer parti de leur accélération 3D matérielle, vous devez utiliser le DRM (Direct Rendering Manager) et le DRI (Direct Rendering Infrastructure).

  • Vous avez une carte ATI ou nVidia. Vous avez alors le choix entre deux pilotes : un pilote libre inclus dans X.org, et un pilote propriétaire. Les pilotes propriétaire fonctionnent parfaitement, en 2D comme en 3D. Pour les cartes nVidia, le pilote libre marche très bien, mais ne tire pas parti de l'accélération matérielle 3D de la carte. Pour les cartes ATI, le pilote libre sait utiliser les capacités 3D des cartes ATI qui ne sont pas trop récentes.

Installer et configurer un serveur X

Installer les paquets

Installation et début de configuration des paquets

Installez les paquets nécessaires :

# apt-get install xorg

Il vous demande alors les modes vidéo utilisés par le serveur X : cochez les modes de résolution que vous pouvez et souhaitez utiliser.

Installer un pilote propriétaire

Si vous souhaitez utiliser le pilote propriétaire nVidia, installez le paquet nvidia-glx. Vous devez pour cela avoir activé les dépôts de paquets non libres (Le système de gestion des paquets Debian) :

# apt-get install nvidia-glx

De même, pour les cartes ATI, il faut installer le paquet fglrx-driver.

Configurer le serveur X avec debconf

Vous allez maintenant configurer le serveur X plus finement, avec debconf : il va vous poser une série de questions puis générer le fichier de configuration de X.org /etc/X11/xorg.conf :

# dpkg-reconfigure xserver-xorg

La carte graphique

  1. Il commence par vous demander de sélectionner le pilote de votre carte graphique. C'est là où il ne faut pas se tromper ! Choisissez le driver supportant votre carte graphique dans la liste qu'il vous propose. Ce n'est pas toujours évident... En fait, chaque pilote supporte plusieurs modèles de cartes graphiques, et le nom du driver est généralement le nom du constructeur de la puce graphique, ou un mix entre le nom du constructeur de la puce et le nom du modèle de la carte.

    Par exemple :

    • si vous avez une carte nVidia et que vous voulez utiliser le pilote libre, sélectionnez nv,

    • si vous avez une carte nVidia et que vous voulez utiliser le pilote propriétaire, sélectionnez nvidia,

    • si vous avez une carte ATI et que vous voulez utiliser le pilote libre, sélectionnez ati,

    • si vous avez une carte ATI et que vous voulez utiliser le pilote propriétaire, sélectionnez fglrx,

    Note

    Si vous avez une carte graphique non supportée par X.org ou que vous ne trouvez pas le driver qui correspond à votre carte graphique, sélectionnez le driver vesa : il marche avec quasiment toutes les cartes graphiques.

  2. Ensuite, il vous demande un identifiant : on écrit généralement le nom de sa carte graphique.

  3. Entrez l'identifiant du bus de la carte vidéo : si vous n'avez qu'une seule carte vidéo, vous pouvez laisser le tel quel.

  4. Entrez la quantité de mémoire que va utiliser votre carte vidéo : elle est normalement détectée automatiquement, vous pouvez laisser le champ vide.

  5. Utiliser l'interface framebuffer du noyau ? : répondez Non.

Le clavier

  1. Détecter automatiquement la disposition du clavier ? : répondez Non.

  2. Disposition du clavier : laissez fr.

  3. Jeu de définitions XKB à utiliser  : laissez xorg.

  4. Modèle de clavier : laissez pc105.

  5. Variant du clavier : laissez latin9.

  6. Options du clavier : : laissez le champ vide.

La souris

  1. Port de branchement de votre souris : laissez /dev/input/mice.

  2. Protocole de gestion de votre souris : ImPS/2 convient pour la plupart des souris.

  3. Emuler une souris 3 boutons ? Si vous avez une souris 2 boutons, répondez Oui ; si vous avez une souris avec 3 boutons ou plus, répondez Non.

Les modules

  1. Modules du serveur X.org à charger par défaut : ne modifiez pas la liste..

  2. Mettre une section "Files" de référence dans la configuration ? : répondez Oui.

L'écran

  1. Détecter automatiquement l'écran ? répondez Oui

  2. Choisissez ensuite un identifiant pour votre moniteur (on met en général le nom de modèle).

  3. Modes vidéo utilisés par le serveur X : cochez toutes les résolutions supportées par votre écran ; il choisira la meilleur résolution possible parmi les résolutions sélectionnées (donc a priori la plus élevées de celles que vous avez sélectionnées).

  4. Ensuite viennnent les questions sur les réglages de l'écran. Si vous ne connaissez pas les spécifications techniques de votre écran, choisissez le mode Simple. Si vous choisissez le mode Expert, il faut connaître précisement les caractéristiques de votre écran et notamment les fréquences de rafraîchissement verticales et horizontales (c'est normalement écrit dans le manuel de votre écran).

  5. Inscrire les plages de fréquence dans la configuration ? : répondez Oui

  6. Profondeur de couleur par défaut : sauf si vous avez une vieille carte graphique avec une mémoire vidéo limitée, sélectionnez 24 bits.

Fin...

Une fois que debconf a fini sa série de questions, il génère le fichier de configuration du serveur graphique /etc/X11/xorg.conf.

Recommencer ?

Si vous vous êtes trompé dans la configuration, vous pouvez recommencer en reconfigurant le paquet xserver-xorg :

# dpkg-reconfigure xserver-xorg

Lancer le serveur X

Pour que le serveur X puisse se lancer, il faut avoir un bureau, ou au minimum un gestionnaire de fenêtre.

Installer le bureau et le gestionnaire de fenêtre

Le bureau Gnome contient énormément de programmes, parmi lesquels figurent des jeux ou des outils qui ne vous serviront pas nécessairement. Plutôt que d'installer un bureau Gnome complet, nous allons installer les programmes les plus importants, qui suffisent à obtenir un environnement agréable :

# apt-get install gdm-themes gnome-themes-extras xscreensaver gdm evince \
gnome-media gnome-themes gnome-volume-manager libgnomevfs2-extra \
sound-juicer totem totem-gstreamer gnome-core gnome-system-tools \
gnome-utils

Lancer X !

Maintenant que tout est prêt, vous allez pouvoir lancer le serveur X en tant que simple utilisateur (on ne lance jamais un server graphique en root) avec la commande suivante :

% startx

Résultat...

Il y a trois scénarios possibles :

  • Votre serveur X plante.

  • Le serveur X se lance, et vous arrivez dans un beau bureau Gnome... mais la souris devient folle dès que vous la bougez. Pour fermer le serveur graphique, utilisez la combinaison de touches Ctrl-Alt-Backspace.

  • Le serveur X se lance, et vous arrivez dans un beau bureau Gnome avec une souris qui bouge normalement... Victoire ! Vous pouvez passer directement au chapitre suivant Le bureau Gnome si vous êtes pressé.

Le fichier de log

À chaque lancement ou tentative de lancement du serveur X, celui-ci produit un fichier de log /var/log/Xorg.0.log qui contient tous les messages qui ont défilé très vite sur votre écran quand vous avez lancé le serveur graphique et que vous n'avez pas pu lire.

Ce fichier va vous permettre de comprendre les problèmes de votre serveur X et éventuellement de vérifier qu'il marche de façon optimale. Il faut donc en particulier consulter attentivement ce fichier après chaque plantage.

Affichez /var/log/Xorg.0.log (avec most). Après les messages au début du fichier, vous trouvez des lignes qui commencent par des sigles qui ont leur importance :

  • (**) informe de quelque chose lu dans le fichier de configuration,

  • (==) informe d'un paramètre mis par défaut,

  • (II) correspond à un message d'information,

  • (WW) correspond à un avertissement,

  • (EE) correspond à une erreur.

Vous devez donc vous concentrer tout particulièrement sur les lignes qui commencent par (WW) ou (EE) et essayer de comprendre l'origine du problème. C'est généralement la configuration de la souris ou de la carte graphique qui pose problème. Il ne faut pas trop se préoccuper des messages d'avertissement qui concernent les polices (en anglais fonts) et l'APM, il ne sont jamais à l'origine de plantages ou de problèmes avec la souris !

Reconfigurer si nécessaire

Une fois que vous avez une petite idée de la cause du mauvais fonctionnement du serveur X, relancez la procédure de configuration :

# dpkg-reconfigure xserver-xorg

Note

Si vous avez un serveur X qui marche mais une souris folle dès que vous la bougez, vous n'aurez probablement qu'à changer le protocole de la souris.

Puis testez de nouveau le fonctionnement du serveur X :

% startx

Si vous ne parvenez pas à faire marcher votre serveur graphique après plusieurs tentatives infructueuses de lancement et reconfiguration, lisez attentivement la section suivante...

Peaufiner la configuration du serveur X

La configuration du serveur X est contenue dans le fichier /etc/X11/xorg.conf. Vous pouvez éditer ce fichier pour modifier à la main la configuration de votre serveur X.

Les sections

Le fichier est divisé en plusieurs sections, qui ont des liens entre-elles :

Figure 1.1. Liens entre les sections

Liens entre les sections

Les liens entre les sections sont assurés par des identifiants appelés Identifier. Si vous modifiez un Identifier, n'oubliez pas de le modifier à deux endroits : là où il est défini et là où il est appelé (cf les liens sur le schéma précédent) !

Il existe aussi des sections indépendantes des autres :

  • une section Files qui contient les chemins des polices de caractères,

  • une section optionnelle ServerFlags qui peut contenir un certain nombre d'options,

  • une section Module qui contient la liste des modules à charger,

  • une section DRI qui contient les permissions pour l'utilisation du DRI (Direct Rendering Infrastructure).

Nous vous précisons ci-dessous les paramètres importants dans chaque partie, en suivant l'ordre du fichier :

Les polices de caractères

La section Files contient les chemins vers les polices de caractères. Supprimez la ligne correspondant au serveur de polices local ainsi que la ligne correspondant aux polices de l'alphabet cyrillic (nous n'avons pas installé les paquets correspondants, car nous n'en avons pas besoin). Pour avoir par défaut des polices de 75dpi plutôt que des polices de 100dpi (100dpi est un peu trop gros à mon goût...), mettez les lignes contenant 75dpi avant les lignes contenant 100dpi. La section devient alors :

Section "Files"
        FontPath        "/usr/share/fonts/X11/misc"
        FontPath        "/usr/X11R6/lib/X11/fonts/misc"
        FontPath        "/usr/share/fonts/X11/75dpi/:unscaled"
        FontPath        "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
        FontPath        "/usr/share/fonts/X11/100dpi/:unscaled"
        FontPath        "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
        FontPath        "/usr/share/fonts/X11/Type1"
        FontPath        "/usr/X11R6/lib/X11/fonts/Type1"
        FontPath        "/usr/share/fonts/X11/75dpi"
        FontPath        "/usr/X11R6/lib/X11/fonts/75dpi"
        FontPath        "/usr/share/fonts/X11/100dpi"
        FontPath        "/usr/X11R6/lib/X11/fonts/100dpi"
	...
EndSection

Les modules

Normalement, si vous avez suivi mes consignes lors de la configuration avec debconf, vous n'avez pas besoin de modifier la section Modules.

Le clavier

  • L'option XkbLayout permet de préciser la nationalité du clavier (français, américain, etc...).

  • L'option XkbModel fixe le nombre de touches du clavier (pc102, pc104,...).

Section "InputDevice"
        Identifier      "Generic Keyboard"
        Driver          "keyboard"
        Option          "CoreKeyboard"
        Option          "XkbRules"      "xorg"
        Option          "XkbModel"      "pc105"
        Option          "XkbLayout"     "fr"
	Option		"XkbVariant"	"latin9"
EndSection

La souris

Une seule section suffit pour faire fonctionner plusieurs souris. Ainsi, si vous utilisez une souris d'appoint sur un portable, il vous suffit de la brancher pour pouvoir l'utiliser.

  • L'option Device définit le périphérique correspondant à la souris.

  • L'option Protocol définit le langage parlé par la souris.

  • L'option Emulate3Buttons doit être activée si vous avez une souris 2 boutons et que vous voulez pouvoir faire du copier-coller sous X quand même (ce sera expliqué au chapitre Les bases de Linux en mode graphique).

Cela donne par exemple :

Section "InputDevice"
        Driver          "mouse"
        Option          "CorePointer"
        Option          "Device"                "/dev/input/mice"
        Option          "Protocol"              "ExplorerPS/2"
# Décommentez la ligne suivante si vous avez une souris 2 boutons
        Option          "Emulate3Buttons"       "true"
EndSection

La carte graphique

  • Le paramètre Driver fixe le pilote utilisé par le serveur X pour votre carte graphique. Le nom du driver correspond exactement à la liste présente dans debconf à l'étape de sélection du driver de la carte graphique. Vous trouverez des informations intéressantes à ce sujet dans le répertoire /usr/share/doc/xserver-xorg.

Section "Device"
        Identifier      "Generic Video Card"
        Driver          "nvidia"
EndSection

L'écran

  • Le paramètre facultatif HorizSync précise la plage des fréquences de synchronisation horizontale en kHz.

  • Le paramètre facultatif VertRefresh précise la plage des fréquences de rafraîchissement verticale en Hz.

  • L'option DPMS active l'option d'économie d'énergie si vous avez un écran qui supporte la norme DPMS.

Toutes ces informations techniques sont normalement écrites dans le manuel de l'écran.

Section "Monitor"
        Identifier      "Generic Monitor"
        HorizSync       28-50
        VertRefresh     43-75
        Option          "DPMS"
EndSection

La résolution

  • Le paramètre Device assure le lien avec la section concernant la carte graphique : il doit être exactement identique aux paramètres Identifier de la section Device.

  • Le paramètre Monitor assure le lien avec la section concernant l'écran : il doit être exactement identique au paramètres Identifier de la section Monitor.

  • Le paramètre DefaultDepth définit sur combien de bits sont codées les couleurs (1 bit = noir et blanc, 8 bits = 256 couleurs, 16 bits = 65536 couleurs, 24 bits = 16 millions). Elle renvoie à une des sous sections suivantes.

Il y a ensuite un certain nombre de sous-sections. Seule la section dont le paramètre Depth est égale au paramètre DefaultDepth est prise en compte par le serveur X.

Les paramètres des sous-sections sont les suivants :

  • Le paramètre Depth définit sur combien de bits sont codées les couleurs.

  • Le paramètre Modes définit une liste de résolutions de l'écran. Le Serveur X va choisir la plus haute résolution possible dans la liste.

Section "Screen"
        Identifier      "Default Screen"
        Device          "Generic Video Card"
        Monitor         "Generic Monitor"
        DefaultDepth    24
        SubSection "Display"
                Depth           8
                Modes           "1024x768" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           16
                Modes           "1024x768" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           24
                Modes           "1024x768" "800x600" "640x480"
        EndSubSection
EndSection

La section ServerLayout

Elle définit l'agencement de votre bureau. Cela peut être utile si vous utilisez plusieurs écrans, claviers et souris... :

  • Le paramètre Screen assure le lien avec la section concernant la résolution : il doit être exactement identique au paramètres Identifier de la section Screen.

  • Le paramètre InputDevice assure le lien avec le clavier et la souris : il doit donc être présent deux fois.

  • On peut éventuellement rajouter le paramètre OffTime qui fixe le nombre de minutes d'inactivité au bout duquel un écran DPMS se met en mode d'économie d'énergie. Pour que ça marche, il faut également avoir activé l'option DPMS dans la section Monitor.

Cela donne par exemple :

Section "ServerLayout"
        Identifier      "Default Layout"
        Screen          "Default Screen"
        InputDevice     "Generic Keyboard"
        InputDevice     "Configured Mouse"
        Option          "OffTime"           "20"
EndSection

La section DRI

Cette section permet de fixer les permissions pour l'utilisation du DRI. Si vous n'utilisez pas le DRI (parce que vous avez une carte nVidia par exemple), alors ne mettez pas cette section dans votre fichier de configuration. Avec la section d'exemple ci-dessous, vous donnez le droit d'utiliser DRI à tous les utilisateurs du système :

Section "DRI"
       Mode    0666
EndSection

Fin...

Une fois que le fichier de configuration est au point, vous n'avez plus qu'à enregistrer les changements et à relancer le serveur X.

Manipulations de base

Zapper entre les consoles et le serveur graphique

  • Pour passer du serveur graphique à la console numéro X, utilisez la combinaison de touches Ctrl-Alt-FX.

  • Pour passer de la console X à la console Y, utilisez la combinaison habituelle Alt-FY.

  • Pour revenir sur le serveur graphique, utilisez la combinaison de touches Alt-F7.