====== Configuration (ou reconfiguration) du serveur X ======
* Objet : serveur X
* Niveau requis :{{tag>débutant avisé}}
* Commentaires : //Configuration (ou reconfiguration) du serveur X//
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-)
* Suivi : {{tag>obsolète}}paskal le 09/05/2014
* Création par [[user>freddec]] le 27/12/2008
* Mis à jour le 19/04/2011
* Testé par .... le ....
* Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=135145#p135145 |C'est ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
===== Préambule =====
Si j'en crois les nombreux posts arrivant depuis quelques mois sur les forums, il semble que depuis l'avènement de Xorg 7.3 les gens aient quelques soucis avec la configuration du serveur X.
Un exemple [[http://debian-facile.org/forum/viewtopic.php?id=974|sur ce message]]
Le plus souvent (et c'est à son honneur) les utilitaires intégrés à xorg déterminent seuls la configuration adaptée et vous n'avez à vous soucier de rien LOL ....Mais parfois cela échoue :-(
Jusqu'ici, en cas de soucis, la classique commande dpkg-reconfigure xserver-xorg nous demandait tout ce qu'elle avait besoin de savoir (clavier, souris, carte video, écran etc..).Aprés quoi elle nous mitonnait un //**/etc/X11/xorg.conf**// aux petits oignons (ou presque !)
Depuis quelques temps cette époque bénite n'est plus, les questions posées se résument à deux trois choses concernant le clavier et en sortie on obtient un xorg.conf limite indigent ! ...bref, il semble que le temps d'oublier cette commande soit venu.
Il y a plusieurs mois (années !) que je n'ai pas eu à configurer un serveur X ex nihilo mais cela pourrait bien arriver sous peu si je me décide à m'offrir un portable LOL (pour les dons: laissez moi vos coordonnées sur ma BAL, ou le numéro de CB et son Code ).
Bref, le sujet commence à m'inquiéter et j'ai décidé de prendre les devants en espérant être prêt le moment venu !
Suivent donc les résultats de mes tests, en espérant qu'ils vous seront d'une bonne aide !
===== Obtention d'un xorg.conf de base =====
==== Création ====
Pour pouvoir obtenir un xorg.conf minimal vous devez:
* Passer sur un tty (pas dans un pseudo-terminal sous X) avec A-C-F1 (A-F7 pour revenir en graphique...)
* Passer root (via su ou sudo)
* Arrêter le serveur X si il était en fonction mais mal configuré (remplacez gdm3 par lightdm ou par sddm suivant le gestionnaire de connexion que vous utilisez)
**Note :** à partir de Squeeze, sur une fresh install, c'est gdm3 qui est proposé par défaut. \\
Si votre installation est plus ancienne et/ou a fait l'objet d'un update vers Squeeze, il se peut que vous ayez gdm et non gdm3
service gdm3 stop
Toujours en tant que root lancez cette commande
Xorg -configure
Vous obtiendrez en sortie un fichier //**/root/xorg.conf.new**//
==== Fichier xorg.conf.new ====
Voici celui que j'obtiens pour ma part :
**Section "ServerLayout"**
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
**EndSection**
**Section "Files"**
RgbPath "/etc/X11/rgb"
ModulePath "/usr/lib/xorg/modules"
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/share/fonts/X11/cyrillic"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
**EndSection**
**Section "Module"**
Load "extmod"
Load "dbe"
Load "dri"
Load "glx"
Load "GLcore"
Load "record"
Load "xtrap"
**EndSection**
**Section "InputDevice"**
Identifier "Keyboard0"
Driver "kbd"
**EndSection**
**Section "InputDevice"**
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5 6 7"
**EndSection**
**Section "Monitor"**
#DisplaySize 340 270 # mm
Identifier "Monitor0"
VendorName "NCS"
ModelName "NEC C LC17M"
### Comment all HorizSync and VertRefresh values to use DDC:
HorizSync 50.0 - 80.0
VertRefresh 50.0 - 75.0
Option "DPMS"
**EndSection**
**Section "Device"**
### Available Driver options are:-
### Values: : integer, : float, : "True"/"False",
### : "String", : " Hz/kHz/MHz"
### [arg]: arg optional
#Option "SWcursor" # []
#Option "HWcursor" # []
#Option "NoAccel" # []
#Option "ShadowFB" # []
#Option "UseFBDev" # []
#Option "Rotate" # []
#Option "VideoKey" #
#Option "FlatPanel" # []
#Option "FPDither" # []
#Option "CrtcNumber" #
#Option "FPScale" # []
#Option "FPTweak" #
#Option "DualHead" # []
Identifier "Card0"
Driver "nv"
VendorName "nVidia Corporation"
BoardName "C51 [GeForce 6150 LE]"
BusID "PCI:0:5:0"
**EndSection**
**Section "Screen"**
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 1
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
**EndSection**
==== Test du fichier====
Nous allons maintenant tester ce fichier xorg.conf histoire de voir si il fonctionne de base !
Toujours avec les droits de root
X -config /root/xorg.conf.new
A l'issue de ce test, je me retrouve avec un bel écran noir et une message de l'écran me disant que ce mode n'est pas supporté. Il va donc falloir adapter cela.
Dés le début j'ai pensé a un problème de rafraichissement ou de résolution souvent à l'origine du //passage en sécurité// de l'écran.
===== Adaptation du xorg.conf de base =====
==== Pilote de la carte Graphique ====
Par mesure logique j'ai commencé par vérifier que le driver/module chargé était bien celui de ma carte vidéo (un module nvidia 6150LE) et qu'il est adressé sur le bon device.
Cette information est obtenue par la sortie de
lspci |grep VGA
00:05.0 VGA compatible controller: nVidia Corporation C51 [GeForce 6150 LE] (rev a2)
Où l'on voit le type de carte (//**GeForce 6150 LE**//) et le device (//**00:05.0**// qui correspond à //**"PCI:0:5:0"**//)
Voici la section device de xorg.conf.new qui est donc correcte
* Driver "nv" pour le pilote nvidia de xorg
* BusID "PCI:0:5:0"
**Section "Device"**
### Available Driver options are:-
### Values: : integer, : float, : "True"/"False",
### : "String", : " Hz/kHz/MHz"
### [arg]: arg optional
#Option "SWcursor" # []
#Option "HWcursor" # []
#Option "NoAccel" # []
#Option "ShadowFB" # []
#Option "UseFBDev" # []
#Option "Rotate" # []
#Option "VideoKey" #
#Option "FlatPanel" # []
#Option "FPDither" # []
#Option "CrtcNumber" #
#Option "FPScale" # []
#Option "FPTweak" #
#Option "DualHead" # []
Identifier "Card0"
Driver "nv"
VendorName "nVidia Corporation"
BoardName "C51 [GeForce 6150 LE]"
BusID "PCI:0:5:0"
**EndSection**
==== Résolution de l'écran ====
//Section Résolution de l'écran corrigée le 19/04/2011//
Il me fallait ensuite vérifier la résolution de l'écran.
cette information peut-être fournie par la doc de votre matériel, ou bien par la commande (requiert que le paquet hwinfo soit installé)
hwinfo --monitor
38: None 00.0: 10000 Monitor
[Created at monitor.95]
Unique ID: rdCR.iTC8Pb1Bnj5
Hardware Class: monitor
Model: "NEC C LC17M"
Vendor: NCS
Device: eisa 0x4024 "NEC C LC17M"
Serial ID: "111167653180"
Resolution: 720x400@70Hz
Resolution: 640x480@60Hz
Resolution: 640x480@67Hz
Resolution: 640x480@72Hz
Resolution: 640x480@75Hz
Resolution: 800x600@56Hz
Resolution: 800x600@60Hz
Resolution: 800x600@72Hz
Resolution: 800x600@75Hz
Resolution: 832x624@75Hz
Resolution: 1024x768@60Hz
Resolution: 1024x768@70Hz
Resolution: 1024x768@75Hz
Resolution: 1280x1024@75Hz
Resolution: 1280x1024@60Hz
Size: 337x270 mm
Detailed Timings #0:
Resolution: 1280x1024
Horizontal: 1280 1328 1440 1688 (+48 +160 +408) +hsync
Vertical: 1024 1025 1028 1066 (+1 +4 +42) +vsync
Frequencies: 108.00 MHz, 63.98 kHz, 60.02 Hz
Driver Info #0:
Max. Resolution: 1280x1024
Vert. Sync Range: 60-75 Hz
Hor. Sync Range: 30-80 kHz
Bandwidth: 108 MHz
Config Status: cfg=new, avail=yes, need=no, active=unknown
==== Changement de la résolution ====
Comme vous pouvez le voir dans le xorg.conf.new ci-dessus, les modes (résolutions) ne sont pas précisés, et peut-être que mon problème vient de là.
Je vais donc les ajouter à la subsection "Display" de la fin (Depht 24, puisque c'est celle que je souhaite utiliser -> codage couleur sur 24 bit)
**Section "Screen"**
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 1
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024"
EndSubSection
**EndSection**
==== Nouveau test du fichier modifié ====
Là-dessus, je retente un :
X -config /root/xorg.conf.new
et... Ô miracle ! apparait à l'écran la magnifique trame en grillage grisâtre m'indiquant que le serveur X tourne !
==== Configuration du Clavier ====
Pour la clarté de ce tutorial (déjà bien touffu !) je passe directement à la configuration du clavier.
j'ai remarqué illico après un démarrage en bonne et due forme de GDM sur ce nouveau xorg.conf que le clavier était en QWERTY et que je ne pouvais donc pas me logguer (mauvais password puisque mauvaise carte clavier)
j'ai donc adapté ainsi la section suivante
**Section "InputDevice"**
Identifier "Keyboard0"
Driver "kbd"
Option "XkbLayout" "fr" #clavier français
Option "XkbModel" "pc105" #clavier 105 touches
Option "XkbVariant" "oss" #variante pour écrire œuf et pas oeuf, æ et pas ae !
**EndSection**
===== Mise en fonction de notre xorg.conf tout neuf =====
Il ne reste plus qu'à copier notre nouveau fichier là où il doit se trouver:
cp /root/xorg.conf.new /etc/X11/xorg.conf
Et à relancer notre serveur X //(encore une fois, adaptez la commande au gestionnaire de connexion utilisé gdm, gdm3, xdm ou kdm)//
service gdm3 start
Et voila :-) si ça veut rire vous voila prêt à vous logguer
===== Pour aller plus loin =====
J'ai ensuite modifié quelques points intéressants
==== Driver nvidia ====
Comme j'ultilise le driver nvidia officiel (et non libre :-x )ainsi que parfois des effet 3D (compiz, cairo-dock)
j'ai modifié ma section //**device**// ainsi
**Section Device**
.../...
Driver "nvidia"
VendorName "nVidia Corporation"
BoardName "C51 [GeForce 6150 LE]"
Option "AddARGBGLXVisuals" "true"
Option "XAANoOffscreenPixmaps" "true"
BusID "PCI:0:5:0"
**EndSection**
==== Activation du Direct Rendering ====
**Section "DRI"**
Mode 0666
**EndSection**
==== Activation de l'affichage composite ====
Permet la gestion de la transparence
**Section "Extensions"**
Option "Composite" "enable"
**EndSection**
===== Liens en rapports =====
* [[http://linuxfr.org/forums/15/26240.html | Forum Linuxfr: Utilisation de xrandr]]
* [[http://memoire-grise-liberee.fr.eu.org/X-Window/howto/|
* HowTo Xorg sur Mémoire Grise Libérée]]
* [[http://www.gentoo.org/doc/fr/xorg-config.xml|HowTo Xorg sur Gentoo a adapter]]
* [[http://manual.sidux.com/fr/hw-dev-mon-fr.htm#mon-res|Utilisation de Xrandr sur Sidux]]
* [[http://wiki.debian.org/XStrikeForce/HowToRandR12?highlight=(xrandr)|Xrandr sur le Debian Wiki (En)]]
===== Voir également =====
man xorg.conf
man hwinfo