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.
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.
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, ATI, Intel i810, 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). DRM est un module du noyau que vous avez dû activer avec en plus une option spécifique à votre type de carte (cf Accélération 3D de la carte graphique). DRI est un module d'XFree qu'il faudra activer lors de la configuration du serveur X.
vous avez une carte nVidia TNT / TNT 2 / GeForce / nForce. Vous avez alors le choix entre deux drivers : le driver OpenSource inclus dans XFree, et le driver propriétaire de nVidia. Le driver OpenSource marche très bien mais ne tire pas parti de l'accélération matérielle 3D de la carte, alors que le driver propriétaire sait en tirer parti. Le driver OpenSource ne supporte généralement pas les tous derniers modèles de cartes nVidia.
Installez les packages nécessaires :
# apt-get install x-window-system-core |
Il vous pose alors des questions de configuration :
Gérer les droits de lancement du serveur X avec debconf ? ; répondez Oui.
Gérer la configuration du serveur XFree86 4.x avec debconf ? ; répondez Non.
Si vous souhaitez installer le driver propriétaire nVidia, allez sur le site web de nVidia et cliquez sur Download Drivers, puis sur Linux, FreeBSD and Solaris Drivers, et enfin sur la dernière version des drivers de la section Linux IA32 si vous avez un processeur 32 bits ou Linux AMD64/EM64T si vous avez un processeur AMD 64 bits. Vous arriverez alors sur la page des drivers Linux : téléchargez le fichier NVIDIA-Linux-x86-version.run (tout cela peut même se faire avec w3m en console).
Ensuite, déplacez le fichier que vous venez de télécharger dans le répertoire /usr/local/src/ puis lançez l'installation :
# sh /usr/local/src/NVIDIA-Linux-x86-version.run |
Une interface en mode texte s'affiche alors. Après avoir accepté la licence propriétaire des drivers, il dit qu'il ne trouve pas de driver précompilé et propose d'en télécharger un depuis le serveur FTP de nVidia : répondez Non (ils ne font pas de packages Debian pour le driver). Il vous informe ensuite que l'installeur va compiler une nouvelle interface noyau : faites OK... et si tout se passe bien, il dit ensuite : Installation of the NVIDIA Accelerated Graphics Driver for Linux-x86 is now complete ! Faites OK pour quitter l'installeur.
Pour que le module se charge automatiquement au lancement du serveur graphique, créez un fichier /etc/modprobe.d/nvidia contenant :
alias /dev/nvidia* nvidia alias char-major-195 nvidia |
puis exécutez :
# update-modules |
A chaque changement de noyau, vous devrez réexécuter sh /usr/local/src/NVIDIA-Linux-x86-version.run. |
Autorisez l'utilisateur toto à tirer parti de l'accélération matérielle de la carte :
# adduser toto video |
Vous allez maintenant configurer le serveur X avec debconf : il va vous poser une série de questions puis générer le fichier de configuration de XFree /etc/X11/XF86Config-4 :
# dpkg-reconfigure xserver-xfree86 |
A la question Gérer la configuration du serveur XFree86 4.x avec debconf ? répondez Oui cette fois.
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 driver 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 driver OpenSource, sélectionnez nv,
si vous avez une carte nVidia et que vous voulez utiliser le driver propriétaire, sélectionnez nvidia,
si vous avez une carte ATI et que vous avez installé la dernière version d'XFree, sélectionnez ati,
si vous avez une carte ATI et que vous avez installé la version d'XFree de la Woody, il y a plusieurs drivers possibles selon votre modèle (r128 pour les Rage 128, radeon pour les Radeons, ati ou atimisc pour les autres).
Si vous avez une carte graphique non supportée par XFree 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 vidéo. |
Ensuite, il vous demande un identifiant : on écrit généralement le nom de sa carte graphique.
Entrez l'identifiant du bus de la carte vidéo : si vous n'avez qu'une seule carte vidéo, vous pouvez laisser le champ vide.
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.
Utiliser l'interface framebuffer du noyau ? : répondez Non.
Choisir l'ensemble XKB à utiliser : rentrez xfree86.
Veuillez choisir votre type de clavier : en fonction du nombre de touches que vous avez, choisissez pc102 (clavier standard) ou pc105 (clavier standard avec les trois touches Windows en plus).
Choisir la disposition de votre clavier : rentrez fr si vous avez un clavier français.
Sélectionner la variante de votre clavier : laissez le champ vide.
Sélectionner les options de votre clavier : laissez le champ vide également.
Indiquez le device correspondant à votre souris : avec un noyau 2.6, un seul device rassemble toutes les souris, il s'agit de /dev/input/mice.
Ensuite il vous demande de sélectionner le protocole de la souris. Choisissez :
PS/2 si vous avez une souris de base,
ImPS/2 si vous avez une souris un peu plus perfectionnée.
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.
Activer le défilement avec la roulette ? Si vous avez une souris avec roulette, répondez Oui.
Commencez par entrer un identifiant pour votre moniteur.
Votre moniteur est-il de type LCD ? Répondez Oui si vous avez un écran plat ou un ordinateur portable, et Non si vous avez un écran classique.
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).
Choisissez les modes vidéo que vous désirez utiliser pour 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).
Choisissez la 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.
Sélectionnez les modules du serveur XFree86 chargés par défaut : ne modifiez pas la liste, sauf pour trois modules importants qui doivent être chargés ou pas selon les cas (ils concernent tous l'accélération 3D) :
Mettre une section "Files" de référence dans la configuration ? : répondez Oui.
Mettre une section "DRI" de référence dans la configuration ? : répondez Oui si vous comptez utiliser le DRI.
Une fois que debconf a fini sa série de questions, il génère le fichier de configuration du serveur graphique /etc/X11/XF86Config-4.
Si vous vous êtes trompé dans la configuration, vous pouvez recommencer en reconfigurant le package xserver-xfree86 :
# dpkg-reconfigure xserver-xfree86 |
Pour que le serveur X puisse se lancer, il faut avoir un bureau, ou au minimum un gestionnaire de fenêtre.
Installez le bureau KDE:
# apt-get install kde kde-i18n-fr |
Il y a beaucoup de dépendances : KDE est une des plus grosses applications de Debian. Il va installer un nombre assez conséquents de packages.
Il faut ensuite spécifier que vous voulez utiliser KDE comme environnement graphique. Pour cela, en tant que simple utilisateur, créez dans votre home un fichier .xsession contenant la commande startkde :
% echo "startkde" > ~/.xsession |
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 |
Il y a trois scénarios possibles :
votre serveur X plante.
le serveur X se lance, et vous arrivez dans un beau bureau KDE... 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 KDE avec une souris qui bouge normalement... VICTOIRE ! Vous pouvez passer directement au chapitre suivant Le bureau KDE si vous êtes pressé.
A chaque lancement ou tentative de lancement du serveur X, celui-ci produit un fichier de log /var/log/XFree86.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.
Editez /var/log/XFree86.0.log. 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 !
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-xfree86 |
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...
La configuration du serveur X est contenue dans le fichier /etc/X11/XF86Config-4. Vous pouvez éditer ce fichier pour modifier à la main la configuration de votre serveur X.
Le fichier est divisé en plusieurs sections, qui ont des liens entre-elles :
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 :
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 packages 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/lib/X11/fonts/misc" FontPath "/usr/lib/X11/fonts/75dpi/:unscaled" FontPath "/usr/lib/X11/fonts/100dpi/:unscaled" FontPath "/usr/lib/X11/fonts/Type1" FontPath "/usr/lib/X11/fonts/Speedo" FontPath "/usr/lib/X11/fonts/75dpi" FontPath "/usr/lib/X11/fonts/100dpi" EndSection |
Normalement, si vous avez suivi mes consignes lors de la configuration avec debconf, vous n'avez pas besoin de modifier la section Modules.
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" "xfree86" Option "XkbModel" "pc105" Option "XkbLayout" "fr" EndSection |
Debconf génère deux sections pour la souris :
une première section dont l'identifiant est Configured Mouse et qui a une option CorePointer qui désigne la souris principale ;
une deuxième section dont l'identifiant est Generic Mouse et qui a une option SendCoreEvents qui désigne une souris d'appoint (par exemple une souris externe sur un ordinateur portable).
Dans le cas où les deux souris sont utilisées en même temps, les mouvements s'additionnent. |
Si vous n'avez qu'une seule souris, supprimez la section dont l'identifiant est Generic Mouse et supprimez également la ligne correspondante dans la section ServerLayout.
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).
L'option ZAxisMapping doit être réglée à "4 5" pour faire marcher la roulette si votre souris en as une.
Cela donne par exemple :
pour la souris principale :
Section "InputDevice" Identifier "Configured Mouse" Driver "mouse" Option "CorePointer" Option "Device" "/dev/input/mice" Option "Protocol" "imps/2" # Décommentez la ligne suivante si vous avez une souris 2 boutons # Option "Emulate3Buttons" "true" # Décommentez la ligne suivante si vous avez une roulette # Option "ZAxisMapping" "4 5" EndSection |
pour la souris d'appoint éventuelle :
Section "InputDevice" Identifier "Generic Mouse" Driver "mouse" Option "SendCoreEvents" "true" Option "Device" "/dev/input/mouse1" Option "Protocol" "imps/2" # Décommentez la ligne suivante si vous avez une souris 2 boutons # Option "Emulate3Buttons" "true" # Décommentez la ligne suivante si vous avez une roulette # Option "ZAxisMapping" "4 5" EndSection |
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-xfree86.
Section "Device" Identifier "Generic Video Card" Driver "nvidia" EndSection |
Le paramètre HorizSync précise la plage des fréquences de synchronisation horizontale en kHz.
Le paramètre 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 |
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 1 Modes "1024x768" "800x600" "640x480" EndSubSection 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 |
Elle sert principalement à assurer le lien avec d'autres sections :
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 :
si vous n'avez qu'une seule souris :
Section "ServerLayout" Identifier "Default Layout" Screen "Default Screen" InputDevice "Generic Keyboard" InputDevice "Configured Mouse" Option "OffTime" "20" EndSection |
si vous avez une souris principale et une souris d'appoint :
Section "ServerLayout" Identifier "Default Layout" Screen "Default Screen" InputDevice "Generic Keyboard" InputDevice "Configured Mouse" InputDevice "Generic Mouse" Option "OffTime" "20" EndSection |
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 |
Une fois que le fichier de configuration est au point, vous n'avez plus qu'à enregistrer les changements et à relancer le serveur X.
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.
Quand le serveur X se lance, il génère une liste de résolutions valides (i.e. supportées par l'écran) à partir du paramètre Modes de la sous-section active de la section Screen du fichier de configuration. Sous X, vous pouvez changer de résolution sans redémarrer le serveur graphique en utilisant les combinaisons de touches suivantes :
Ctrl-Alt- + (du pavé numérique) pour passer à la résolution suivante dans la liste,
Ctrl-Alt- - (du pavé numérique) pour revenir à la résolution précédente.
Précédent | Sommaire | Suivant |
Debian GNU/Linux en mode graphique | Niveau supérieur | Le bureau KDE |