logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

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

Ceci est une ancienne révision du document !


mise à jour - 16/04/2011

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+CTRL+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 gdm par kdm au besoin)

sous Lenny :

 # /etc/init.d/gdm stop

sous Squeeze :

# invoke-rc.d 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

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

# xrandr -q

Screen 0: minimum 416 x 312, current 1280 x 1024, maximum 1280 x 1024
default connected 1280x1024+0+0 0mm x 0mm
   1280x1024      75.0*    60.0  
   1280x960       60.0  
   1280x800       60.0  
   1152x864       75.0  
   1024x768       75.0     70.0  
   960x600        60.0  
   832x624        75.0  
   800x600        60.0  
   840x525        60.0  
   700x525        70.0     60.0  
   640x512        75.0     60.0  
   720x450        60.0  
   640x480        60.0  
   640x400        60.0  
   576x432        75.0  
   512x384        75.0     70.0  
   416x312        75.0  

Question

Je n'arrive jamais a rien avec la commande xrandr si le serveur X n'est pas actif !
Ceci est idiot, comment utiliser cette commande pour configurer le serveur X si il faut qu'il soit déja actif pour la commande xrandr -q marche !!!
J'ai du rater un truc ! merci d'expliquer cette section si vous savez où je me plante !

Réponse

De <captnfab> la réponse est la suivante :

  • xrandr ne fonctionne que si le serveur X est actif.
  • xrandr ne sert pas à configurer la résolution, mais à la changer en cours d'utilisation.
  • xrandr n'écrit rien dans aucun fichier de configuration et les changements sont oubliés au prochain lancement du serveur.

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

sous Lenny

# /etc/init.d/gdm start 

sous Squeeze

# invoke-rc.d 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 xrandr
doc/environnements/x11/xserver-xorg/conf.1303131172.txt.gz · Dernière modification: 18/04/2011 14:52 par arien

Pied de page des forums

Propulsé par FluxBB