Jump to content

[Tuto][Initié] Configuration de X


Recommended Posts

Sommaire

:fumer:Introduction

:arrow:Configuration automatique

:arrow:Approfondissement

  • :arrow:Section "Device" : carte graphique
    :arrow:Section "Monitor" : configuration de l'écran
    :arrow:Section "Screen" : gestion des couleurs/résolutions à utiliser
    :arrow:Section "Module" : modules de X
    :arrow:Section "InputDevice" : clavier et souris
    :arrow:Section "Files" : polices de caractères
    :arrow:Section "ServerFlags" : options de X
    :arrow:Section "ServerLayout" : sélection des claviers/souris/écrans

:arrow:Fichier de log

:arrow:Drivers cartes 3D

:arrow:Configuration facile d'écran

:arrow:Configuration des souris à 5 boutons

:arrow:Configuration des souris à 5 boutons sous Xorg 7 (new : 27/12/2005)

:arrow:Configuration de plusieurs écrans

:arrow:Exemple

:arrow:Activation de l'extension "composite" sous X.org 6.8

Link to comment
Share on other sites

  • Replies 147
  • Created
  • Last Reply

:fumer:Introduction

X est très important car il sert à afficher des graphismes à l'écran, sa configuration est donc primordiale pour une utilisation agréable de linux.

Il est aussi intéressant de connaître le fonctionnement global et de pouvoir comprendre un peu le fichier de log.

:arrow:Configuration automatique

Il existe plusieurs programmes de configuration du serveur X.

Tout d'abord, les programmes livrés avec X: "xf86cfg", "xf86config/xorgconfig" et "X -configure".

  • xf86cfg tente de lancer un serveur X basique et permet une configuration graphique, je le trouve cependant moins pratique que xf86config
  • xf86config/xorgconfig est un programme en mode texte qui pose quelques questions sur la configuration du matériel et crée un fichier de configuration, c'est très pratique afin d'avoir rapidement une configuration qui marche et pouvoir lancer X (pour aller chercher de l'aide sur internet ou sur un chat :arrow:)
  • X -configure permet lui-aussi de configurer en mode texte, mais est un peu plus compliqué que xf86config (commun à Xfree et X.org)

Il y a ensuite les outils propres à la distribution. Mandrake permet de configurer graphiquement via le panneau de configuration, mais cela existe aussi sous SuSE (sax), et beaucoup d'autre distributions.

Je rapelle toutefois la commande pour debian, car celle-ci n'est pas des plus évidente : "dpkg-reconfigure xserver-xfree86" (et pour xorg : "dpkg-reconfigure xserver-xorg").

Link to comment
Share on other sites

:fumer:Approfondissement

Nous allons maintenant étudier plus en détail le fichier de configuration, qu'il est possible de modifier à la main pour faire correspondre le plus possible au matériel.

Tous d'abord, où est-t'il?. Le fichier de configuration de X se trouve dans /etc/X11/, et il se nomme XF86Config-4 (X.org, Xfree 4), XF86Config (X.org, Xfree4, Xfree), xorg.conf (X.org).

XFree86, en version 4, regarde d'abord le fichier XF86Config-4, c'est donc en général celui-ci qu'il faut modifier.

X.org, quand à lui (la version de X qui est utilisée de plus en plus à la place de XFree86 4.4 pour cause de licence) utilise le fichier xorg.conf en premier (mais il regarde ensuite XF86Config-4 et XF86Config), la syntaxe est le même.

Ce fichier de configuration est divisé en plusieurs parties appelées "Section", et s'écrit donc comme cela :

Section "xxx"

[...]

EndSection

  • :arrow:Section "Device" : carte graphique

Cette section permet de configurer la carte graphique et de configurer aussi quelques options.

Identifier "Generic VGA"

Ceci permet de donner un nom à la carte graphique, qui sera utilisée plus tard. C'est seulement une chaîne de caractère et tout est possible, bien qu'il soit évidemment préférable de mettre le nome de la carte graphique.

Driver "vga"

Cela configure le driver utilisé par X pour afficher quelque chose sur cette carte graphique. Les drivers "vga" et "vesa" sont sensés marcher tout le temps quelque qoit la carte graphique, mais il y a ensuite des drivers spécifiques.

Une liste est accessible [ici], bien que celle-ci concerne XFree86-4.4, elle est globalement d'actualité pour XFree-4.3 et X.org

VideoRam 256

Certaines options peuvent être passées au driver, pour les forcer lors de la configuration automatique.

BusID "PCI:0:10:0"

Cela permet d'identifier une carte par son emplacement sur le bus PCI, cela permet de différencier les cartes si il y en a plusieur.

Ce BusID peut être récupéré grâce à la commande "lspci".

Option "hw cursor" "off"

Il y a ici encore quelques options qui peuvent être passées ici.

Link to comment
Share on other sites

  • :fumer:Section "Monitor" : configuration de l'écran

Cette section permet de configurer l'écran.

Identifier "Generic Monitor"

Ici encore, il faut identifier l'écran par un nom...

HorizSync 31.5 # configuration typique pour un écran à fréquence fixe

HorizSync 30-64 # plage de fréquences

HorizSync 31.5, 35.2 # plusieurs fréquences fixes

HorizSync 15-25, 30-50 # plusieurs plages de fréquences

HorizSync permet de configurer la fréquence horizontale de votre écran. Il faut pour cela se référer au manuel de votre écran afin de mettre les fréquences adaptées.

Attention! Une mauvaise configuration ici peut endommager votre écran (bien qu'aujourd'hui tous les écrans disposent d'une protection)...vous serez prévenu!

VertRefresh 60

VertRefresh 50-100

VertRefresh 60, 65

VertRefresh 40-50, 80-100

VertRefresh est identique à HorizSync, mais en verticale. Comme pour HorizSync, se référer au manuel de l'écran.

ModeLine "640x480" 25.175 640 664 760 800 480 491 493 525

Modeline permet de configurer les différentes résolutions et fréquences de rafraichissement associées.

Puisque cela est difficile à calculer soi-même, il existe des façons de calculer cela automatiquement, comme par exemple [ici].

Option "dpms"

Cela permet (si l'écran le supporte) de mettre celui-ci en veille au bout d'un certain temps (et pas simplement un écran noir).

  • :arrow:Section "Screen" : gestion des couleurs/résolutions à utiliser

Ceci permet de configurer notamment les résolutions à utiliser et le nombre de couleurs.

Identifier "Screen 1"

Ceci permet encore une fois de nommer cette configuration d'écran

Device "Generic VGA"

Ici, on met le nom de la carte graphique à utiliser (renseignée dans la section "Device")

Monitor "Generic Monitor"

De même pour l'écran

DefaultDepth 8

On choisit la profondeur de couleurs à utiliser : 1, 2, 4, 8, 16, 24 ou 32 (en général, 24=32 ensuite dans les drivers)

SubSection "Display"

Depth 24

Modes "1280x1024" "1024x768" "800x600" "640x480"

EndSubsection

Dans cette sous section, on définit le nombre de couleurs supportées et les modes à utiliser (définis par modeline auparavant).

Il y a en général plusieurs sous-sections (avec plusieurs nombre de couleurs)

SubSection "Display"

Depth 8

Modes "640x480"

Virtual 800 600

EndSubsection

Il est aussi possible d'avoir un écran "virtuel", ici, par exemple, l'écran sera en 680x480, mais s'affichera en 800x600 (le bureau dépassera de l'écran et il faudra utiliser la souris pour le parcourir)

Link to comment
Share on other sites

  • :fumer:Section "Module" : modules de X

Ici sont chargés les modules de X.

Load "dbe"

Load "glx"

J'ai trouvé une explication de certains de ceux-ci ici.

En général, il faut au moins que glx et extmod y soient pour pouvoir jouer :arrow:

  • :arrow:Section "InputDevice" : clavier et souris

Cette partie est très importante puisqu'elle permet de configurer tous les périphériques d'entrée...

En général, il faut au moins une section pour le clavier et une pour la souris.

:arrow: Le clavier

Identifier "Keyboard1"

Encore une fois, le nom qu'aura le périphérique.

Driver "keyboard"

Le driver à utiliser : ici c'est un clavier, mais une liste en disponible [ici] (encore XFree86-4.4, mais ça devrait être à peu près pareil avec Xfree86-4.3 et X.org...), il existe aussi par exemple le driver "synaptic" pour les touchpads...

Option "XkbRules" "xorg"

Cela permet de bien gérer le clavier quand on a X.org

Option "XkbModel" "pc105"

Choix du modèle de clavier...en général, pc105 pour les claviers à touchers windows standards...

Option "XkbLayout" "fr"

Choix du type de clavier : "fr" pour clavier azerty français...

:arrow: La souris

Identifier "Mouse1"

Driver "mouse"

...no comment :arrow:

Option "Protocol" "Auto"

Option "Protocol" "PS/2"

Option "Protocol" "IMPS/2"

Option "Protocol" "ExplorerPS/2"

Permet de choisir le protocole à utiliser...Auto tente de trouver automatiquement si la souris est Plug 'n Play, PS/2 est le protocole standard pour les souris 3 boutons (aussi pour les souris USB...), et "IMPS/2" et "ExplorerPS/2" pour les souris plus complexes...

Option "Device" "/dev/mouse"

Cela permet de connaître le périphérique de la souris... normalement /dev/psaux /dev/mouse pour les souris PS/2 et /dev/input/mice pour les souris USB...

Normalement, si on fait "cat /dev/...", cela doit afficher des choses à l'écran quand on bouge la souris...

Link to comment
Share on other sites

  • :fumer:Section "Files" : polices de caractères

RgbPath "/usr/X11R6/lib/X11/rgb"

C'est le nom du fichier de configuration des couleurs (sans l'extension .txt).

Dans ce fichier est stocké la correspondance entre un nom de couleur (par exemple "DarkGoldenrod2", et les composantes rgb : 238 173 14).

Normalement, il n'y a pas besoin d'y toucher...

FontPath "/usr/X11R6/lib/X11/fonts/local/"

FontPath "/usr/X11R6/lib/X11/fonts/misc/"

[...]

FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"

FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"

Tout plein de polices de caractères...

  • :arrow:Section "ServerFlags" : options de X

Il y a ici plein de configuration pour le serveur X, par exemple :

Option "blank time" "10" # temps avant que l'écran devienne noir : 10 minutes

Option "standby time" "20" # dpms : standby time

Option "suspend time" "30" # dpms : suspend time

Option "off time" "60" # dpms : off time

  • :arrow:Section "ServerLayout" : sélection des claviers/souris/écrans

Cette section regroupe toutes les autres afin de dire quoi utiliser...

Identifier "Main Layout"

...encore l'identifiant...utilisé avec l'option "-layout" de X au démarrage...si il y en a plusieurs et qu'on ne veut pas le premier...

Screen "Screen 1"

Définit le "Screen" à utiliser...

InputDevice "Mouse1" "CorePointer"

Définit la souris à utiliser...

InputDevice "Keyboard1" "CoreKeyboard"

Définit le clavier à utiliser...

Link to comment
Share on other sites

:fumer:Fichier de log

X écrit toujours un fichier de log. Celui-ci se situe dans /var/log/

Le nom de ce fichier dépend du numéro du display utilisé, mais en général, c'est XFree86.0.log pour XFree86, et XOrg.0.log pour X.org...

Début des lignes :

(**) : Ceci signifie une lecture du fichier de log

(==) : Configuration par défaut

(++) : Configuration depuis la ligne de commande

(--) : Détecté automatiquement

(!!) : Avertissement

(II) : "International"

(WW) : Warning

(EE) : Erreur !

(NI) : Non Implémenté

(??) : Inconnu

L'examen de ce fichier est indispensable si X marche mal ou pas du tout, mais peut être intéressant même si tout marche (à priori :arrow:) bien...

:arrow:Drivers cartes 3D

Le driver pour les cartes 3D est spécifié dans la section "Device" (si vous avez bien suivi). Mais encore faut-il que le module soit chargé...

Il peut souvent prendre des options spécifiques, comme l'anti-aliasing, ou autres options...Mais il faut pour cela regarder dans la documentation.

(en général, dans "/usr/share/doc/[nom du fabricant]"...)

Pour les cartes ATI : rajouter ceci à la fin du fichier afin de permettre à tout le monde d'avoir accès au "dri" (se configure comme un fichier :arrow:)

Section "dri"

Mode 0666

EndSection

:arrow:Configuration facile d'écran

Il y a une manière très imple de configurer l'écran sans mettre tous les modes à l'aide de "ModeLine".

Il faut pour cela évidemment que votre écran soit "Plug 'n Play".

Pour cela, il suffit de mettre seulement l'Identifier dans la section monitor (et éventuellement les options comme "dpms").

Puis de mettre :

Load "ddc"

Dans la section "Module"

Link to comment
Share on other sites

:fumer:Configuration des souris à 5 boutons

Faire marcher les "Thumb Buttons" (boutons sous le pouce) des souris n'est pas toujours évident, je vais ici expliquer la marche à suivre pour ma MX700, mais cela devrait marcher pour un grand nombre d'autres souris.

(c'est confirmé pour les souris Microsoft Explorer v3.0... merci 16ar !)

Le bout va être donc de pouvoir utiliser ces boutons pour faire "Précédent" et "Suivant" dans Mozilla...

Pour tester, il est possible d'utiliser "xev" (X events), afin de voir ce qui se passe.

Tout d'abord, il faut configurer la souris avec le protocole "ExplorerPS/2", le seul qui permet de gérer 5 boutons plus la molette...

Il faut aussi éviter ABSOLUMENT de mettre <<Option "ZAxisMapping" "4 5">> comme c'est normalement le cas, car cela désactive automatiquement les boutons 6 et 7...

Il faut donc utiliser les boutons 6 et 7 et utiliser ensuite "xmodmap" pour inverser les boutons 4 5 et 6 7

Voici donc la configuration de la souris :

Section "InputDevice"

Identifier "MX700"

Driver "mouse"

Option "Device" "/dev/input/mice"

Option "Protocol" "ExplorerPS/2"

Option "Buttons" "7"

Option "ZAxisMapping" "6 7"

EndSection

Si vois lancer X comme cela, la molette devrait être sur les boutons 4 et 5, et les boutons du pouce 6 et 7 (à vérifier avec xev :arrow:)

Mais cela implique que tous les ascenseurs montent et descendent avec les boutons sous le pouce...Donc pour inverser cela, il suffit de lancer :

  $ xmodmap -e "pointer = 1 2 3 6 7 4 5"

Et voilà !

Il ne reste plus qu'à mettre celà au démarrage de X, et ce sera parfait :

pointer = 1 2 3 6 7 4 5

 $ ln -s /usr/X11R6/lib/X11/xinit/.Xmodmap /etc/X11/Xmodmap

:arrow:Configuration des souris à 5 boutons sous Xorg 7

Il y a quelques changements avec Xorg 7.

Tout d'abord, maintenant le nombre de boutons n'est pas limité par le ZAxisMapping (cool).

Ensuite, l'option "Buttons" ne marche plus pareil...

Si on veut juste la molette qui marche, pas de problème, on met le ZAxisMapping à "4 5", et tout marche.

Mais le problème c'est que mozila attend les boutons précédent/suivant sur les boutons 6 et 7, ce qui n'est plus le cas.

Donc il faut quand même utiliser le Xmodmap pour inverser les boutons 6 et 7 avec les boutons 8 et 9.

Ce qui nous donne au final :

Section "InputDevice"

Identifier "MX700"

Driver "mouse"

Option "Device" "/dev/input/mice"

Option "Protocol" "ExplorerPS/2"

Option "Buttons" "5"

Option "ZAxisMapping" "4 5"

EndSection

pointer = 1 2 3 4 5 8 9 6 7

:arrow:Configuration de plusieurs écrans

Par Sandeman

Il y a quatre modes de fonctionnement :

- en mirroir (les 2 écrans identiques) : super :(

- en wide screen (le même desktop étiré sur 2 écrans, effectivement c'est Xinerama. A définir dans les options du layout dans XF86-config. Mieux vaut adopter le même résoluition verticale ...

- en dual desktop : 2 desktops différents (y compris en terme de résolution, de langue, de décoration ...), suffit de ne pas mettre Xinerama dans les options.

- en borgne (c'est le nom qui me vient à l'esprit) : un écran actif avec Ctrl+Alt+F7, un autre avec Ctrl+Alt+F8 : le dualscreen du pauvre ou du noob, qui lance 2 serveurs X :)

Et pis ça marche soit avec la même carte graphique (exemple : la 9800 Pro de ma station, ou la Radeon Mobility M9 du portable), soit avec 2 cartes graphiques (par exemple j'ai lgtps tourné avec une Rage 128 AGP + une S3 Trio 64 PCI). Ainsi qu'avec une GeForce3 (pour pas faire de jaloux)

Si c'est la même carte :

Section "Device"

Identifier "Card0"

.../...

Screen 0

EndSection

à l'identique

Section "Device"

Identifier "Card1"

.../...

Screen 1

EndSection

Si c'est deux cartes différentes, mettre les SEctions "Devices" classiques. Le DRI risque par contre de ne pas marcher ...

Définir les Screen correspondant

Dans

Section "ServerLayout"

Screen 0 0 "Screen0" 0 0

Screen 1 1 "Screen1" LeftOf "Screen0" #ou RightOf

Option "Xinerama" "on" # ou rien

EndSection

En Xinerama certaines applis déconnent si elles ne sont pas sur le Screen 0, je nommerai par exemple Xine et Mplayer ... ainsi que Cedega (ex Winex)

Voir aussi le topic suivant :

http://www.pcinpact.com/forum/index.php?showtopic=7701

Link to comment
Share on other sites

:fumer:Exemple

Puisque je pense qu'un exemple pourrait aider pas mal de monde, je donne ici mon fichier de configuration personnel...

Voici tout d'abord ma configuration :

Ecran LCD 1280x1024 (NEC LCD 1701BK)

Carte graphique nvidia (GeForce3)

Souris logitech MX700, raccordée en USB

Clavier logitech cordless desktop MX

Section "ServerLayout"

Identifier "Layout"

Screen "mainScreen"

InputDevice "CordlessMX" "CoreKeyboard"

InputDevice "MX700" "CorePointer"

EndSection

Section "Files"

RgbPath "/usr/X11R6/lib/X11/rgb"

ModulePath "/usr/X11R6/lib/modules"

FontPath "/usr/X11R6/lib/X11/fonts/misc"

FontPath "/usr/X11R6/lib/X11/fonts/75dpi"

FontPath "/usr/X11R6/lib/X11/fonts/100dpi"

FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"

FontPath "/usr/X11R6/lib/X11/fonts/Type1"

FontPath "/usr/X11R6/lib/X11/fonts/Speedo"

EndSection

Section "Module"

Load "ddc" # détecte automatiquement les paramètres du moniteur (fréquences)

Load "glx"

Load "extmod"

EndSection

Section "InputDevice"

Identifier "CordlessMX"

Driver "keyboard"

Option "CoreKeyboard"

Option "XkbModel" "pc105"

Option "XkbLayout" "fr"

EndSection

Section "InputDevice"

Identifier "MX700"

Driver "mouse"

Option "Device" "/dev/input/mice"

Option "Protocol" "ExplorerPS/2"

Option "Buttons" "7"

Option "ZAxisMapping" "6 7"

EndSection

Section "Monitor"

Identifier "NecLCD1701BK"

Option "DPMS" "true" # met en veille (blank puis veille) automatiquement

EndSection

Section "Device"

Identifier "GeForce3"

Driver "nvidia"

Option "NvAGP" "1" # utilise le support du driver nvidia si possible

EndSection

Section "Screen"

Identifier "mainScreen"

Device "GeForce3"

Monitor "NecLCD1701BK"

DefaultColorDepth 24

SubSection "Display"

Depth 16

Modes "1280x1024" "1024x768" "800x600" "640x480"

EndSubSection

SubSection "Display"

Depth 24

Modes "1280x1024" "1024x768" "800x600" "640x480"

EndSubSection

EndSection

Link to comment
Share on other sites

:arrow:Activation de l'extension "composite" sous X.org 6.8

Tout d'abord, j'explique ce que c'est réellement cette extension : cela permet au serveur X de dessiner des fenêtres sans les afficher à l'écran (dans un buffer) et donc de pouvoir appliquer des effets dessus.

Les premières application ont été les ombrages et la transparence.

Ce qui suit sera donc des explications pour X.org en version 6.8-rc2 (6.7.99.902), mais cela devrait être valable pour les release candidate suivantes, mais aussi la version finale.

Tout d'abord, il faut avoir évidemment X.org en version 6.8 (rc ou plus...).

Regardez dans les packages de votre distribution, ou dans le CVS de freedesktop.org.

(la méthode du cvs est indiquée dans la source, bien que cela soit déconseillé)

Une fois cela installé, et X configuré (il doit évidemment démarrer :arrow:), il faut dire au serveur X de charger l'extension "composite" :

Section "Extensions"

Option "Composite" "Enable"

EndSection

Testez encore votre serveur X pour voir si il démarre toujours...

Ensuite, nous allons avoir besoin de xcompmgr (X composite manager), qui va permettre d'activer réellement les effets graphiques.

L'installation est identique à celle de X.org : packages de la distribution ou bien cvs...

Il faut ensuite tout simplement le lencer avec cette commande :

 $ xcompmgr -c

Cela devrait modifier l'écran et afficher des ombres sous toutes les fenêtre !

Voilà, c'est gagné ! :fumer:

En fait, pas tout à fait... Il y a encore un autre programme qui permet de modifier la transparence des fenêtres : transset.

Pour l'utiliser, il suffit de faire :

 $ transset <opacité>

avec opacité compris entre 1.0 (opacité totale) à 0.0 (transparence totale).

La dernière chose est la performance.

Peronellement, une fois composite activé, le serveur X était devenu inutilisable.

Avec les cartes nvidia, il est donc possible d'activer l'accélération de rendu :

Driver "nvidia"

Option "RenderAccel" "true"

Source principale : neowin.net

:arrow:Xgl et compiz

TODO : add http://www.pcinpact.com/forum/index.php?s=...t&p=1349804

Link to comment
Share on other sites

la petite remarque sur debian ( decidement en ce moment tuxxx tu l'as en ligne de mire ma ptite debian....)

dpkg-reconfigure est valable sur tous les paquets installes par debian.... C'est simple a se rappeller, un paquet s'installe avec dpkg ( les autres outils sont des surcouches de dpkg ) et pour reconfigurer un paquet, il sufit de penser a reconfigure, c'est simple !

Voila, sinon bonne initiative :baton: , meme si je pense que la configuration de X est assezz simple et deja evoquee dans les differents tutos....

Link to comment
Share on other sites

t'as posté 2 heures trop tard pour que je puisse m'en servir :mdr:

j'ai installé X (+ fluxbox) cet après-midi et le problème c'est que certaines polices s'affichent en taille très petite (illisible à plus de 10 cm), comment faire pour augmanter la taille ?

Edit : au fait bon tuto :roll:

Link to comment
Share on other sites

Voila, sinon bonne initiative :mdr: , meme si je pense que la configuration de X est assezz simple et deja evoquee dans les differents tutos....

Ben au moins, y'aura un topic expliquant cela plutôt bien (enfin j'espère que c'est pas mal :oops:)...

Manque un topo sur le xinerama, mais vu que ma voodoo3 2000 PCI ne démarre pas, je peux rien faire :roll:

Link to comment
Share on other sites

Bah ma foi, qu'est ce que je pourrais dire... ...GENIAL! :incline: (même si pour moi les problèmes qui suivent sont déja réglés -et grace à vous en plus-).

Pour reprendre ce qui a été dit dans le topic -[MANUEL] Premiere installation pas a pas de debian- de Sentinel et qui pourrait arriver à tous les bonnets d'âne comme moi qui débutent, je vois deux problèmes à re-évoquer:

- Problème possible avec l'option Frame Buffer, proposée active par defaut par dpkg, pour la config de xserver-xfree86 disponible pour la Woody (4.1.0-16woody ?).

Le problème ne doit pas toucher grand monde (Hé hooo, y'a quelqu'un encore sur Woody avec Xserver ?) et ne se représente pas avec la Sarge car dpkg ne propose plus nulle part d'activer le Frame Buffer...

- Problème de module psmouse, qui n'est pas démarré par defaut au lancement de Linux 2.6.7 (déja un peu plus d'actualité ce problème... mais facile à régler une fois qu'on y pense).

Voili voilou, bonne continuation à toi (voire même à vous tous, soyons fous =P ).

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...