Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Configuration (ou reconfiguration) du serveur X

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 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 Alt+Ctrl+F1 (Alt+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 kdm ou par gdm 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: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "SWcursor"           	# [<bool>]
        #Option     "HWcursor"           	# [<bool>]
        #Option     "NoAccel"            	# [<bool>]
        #Option     "ShadowFB"           	# [<bool>]
        #Option     "UseFBDev"           	# [<bool>]
        #Option     "Rotate"             	# [<str>]
        #Option     "VideoKey"           	# <i>
        #Option     "FlatPanel"          	# [<bool>]
        #Option     "FPDither"           	# [<bool>]
        #Option     "CrtcNumber"         	# <i>
        #Option     "FPScale"            	# [<bool>]
        #Option     "FPTweak"            	# <i>
        #Option     "DualHead"           	# [<bool>]
	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: <i>: integer, <f>: float, <bool>: "True"/"False",
      ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
      ### [arg]: arg optional
      #Option     "SWcursor"           	# [<bool>]
      #Option     "HWcursor"           	# [<bool>]
      #Option     "NoAccel"            	# [<bool>]
      #Option     "ShadowFB"           	# [<bool>]
      #Option     "UseFBDev"           	# [<bool>]
      #Option     "Rotate"             	# [<str>]
      #Option     "VideoKey"           	# <i>
      #Option     "FlatPanel"          	# [<bool>]
      #Option     "FPDither"           	# [<bool>]
      #Option     "CrtcNumber"         	# <i>
      #Option     "FPScale"            	# [<bool>]
      #Option     "FPTweak"            	# <i>
      #Option     "DualHead"           	# [<bool>]
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

Voir également

man xorg.conf
man hwinfo
1) N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
doc/environnements/x11/xserver-xorg/conf.txt · Dernière modification: 25/08/2015 18:06 par milou

Pied de page des forums

Propulsé par FluxBB