PartitionnementInstallationrc.confUtilisateursFranciserEncodagexorg.conf




X.org, ou xorg est l'impémentation officielle du système graphique X Window System dirigée par la X.Org Foundation. Elle est libre et open source. Le système X Window prend en charge l'interface graphique sous GNU/Linux, et vous sera donc indispensable si vous souhaitez autre chose que les ttys sur votre Archlinux!

Xorg seul est quelque peu fade et quasi-inutilisable sans gestionnaires de fenêtres ou environnements bureautiques de spécifiés. Ces derniers font l’objet d’une installation via pacman et sont soi démarrés directement via startx ou par l’intermédiaire d’un gestionnaire de login (GDM, KDM, Slim, etc.).

Installation de Xorg

Avant de commencer la configuration, il faudra bien entendu vous assurer d'avoir installé xorg convenablement. Sous Archlinux, cela se fait comme toujours via l'utilitaire pacman (ou yaourt si vous l'avez déjà installé).
Même si vous aurez l'occasion de le faire plus tard, vous pouvez aussi dès maintenant vous renseigner sur les pilotes (drivers) qu'il vous faudra utiliser avec votre carte graphique. Dans certains cas, vous aurez aussi besoin de la documentation de votre écran et de votre carte graphique.

Installez la dernière version de xorg comme suit:

Sous Archlinux, Xorg peut être installé simplement avec le groupe xorg et au minimum un pilote pour les périphériques d'entrée (evdev étant celui qui est utilisé par la détection automatique).

pacman -S xorg xf86-input-evdev


Si vous voulez voir le contenu du groupe xorg, il vous suffit de faire :

$ pacman -Sg xorg
xorg xf86-video-vesa
xorg xorg-fonts-100dpi
xorg xorg-fonts-75dpi
xorg xorg-res-utils
xorg xorg-server
xorg xorg-server-utils
xorg xorg-twm
xorg xorg-utils
xorg xorg-xinit
xorg xterm


On peut éventuellement l'installer brique par brique.

Description des paquets du groupe pour faire votre sélection :

xf86-video-vesa pilote graphique générique
xorg-fonts-100dpi police xorg 100 dpi
xorg-fonts-75dpi police xorg 75 dpi
xorg-res-utils utilitaire pour gérer les ressources de xorg
xorg-server Serveur xorg (indispensable ;))
xorg-server-utils Utilitaires indispensable au serveur.
xorg-twm Gestionnaire de fenêtre par défaut de xorg
xorg-utils Utilitaires permettant d'avoir des infos sur le serveur
xorg-xinit programme d'initialisation (startx)
xterm Émulateur de terminal par défaut de xorg


Il est maintenant temps de configurer votre serveur.

Depuis la version 1.5 de Xorg server, il est possible de se passer du fichier de configuration xorg.conf (et par défaut, il n'y en a pas) pour des configurations standards et si l'on peut se passer des pilotes propriétaires, Xorg détectant automatiquement la configuration de l'ordinateur. Néanmoins, si cela ne fonctionne pas pour une raison ou une autre, il est toujours possible de se rabattre sur le fichier de configuration.

Depuis la version 1.6 de Xorg server, la combinaison de touches Ctrl + Alt + Backspace n’a plus aucun effet. Pour rétablir la situation vous devrez avoir ceci dans votre /etc/X11/xorg.conf:

Section "InputDevice"
  Option  "XkbOptions" "terminate:ctrl_alt_bksp" 
EndSection
Section "ServerFlags"
  Option "DontZap" "False"
EndSection

Ou bien, dans le fichier /etc/hal/fdi/policy/10-keymap.fdi — fonctionne seulement en X détection automatique — insérez la ligne suivante au bon endroit :

<merge key="input.xkb.options" type="string">terminate:ctrl_alt_bksp</merge>

directement sous la balise suivante :

<match key="info.capabilities" contains="input.keys">

Détection automatique

Depuis la version 7.4 de xorg (version 1.5.3 de xorg-server), le support de la détection automatique des périphériques de saisie est activé par défaut, ce qui, concrètement implique que xorg ne tient plus compte du matériel (clavier/souris) déclaré dans /etc/X11/xorg.conf, par contre, les informations sur la carte, l'écran, les résolutions et options en dépendant ne sont quant à elles pas ignorées.

Afin de pouvoir profiter de cette détection, il vous faut installer les deux paquets suivants: hal et xf86-input-evdev.
hal devant être démarré (dans les daemons de /etc/rc.conf, donc avant le serveur X).

Il est toujours possible — même si ce n’est pas conseillé — de se passer de cette détection en rajoutant dans la section ServerFlags de /etc/X11/xorg.conf les lignes suivantes :

   Section "ServerFlags"
     Option "AutoAddDevices" "False"
   EndSection


Dans ce cas passer aux sections suivantes pour la configuration semi-automatisée.

Si HAL n'est pas lancé, et que vous n'avez pas spécifié à X de s'en passer, ni le clavier, ni la souris, et encore moins la soucoupe au dessus de la maison ne seront détectés et vous devrez éteindre la machine matériellement. Donc, dans le doute, créez un fichier .xinitrc bidon et lancez startx:

echo "xterm & sleep 10" > ~/.xinitrc
startx

Configuration des périphériques de saisie

Contrairement aux versions précédentes, la configuration passe par hal, xorg surveillant les messages de ce dernier pour prendre en compte les périphériques. Ceci implique qu'en cas de modification directe sur les fichiers hal, on peut redémarrer hal sans quitter l'environnement graphique, la modification sera prise normalement (certains environnements de bureau peuvent avoir leur propre configuration) en compte.

hal peut être schématisé en un ensemble de propriétés/capacités/programmes/méthodes propres aux périphériques, on peut cibler un périphérique ou un ensemble de périphériques par n'importe quelle propriété.
Les fichiers permettant de définir les propriétés d'un périphérique se trouvent dans:

  • /usr/share/hal/fdi/policy pour les fichiers fournis par les applications.
  • /etc/hal/fdi/policy pour les fichiers modifiés/créés par l'utilisateur (administrateur en l'occurrence).


Veuillez vous référer à la page traitant de hal pour plus d'informations.
Des exemples de fichiers de configuration se trouvent ici

Clavier

Dans les dernières versions de Gnome, si vous utilisez GDM, la configuration de la disposition du clavier est ignorée. Il faudra alors configurer GDM.

Copiez le fichier /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi puis le modifier pour changer la configuration :

cp /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi /etc/hal/fdi/policy


<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.keymap">
      <append key="info.callouts.add" type="strlist">hal-setup-keymap</append>
    </match>
 
    <match key="info.capabilities" contains="input.keys">
      <merge key="input.xkb.rules" type="string">base</merge>
 
      <!-- If we're using Linux, we use evdev by default (falling back to
           keyboard otherwise). -->
      <merge key="input.xkb.model" type="string">keyboard</merge>
      <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
             string="Linux">
        <merge key="input.xkb.model" type="string">evdev</merge>
      </match>
 
      <merge key="input.xkb.layout" type="string">us</merge>
      <merge key="input.xkb.variant" type="string" />
    </match>
  </device>
</deviceinfo>


Dans ce fichier, on sélectionne avec le mot clé match le périphérique ayant pour capacité input.keys avec la ligne suivante:

<match key="info.capabilities" contains="input.keys">

input.keys indiquant que c'est un clavier.


Pour un clavier avec une disposition fr, il suffit de modifier le paramètre input.xkb.layout :

<merge key="input.xkb.layout" type="string">fr</merge>

Si vous utilisez une variante de la disposition fr tel que oss ou bepo, modifier le paramètre input.xkb.variant :

<merge key="input.xkb.variant" type="string">oss</merge>

À noter que le nom des options de configuration de hal est calqué sur celui de xorg.conf, à savoir, pour la configuration clavier :

  • input.xkb.layout est l’équivalent de XkbLayout
  • input.xkb.variant est l’équivalent de XkbVariant
  • etc.

Vous pouvez donc adapter assez facilement les options xorg.conf à la configuration hal pour ce qui est des périphériques de saisie.

Il est possible de définir temporairement (jusqu'à la fermeture de xorg) la disposition du clavier à l'aide de la commande setxkbmap :

setxkbmap fr

C'est assez utile pour ne pas chercher les touches du clavier qwerty… :)

Touchpad compatible synaptics

Tout d'abord, installer le pilote:

pacman -S xf86-input-synaptics


Pour le touchpad, la propriété à atteindre est input.touchpad, le fichier permettant de modifier les périphériques concernés est /usr/share/hal/fdi/policy/10osvendor/11-x11-synaptics.fdi.
Il vous suffit de le copier comme expliqué plus haut et y rajouter les options que vous voulez.
Pour, par exemple émuler le 3ème bouton de souris, rajoutez ceci:

<merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>


Exemple

Problèmes courants

Touches spéciales + flèches

Si vous rencontrez des problèmes avec ces touches, vous devrez choisir le pilote evdev pour le clavier, selon votre environnement de bureau:

  • GNOME: séléctionnez Clavier piloté par evdev du fabriquant Generic dans l'onglet Agencements de la fenêtre Propriétés du clavier.
  • KDE: dans configuration du Système, sélectionner Région et Langue allez dans l'onglet disposition du Clavier cochez Activer les disposition du clavier et choisir Evdev-managed keyboard.
  • XFCE: FIXME

Sous OpenBox, le souci est ailleurs, bug en upstream → #3885, on peut contourner en exécutant au démarrage de la session:

openbox --reconfigure



Configuration de la carte graphique

La carte graphique est détectée au même titre que les périphériques de saisie, à la différence près que xorg ne tente de charger que ce qu'il connaît, c'est à dire, des pilotes libres et que le pilote n'est pas forcément installé sur votre système.
Pour connaître le driver de la carte détectée si toutefois il n'est pas déjà installé, lancez tout simplement:

X 2>&1 | grep EE


Si X échoue, vous devez avoir une sortie ressemblant à:

Current Operating System: Linux *** 2.6.27-ARCH #1 SMP PREEMPT Fri Nov 28 10:56:24 UTC 2008 i686
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(EE) Failed to load module "nv" (module does not exist, 0)
(EE) No drivers available.


Cette sortie indique qu'il a détecté une carte nVidia, mais le pilote nv n'est pas disponible, il suffit de l'installer pour que X démarre:

pacman -S xf86-video-nv


Voir plus bas la liste des pilotes libres disponibles.


Dans le cas de l'utilisation d'un pilote propriétaire, vous pouvez créer un fichier /etc/X11/xorg.conf minimal pour indiquer le chargement de ce pilote, exemple:

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    DefaultDepth   24
    Option	   "TwinView" 
    Option	   "metamodes" "CRT: 1440x900_75 +0+0, DFP: 1280x1200 +0+0"
    Option         "AllowGLXWithComposite" "True"
    Option         "AddARGBGLXVisuals" "True"
    Option         "ConnectToAcpid" "True"
EndSection

Section "Extensions"
    Option         "Composite" "Enable"
    Option         "RENDER" "Enable"
EndSection



Configuration de l'écran

De même que le reste, on ne voit dans cette section que les éventuelles perfections à apporter à la configuration, l'écran étant normalement détecté directement par xorg. Ainsi, si pour une raison x, la résolution n'est pas celle désirée, vous pouvez ajouter dans /etc/X11/xorg.conf:

Section "Monitor"
    Identifier     "Monitor0"
    Option         "PreferredMode"  "1280x800"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Monitor        "Monitor0"
EndSection


Configuration semi-automatique

Plusieurs outils sont disponibles pour générer un fichier /etc/X11/xorg.conf, chacun ayant un degré de réussite selon la carte que l’on possède, n’hésitez donc pas à en essayer plus d’un si le premier échoue, et surtout n’oubliez pas de désactiver la détection automatique si vous comptez configurer la totalité de Xorg depuis ce fichier.

Rappel : cette configuration n'est nécessaire que si xorg ne fonctionne pas sans.

Choisissez votre méthode :

X -configure

La méthode simple et efficace.

Cependant aujourd'hui elle n'est plus utile que pour se passer de HAL, en y rajoutant l'option AutoAddDevices False pour le désactiver (voir plus haut), vu que xorg sans fichier de configuration fera exactement la même chose qu'avec celui généré ici.

Assurez-vous d'avoir préalablement installé le pilote libre de votre carte vidéo. (voir la liste plus bas)

  1. Lancez la commande en utilisateur root :
    # X -configure

    Si cette commande réussie, cela créera un fichier xorg.conf.new dans le répertoire /root/

  2. Testez la configuration générée de cette manière :
    # X -config /root/xorg.conf.new

    (Ctrl-Alt-BackSpace pour quitter Xorg)

  3. Déplacez le fichier généré dans le répertoire de configuration :
    # mv /root/xorg.conf.new /etc/X11/xorg.conf

nvidia-xconfig

Si vous possédez une carte nVidia, vous pourrez utiliser ce petit utilitaire qui génère un fichier intégrant le pilote propriétaire de nVidia.

  1. Installez les pilotes nVidia,
    # pacman -S nvidia
  2. Installez les utilitaires nVidia
    # pacman -S nvidia-utils
  3. Lancez la commande
    # nvidia-xconfig


    qui génèrera un xorg.conf quasiment prêt à l'emploi

  4. Si vous souhaitez utiliser Compiz Fusion
    # nvidia-xconfig --composite --add-argb-glx-visuals


    vous fera un xorg.conf avec l'accélération graphique activée.

xorgconfig

Si aucune des solutions au dessus ne vous parait convenable, il vous reste cet utilitaire textuel pour générer votre xorg.conf. Pour répondre aux question qu'il va vous poser, vous devrez par contre vous munir de la documentation de votre matériel. Prenez votre temps, l'utilitaire est en anglais, et même s'il est très didactique, une erreur vous obligera à tout recommencer.

  1. Lancez l'utilitaire
    # xorgconfig


    Si xorgconfig ne fonctionne pas lancez

    # xorgcfg -textmode
  2. Répondez aux questions et sauvez le fichier dans l'emplacement par défaut (/etc/X11/xorg.conf)


Test

Vous pouvez tester votre installation comme indiqué ici.

Personnalisation

Que ce soit suite à une configuration automatique ou à semi-automatique (non, ce n'est pas un voiture !), il peut être nécessaire de personnaliser le fichier xorg.conf.
Vous pouvez dès maintenant ouvrir le xorg.conf avec votre éditeur préféré (par exemple vi)

Configuration de l'écran

Dans la plupart des cas, il est inutile de retoucher la configuration de l'écran. Nous détaillerons ici simplement les étapes à suivre pour avoir un “écran qui fonctionne”. La configuration de l'écran se fait dans la section ”Monitor

Quand par exemple xorg affiche l'erreur “Frequency out of range” dans le log (/var/log/Xorg.0.log).

  • Les premiers paramètres importants à regarder sont les fréquences de rafraichissement horizontales et verticales de l'écran. Ce sont les paramètres ”HorizSync” et ”VertRefresh”. Vous trouverez les informations convenables dans votre documentation, autrement, voici les paramètres par défaut de hwd qui fonctionnent dans la plupart des cas
#HorizSync    28.0 - 78.0 # Attention: Ceci peut scintiller sur les très vieux moniteurs
 HorizSync    28.0 - 96.0 # Attention: Ceci peut scintiller sur les vieux moniteurs
 VertRefresh  50.0 - 75.0 # Très conservatif. Peut scintiller.
#VertRefresh  50.0 - 62.0 # Extrèmement conservatif. Scintillera à coup sûr. Par défaut pour les écrans TFT.

(Bien entendu, évitez d'utiliser les deux lignes en même temps pour un seul paramètre, vous remarquerez que dans l'exemple ci dessus, une des deux lignes pour chaque paramètre est commentée par le symbole ”#”)

  • Le second paramètre important est la ”ModeLine”. C'est elle qui définit la résolution qu'adoptera l'écran. La plupart du temps, vous n'aurez pas à la modifier. Mais si vous avez un écran aux dimensions bizarres, vous pouvez trouver votre ModeLine en utilisant un utilitaire de génération de ModeLine comme par exemple sur http://xtiming.sourceforge.net/cgi-bin/xtiming.pl.


Ensuite, si vous changez de ModeLine, il vous faudra aussi modifier dans la section ”Screen” les modes correspondants (reportez vous à la section Screen plus loin dans ce document).

Configuration des périphériques de saisie sans HAL

Utile uniquement lors de l'utilisation de l'option AutoAddDevices False ! Sinon, c'est HAL qu'il faut configurer. (voir plus haut 10-keymap.fdi)

Passer le clavier en français

Dans la majorité des cas, si vous tapez startx dès maintenant, le serveur va démarrer correctement. Mais sans le clavier français, il y a de fortes chances pour que vous ayez du mal à revenir à la console, la combinaison Ctrl Alt Fx ne fonctionnant pas. Pour mettre votre clavier en français,

  1. Rendez-vous dans la section ”InputDevice” qui se réfère au clavier qui contient les lignes ”Driver “keyboard”” et très probablement ”Identifier “Keyboard0”
  2. Ajoutez ou modifiez les options suivantes pour un clavier :

*Français-France :

	Option "XkbRules" "xorg"             # Permet d'avoir accès aux caractères spéciaux
	Option "XkbLayout" "fr"              # Clavier francais
        Option "XkbVariant" "oss"            # Disposition 'oss'
	Option "XkbOptions" "compose:rwin"   # Permet une combinaison avec la touche Windows (comme Ctrl, Alt ...)


  • Français-Suisse :
	Option "XkbRules" "xorg"             # Permet d'avoir accès aux caractères spéciaux
	Option "XkbLayout" "ch"              # Clavier Suisse
        Option "XkbVariant" "fr"             # Pour la disposition Français-Suisse ou "de" pour la disposition Allemand-Suisse
	Option "XkbOptions" "compose:rwin"   # Permet une combinaison avec la touche Windows (comme Ctrl, Alt ...)


  • Français-Belge :
	Option "XkbRules" "xorg"             # Permet d'avoir accès aux caractères spéciaux
	Option "XkbLayout" "be"              # Clavier Belge
	Option "XkbOptions" "compose:rwin"   # Permet une combinaison avec la touche Windows (comme Ctrl, Alt ...)


Pour ceux qui souhaiterait disposer de la nouvelle disposition de touches : il suffit de consulter l'article sur la francisation d'Arch Linux

Vous pouvez dès maintenant sauver votre fichier et tester ce que cela donne en lancant en console

startx


Configurer la molette de la souris

La configuration de la souris se fait dans la section ”InputDevice” portant la ligne ”Driver “mouse””.

Nous allons simplement nous interresser à la configuration de la molette :

  • Ajoutez dans la section les lignes :
Option  "ZAxisMapping"  "4 5"
Option  "Buttons"       "5"


Configuration de la carte graphique

Pilotes libres

Voici la liste des pilotes libres avec leur désignation, ces pilotes font parti du projet Xorg :

Paquet Nom Site
xf86-video-apm Alliance ProMotion video driver
xf86-video-ark ark video driver
xf86-video-ati pilote des cartes ATI > R4xx Site officiel : X.org - ati
xf86-video-chips Chips and Technologies video driver
xf86-video-cirrus Cirrus Logic video driver
xf86-video-dummy dummy video driver
xf86-video-fbdev framebuffer video driver
xf86-video-glint GLINT/Permedia video driver
xf86-video-i128 Number 0 i128 video driver
xf86-video-i740 Intel i740 video driver
xf86-video-i810 Intel i810/i830/i9xx video drivers (déprécié - utilisez plutôt intel)
xf86-video-intel Newer Version of Intel i810/i830/i9xx video drivers
xf86-video-imstt Integrated Micro Solutions Twin Turbo vidoe driver
xf86-video-mga video driver (Matrox Graphics Adapter)
xf86-video-neomagic neomagic video driver
xf86-video-nv nv video driver
xf86-video-nouveau pilote libre des cartes NVidia /!\ expérimental Nouveau
xf86-video-rendition Rendition video driver
xf86-video-radeonhd Pilote HD des cartes R5xx et R6xx /!\ expérimental RadeonHD - Site officiel : radeonhd.org
xf86-video-s3 S3 video driver
xf86-video-s3virge S3 Virge video driver
xf86-video-savage savage video driver
xf86-video-siliconmotion siliconmotion video driver
xf86-video-sis SiS video driver
xf86-video-sisusb SiS USB video driver
xf86-video-tdfx tdfx video driver
xf86-video-trident Trident video driver
xf86-video-tseng tseng video driver
xf86-video-unichrome Unichrome video drivers
xf86-video-v4l v4l video driver
xf86-video-vesa vesa video driver
xf86-video-vga VGA 16 color video driver
xf86-video-via via video driver
xf86-video-vmware vmware video driver
xf86-video-voodoo voodoo video driver

Problèmes

Intel

Le dernier pilote intel active par défaut la prochaine (actuelle?) implémentation de l'accélération matérielle pour xorgEXA, malheureusement, ce dernier étant encore jeune, il ne gère pas parfaitement l'accélération 3D et pour ceux qui se poserait la question de savoir pourquoi il est activé par défaut, la réponse est que l'implémentation d'avant avait une gestion très pauvre de l'accélération 2D matérielle, du coup, un choix s'impose, de l'accélération 3D matérielle avec une utilisation cpu supérieure pour la 2D ou privilégier l'accélération 2D au détriment d'une 3D pauvre si on utilise par exemple de la transparence?

Une fois le choix fixé, si vous avez choisi de privilégier la 3D, voilà comment réactiver l'ancienne implémentation:
Si vous avez laissez la détection automatique, il vous faut créer un fichier /etc/X11/xorg.conf minimal:

Section "Device"
 Identifier  "Card0"
 Driver      "intel"
 VendorName  "All"
 BoardName   "All"
 Option "XaaNoPixmapCache" 
 Option "XAANoOffscreenPixmaps" "1"
 Option "DRI" "true"
 Option "AccelMethod" "XAA"	
EndSection


Si vous avez désactiver la détection automatique, il suffit de rajouter la liste des options à votre section Device.

Info complémentaire → #18389 sur freedesktop.

Polices

Voici une sélection de paquets à installer pour avoir des belles polices bien lissées dans toutes les applis graphiques et ne plus jamais se poser de question à ce sujet.

pacman -S xorg-fonts-type1 ttf-dejavu artwiz-fonts font-bh-ttf font-bitstream-speedo gsfonts sdl_ttf ttf-bitstream-vera ttf-cheapskate ttf-ms-fonts


Comprendre le xorg.conf

Une page dédiée existe pour mieux comprendre la structure du fichier xorg.conf


Calimero 2009/21/02 16:25 Remaniement, ajout des polices
tuxce 2008/12/02 16:07
TuxSpirit 01/03/2008 Ajout variables clavier Français-Suisse
warnaud auteur initial de cette page

 
howto/indispensable/xorg.txt · Dernière modification: 2010/02/05 10:12 par gyo
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki