Chapitre 24. Installer le serveur graphique

1. Installer le serveur graphique et le bureau gnome
2. Manipulations de base
3. La configuration d'un serveur graphique

1. Installer le serveur graphique et le bureau gnome

1.1. Installer le serveur graphique

Installez les paquets nécessaires :

# apt-get install xorg mesa-utils

Si vous utilisez une carte graphique AMD, vous aurez probablement besoin d'un micro-programme propriétaire, comme expliqué au Chapitre 18 :

# apt-get install firmware-linux-nonfree

La denière version du serveur graphique X.Org apporte une fonctionnalité intéressante : il est maintenant capable de déterminer automatiquement une configuration adaptée à votre matériel. Par conséquent, sauf pour des besoins très particuliers, il est inutile de le configurer à la main. Il est malgré tout possible que vous souhaitiez ajuster quelques paramètres, comme par exemple la sensibilité de la souris. Nous allons donc vous donner explications sur les concepts utilisés dans la configuration du serveur graphique.

1.2. Installer le bureau et le gestionnaire de fenêtre

Le bureau gnome est constitué de nombreux logiciels. Tous ne vous seront pas nécessairement utiles, mais nous vous proposons d'installer la sélection proposée par Debian, qui occupe à peu près 2,5 Go, qui vous permettra de découvrir de nombreuses possibilités auxquelles vous n'aurez pas forcément pensé. En fait, nous allons simplement installer les paquets correspondant au choix « bureau graphique » qui vous a été proposé lors de l'installation :

# apt-get install task-desktop task-french-desktop
[Note] Note

Les paquets à charger pèsent environ 700 Mo (ils sont compressés), donc si vous utilisez un miroir réseau, cela peut prendre un moment. Si vous préférez vous contenter d'un bureau gnome minimal, vous pouvez installer à la place le paquet gnome-core :

        # aptitude install gnome-core
    

1.3. Lancer X !

[Note] Note

Par la suite, le système graphique se lancera tout seul au démarrage, et il vous sera inutile de le lancer à la main.

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

% startx
[Note] Note

Ce qui suit est donné à titre informatif : si vous êtes pressé, vous pouvez passer au chapitre suivant.

2. Manipulations de base

  • 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.

  • Pour tuer le serveur graphique, s'il ne fonctionne plus correctement, utilisez la combinaison de touches Ctrl+Alt+Retour arrière (la touche au-dessus d'Entrée).

3. La configuration d'un serveur graphique

Si vous souhaitez peaufiner votre configuration, il vous faut tout d'abord vous renseigner sur votre matériel : clavier, souris, carte graphique et écran.

3.1. Carte graphique

La première étape 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 quatre sources d'informations :

  • les références écrites directement sur votre carte graphique, à l'intérieur du chassis de votre ordinateur, si vous pouvez l'ouvrir,

  • la documentation ou la facture de votre ordinateur,

  • la commande lspci sous Linux, qui liste les périphériques pci. Vous devez avoir un paragraphe qui commence par vga compatible controller, suivi du modèle de votre carte graphique.

  • si vous avez 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.

3.2. Accélération 3D sous X

Normalement, le serveur graphique se contente d'afficher des images en deux dimensions. Lorsqu'un programme tel qu'un jeu souhaite afficher une vue d'une scène trois dimensions, il doit donc calculer cette vue en deux dimension avant de la transmettre au serveur graphique. Le calcul cette vue, ainsi que l'intégration des textures ou encore le calcul des ombres éventuelles, est effectué par le logiciel lui-même, c'est à dire sur le processeur principal. Ce processeur n'étant pas optimisé pour ce type de calculs, cette façon de faire est très lente, aussi a-t-on développé des cartes graphiques capables de les prendre en charge en outrepassant le serveur graphique : c'est ce qu'on appelle l'accélération matérielle.

Deux cas se présentent :

  • Vous avez une carte graphique possédant une puce de marque Intel : les pilotes graphiques libres déjà installés prennent en charge l'accélération 3D, vous n'avez donc rien à faire !

  • Vous avez une carte AMD 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étaires fonctionnent en 2D comme en 3D mais peuvent souffrir de bugs ou de défauts d'intégration. Les pilotes libres fonctionnent généralement très bien en 2D mais fournissent des performances plus faibles en 3D.

3.3. 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 (Chapitre 18) :

# aptitude install nvidia-glx

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

3.4. Le fichier de configuration d'X.Org

La configuration du serveur X est contenue dans le fichier /etc/X11/xorg.conf. Par défaut, ce fichier est absent, et le serveur X construit automatiquement une configuration adaptée au matériel détecté. Vous pouvez cependant préparer votre propre configuration en vous basant sur notre fichier d'exemple :

# cp ~/fichiers-config/xorg.conf /etc/X11/

ou :

% wget http://formation-debian.via.ecp.fr/fichiers-config/xorg.conf
# cp xorg.conf /etc/X11/

Les sections

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

Figure 24.1. Liens entre les sections

Liens entre les sections

Les liens entre les sections sont assurés par des identifiants appelés Identifier : ainsi, la section InputDevice correspondant au clavier est référencée par son Identifier dans la section ServerLayout. En réalité, ces liens sont souvent omis, et déterminés automatiquement par le serveur X. Si vous modifiez un Identifier qui est référencé quelque part de façon explicite, n'oubliez pas de le modifier également à cet endroit.

Il existe aussi des sections indépendantes des autres :

  • 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, c'est à dire l'accélération matérielle).

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

Le clavier

La configuration peut s'effectuer pour un clavier particulier dans une section InputDevice, ou pour tous les claviers dans une section InputClass :

  • L'option XkbModel détermine le modèle physique du clavier (102 touches, 104 touches, 105 touches, Internet Logitec…).

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

  • L'option XkbVariant permet de sélectionnerr une variante de la disposition de clavier (standard, dvorak, bépo…).

Section "InputClass"
        Identifier      "Claviers"
        MatchIsKeyboard "true"
        Option          "XkbRules"      "xorg"
        Option          "XkbModel"      "pc105"
        Option          "XkbLayout"     "fr"
	Option		"XkbVariant"	"oss"
EndSection

La souris

Comme pour les claviers, la configuration peut s'effectuer pour une souris particulière dans une section InputDevice, ou pour toutes les souris dans une section InputClass :

  • L'option Device définit le périphérique correspondant à 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 26).

Cela donne par exemple :

Section "InputClass"
        Identifier      "Souris"
        MatchIsPointer  "true"
        # Décommentez la ligne suivante si vous avez une souris 2 boutons
        #Option          "Emulate3Buttons"       "true"
EndSection

Et pour un pavé tactile :

Section "InputClass"
    Identifier "Pavés tactiles"
    MatchIsTouchpad     "true"
    Driver              "synaptics"
    Option              "TapButton1"    "1"
    Option              "TapButton2"    "2"
    Option              "TapButton3"    "3"
EndSection

La carte graphique

  • Le paramètre Driver fixe le pilote utilisé par le serveur X pour votre carte graphique. Le nom du pilote est normalement déterminé automatiquement par le serveur graphique au démarrage. 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. Il est normalement inutile de les préciser, mais cela peut être nécessaire si la meilleure résolution n'est pas utilisée spontanément.

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 aux 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). Il 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 aux 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 à lancer le serveur X :

% startx
[Astuce] Astuce

Si vous souhaitez faire des essais avec diverses configurations, vous pouvez toujours fermer le serveur X en utilisant le menu (votre nom) > Fermer la session.