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 →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:environnements:x11:xserver-xorg:conf [27/12/2008 09:57] freddec |
doc:environnements:x11:xserver-xorg:conf [16/04/2011 14:38] arien |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | 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 [[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 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) | ||
+ | <code># invoke-rc.d gdm3 stop</code> | ||
+ | |||
+ | Toujours en tant que root lancez cette commande | ||
+ | <code># Xorg -configure | ||
+ | </code> | ||
+ | |||
+ | 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"** | ||
+ | <code> | ||
+ | #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" | ||
+ | </code> | ||
+ | **EndSection** | ||
+ | |||
+ | **Section "Device"** | ||
+ | <code> | ||
+ | ### 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** | ||
+ | |||
+ | </code> | ||
+ | |||
+ | ==== 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 | ||
+ | <code>X -config /root/xorg.conf.new | ||
+ | </code> | ||
+ | |||
+ | 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 | ||
+ | <code> lspci |grep VGA | ||
+ | 00:05.0 VGA compatible controller: nVidia Corporation C51 [GeForce 6150 LE] (rev a2) | ||
+ | </code> | ||
+ | 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 | ||
+ | <code># 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 | ||
+ | |||
+ | </code> | ||
+ | |||
+ | === 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: | ||
+ | |||
+ | <code> #cp /root/xorg.conf.new /etc/X11/xorg.conf </code> | ||
+ | |||
+ | Et à relancer notre serveur X | ||
+ | |||
+ | <code># invoke-rc.d gdm3 start</code> | ||
+ | |||
+ | 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** | ||
+ | <code> | ||
+ | .../... | ||
+ | Driver "nvidia" | ||
+ | VendorName "nVidia Corporation" | ||
+ | BoardName "C51 [GeForce 6150 LE]" | ||
+ | Option "AddARGBGLXVisuals" "true" | ||
+ | Option "XAANoOffscreenPixmaps" "true" | ||
+ | BusID "PCI:0:5:0" | ||
+ | </code> | ||
+ | **EndSection** | ||
+ | |||
+ | |||
+ | ==== Activation du Direct Rendering ==== | ||
+ | |||
+ | |||
+ | **Section "DRI"** | ||
+ | <code> | ||
+ | Mode 0666 | ||
+ | </code> | ||
+ | **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 xrandr | ||
+ | |||
+ | |||