Xorg/Configuration

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page Xorg/Configuration and the translation is 57% complete.

Other languages:
English • ‎español • ‎français • ‎日本語 • ‎한국어

Xorg est le serveur X Window qui permet aux utilisateurs de disposer d'un environnement graphique. Ce guide explique ce qu'est Xorg, comment l'installer et ce que sont les différentes options de configuration.

Qu'est-ce que le serveur X Window ?

Environnement graphique vs ligne de commande

L'utilisateur moyen peut être effrayé à l'idée d'avoir à taper des commandes. Pourquoi ne pourrait-il pas pointer avec la souris et cliquer pour se frayer son chemin dans l'espace de liberté procuré par Gentoo (et Linux en général) ? Eh bien, naturellement, il peut le faire ! Linux offre une grande variété d'interfaces utilisateur très attractives et des environnements que vous pouvez installer au-dessus de votre installation existante.

C'est une des plus grandes surprises pour les nouveaux utilisateurs de découvrir que l'interface utilisateur graphique, n'est rien d'autre qu'une application qui tourne sur leur système. Ce n'est pas une partie du noyau Linux, ou une autre fonctionnalité interne du système. C'est un outil puissant qui active complètement les capacités graphiques de votre station de travail.

Comme les normes sont importantes, une norme pour dessiner et déplacer des fenêtres sur l'écran, interagissant avec l'utilisateur via la souris, le clavier et autres dispositifs, a été créée et nommée le système X Window', couramment abrégé en X11 ou tout simplement X. Ce système est utilisé sur Unix, Linux et les systèmes d'exploitation basés sur Unix à travers le monde entier.

L'application qui permet aux utilisateurs d'exécuter les interfaces graphiques et qui se base sur la norme X11 est Xorg-X11, un embranchement du projet XFree86. XFree86 ayant décidé d'utiliser une licence qui pourrait s'avérer incompatible avec la licence GPL, l'utilisation de Xorg est par conséquent recommandée. L'arbre de Portage ne contient plus de paquet XFree86 dorénavant.

Le projet X.org

Le projet X.org a créé et tient à jour une mise en œuvre du système X11 librement distribuable et open-source. Il s'agit d'une infrastructure de bureau open-source basée sur X11.

Xorg procure une interface entre votre matériel et l'application graphique que vous voulez exécuter. En plus de cela, Xorg est compatible avec le fonctionnement en réseau, ce qui signifie que vous pouvez exécuter une application sur un système tout en visualisant les résultats sur un autre.

Installer Xorg

Avant de pouvoir installer Xorg, vous devez préparer votre système à le recevoir. Tout d'abord, il vous faut configurer le noyau pour qu'il prenne en charge les périphériques d'entrée et les cartes vidéo. Ensuite il faudra préparer /etc/portage/make.conf pour que les bons pilotes et les paquets Xorg soient compilés et installés.

Prise en charge des pilotes de périphérique d'entrée

Par défaut, Xorg utilise evdev[1], un pilote de périphérique d'entrée générique. Vous devez changer la configuration de votre noyau pour qu'il prenne en charge evdev. Lisez le Guide de configuration du noyau si vous ne savez pas comment configurer votre noyau.

KERNEL Enabling evdev in the kernel
Device Drivers --->
  Input device support --->
  <*>  Event interface

Kernel modesetting

Les pilotes vidéo open-source modernes s'appuient sur le kernel modesetting (KMS). KMS procure un démarrage graphique amélioré moins vacillant, avec un changement d'utilisateur plus rapide, une console à tampon de trames incorporée, une transition douce entre console et Xorg et d'autres fonctionalités. KMS entre en conflit avec les pilotes de tampon de trames patrimoniaux, qui doivent rester désactivés dans la configuration de votre noyau.

En premier lieu, préparez votre noyau pour KMS. Vous devez accomplir cette étape sans vous soucier du pilote vidéo Xorg que vous allez utiliser.

KERNEL Configuring framebuffers
Device Drivers --->
  Graphics support --->
    Support for frame buffer devices --->
    ## (Désactivez tous les pilotes,  y compris VGA, Intel, nVidia, et ATI)
 
    ## (Plus bas, activez la prise en charge de la console de base. KMS en a besoin.)
    Console display driver support --->
      <*>  Framebuffer Console Support

Ensuite, configurez votre noyau pour qu'il utilise le pilote KMS adéquat pour votre carte vidéo. Intel, nVidia et AMD/ATI sort les cartes les plus répandues. Suivez le listing du code pour votre carte ci-dessous.

Pour les cartes Intel [2]:

KERNEL Intel settings
Device Drivers --->
  Graphics support --->
    /dev/agpgart (AGP Support) --->
    <*>  Intel 440LX/BX/GX, I8xx and E7x05 chipset support
    Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
    <*>  Intel 8xx/9xx/G3x/G4x/HD Graphics
    [*]    Enable modesetting on intel by default

Pour les cartes nVidia :

KERNEL nVidia settings
Device Drivers --->
  Graphics support --->
    Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
    <*>    Nouveau (nVidia) cards

Pour les cartes AMD/ATI les plus récentes (RadeonHD 2000 et postérieures), vous devrez installer x11-drivers/radeon-ucode ou sys-kernel/linux-firmware. Une fois que vous avez installé un de ces paquets, configurez votre noyau comme expliqué en détails dans la section firmware de la page Radeon::

KERNEL AMD/Configuration ATI
## (Configurez le noyau pour utiliser le micro-code radeon-ucode )
Device Drivers --->
  Generic Driver Options --->
  [*]  Include in-kernel firmware blobs in kernel binary
  ## # ATI card specific, (see Radeon page for details of firmware to include)
   (radeon/<YOUR-MODEL>.bin ...)
  ## # all:
   (/lib/firmware/) Firmware blobs root directory
 
## (Enable Radeon KMS support)
Device Drivers --->
  Graphics support --->
  <*>  Direct Rendering Manager --->
  <*>    ATI Radeon
  [*]      Enable modesetting on radeon by default
  [ ]      Enable userspace modesetting on radeon (DEPRECATED)
Note
Les anciennes cartes Radeon(séries X1900 et antérieurse) ne nécessitent pas le paquet x11-drivers/radeon-ucode ou aucune autre configuration de micro-code. Contentez-vous d'activer le Direct Rendering Manager (Gestionnaire de Rendu Direct) et ATI Radeon modesetting.
Note
Noyau Linux >= 3.9 ne dispose pas de Enable modesetting on radeon by default puisqu'il est déjà implicite par défaut

Vous en avez maintenant terminé avec la configuration du KMS, continuez avec la préparation du fichier /etc/portage/make.conf à la section suivante.

Configuration de make.conf

Maintenant que votre noyau est préparé, vous devez configurez des variables importantes dans le fichier /etc/portage/make.conf avant d'installer Xorg.

La première variable est VIDEO_CARDS. Elle est utilisée pour définir le pilote vidéo que vous allez utiliser et dépend du type de carte vidéo que vous avez. La définition la plus commune est nouveau pour les cartes nVidia ou radeon pour les cartes ATI.

Note
Vous pouvez aussi essayer les pilotes propriétaire de nVidia et d'AMD/ATI, nvidia et fglrx respectivement. Cependant, définir les pilotes propriétaire sort du champ de ce guide. Reportez-vous au guide guide nVidia de Gentoo Linux et à la FAQ ATI de Gentoo Linux. . Si vous ne savez pas quel pilote choisir, reportez-vous à ces guides pour plus d'informations.

Le pilote intel peut être utilisé pour les stations de travail ou les ordinateurs portables munis des jeux de circuits Intel courants intégrés.

Note
VIDEO_CARDSpeut contenir plus d'un pilote, chacun séparé par une espace.

La deuxième variable est INPUT_DEVICES. Elle est utilisée pour déterminer quels pilotes compiler pour la prise en charge des périphériques d'entrée. Dans la plupart des cas, la définir à evdev[1] devrait donner satisfaction. Si vous utilisez des périphériques d'entrée alternatifs, tels qu'un pavé tactile Synaptics pour un ordinateur portable, assurez-vous de l'ajouter à la variable INPUT_DEVICES .

Maintenant déterminez quels pilotes vous allez utiliser et ajouter les définitions nécessaires au fichier /etc/portage/make.conf :

CODE Sample make.conf entries
## (For mouse, keyboard, and Synaptics touchpad support)
INPUT_DEVICES="evdev synaptics"
## (For nVidia cards)
VIDEO_CARDS="nouveau"
## (For AMD/ATI cards)
VIDEO_CARDS="radeon"

If the suggested settings does not work emerge the x11-base/xorg-drivers package(see the step below). Check all the options available and choose those which apply to the system. This example is for a system with a keyboard, mouse, Synaptics touchpad, and a Radeon video card.

root #emerge --ask --verbose --pretend x11-base/xorg-drivers
 
These are the packages that would be merged, in order:
 
Calculating dependencies... done!
[ebuild   R   ]  x11-base/xorg-drivers-1.9  INPUT_DEVICES="evdev synaptics
-acecad -aiptek -elographics% -fpit% -joystick -keyboard -mouse -penmount -tslib
-virtualbox -vmmouse -void -wacom"
VIDEO_CARDS="radeon -apm -ark -ast -chips -cirrus -dummy -epson -fbdev -fglrx
(-geode) -glint -i128 (-i740) (-impact) -intel -mach64 -mga -neomagic (-newport)
-nouveau -nv -nvidia -r128 -rendition -s3 -s3virge -savage -siliconmotion -sis
-sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb) (-sunleo) (-suntcx)
-tdfx -tga -trident -tseng -v4l -vesa -via -virtualbox -vmware (-voodoo) (-xgi)"
0 kB

First of all, make sure udev is added as a USE:

root #echo "x11-base/xorg-server udev" >> /etc/portage/package.use

After setting all the necessary variables Xorg can be installed:

root #emerge --ask x11-base/xorg-server
Note
The x11-base/xorg-x11 meta-package could be installed instead of the more lightweight x11-base/xorg-server. Functionally x11-base/xorg-x11 and x11-base/xorg-server are the same, however x11-base/xorg-x11 brings in many more packages that most systems will probably not require. Additional packages include a large assortment of fonts in many languages. They are not necessary for a working X11 framework.

When the installation is finished, some environment variables will need to re-initialized before continuing. Source the profile with this command:

root #env-update
root #source /etc/profile

NVidia users

For NVidia users it might be beneficial to run nvidia-xconfig in order to generate a working xorg.conf file for the selected graphics card. Without this step the xorg.conf file will need to be created manually as described below. Missing the xorg.conf will sometimes generate a "No screens found" error to the terminal when attempting to startx.

Also the NVidia driver will only work after a reboot, so be sure to restart the system after running nvidia-xconfig.

root #nvidia-xconfig

It is both possible and recommended to set the OpenGL renderer to the hardware renderer instead of a software renderer:

root #eselect opengl set nvidia

Configurer Xorg

The X server is designed to work out-of-the-box, with no need to manually edit Xorg's configuration files. It should detect and configure devices such as displays, keyboards, and mice.

Try using startx without editing any configuration files. If Xorg will not start, or there is some other problem, then manual configuration of Xorg will be needed. This is explained in the following section.

Note
If changes have been made to the kernel, do not forget to restart the system before using startx in order to be using the newly built kernel. If the kernel was updated to a newer version in the process this will most likely require the bootloader's configuration files to be updated as well.

The xorg.conf.d directory

Important
Configuring files in xorg.conf.d should be seen as a last resort option. If possible it is desirable to run Xorg without any special configuration.

Most of the configuration files for Xorg are stored in /etc/X11/xorg.conf.d/. Each file is given a unique name and ends in .conf. The file names in Xorg's configuration directory will read in alpha numeric order. For example, 10-evdev.conf will be read before 20-synaptics.conf; a-evdev.conf will be read before b-synaptics.conf, and so on. The files in this directory are not required to be numbered, but doing so will help keep them organize. Organization is helpful in when debugging faulty configuration files.

Note
Xorg provides example configurations in /usr/share/doc/xorg-server-${version}/xorg.conf.example.bz2. These can be used to create custom configuration files in /etc/X11/xorg.conf.d/. The examples are heavily commented, but if more documentation regarding the syntax is needed man xorg.conf is always available. Other examples can be found in the section Other resources at the end of this guide.

Utiliser startx

Try startx to start up the X server. startx is a script that executes an X session; that is, it starts the X server and some graphical applications on top of it. It decides which applications to run using the following logic:

  • Si un fichier nommé .xinitrc existe dans le répertoire home, il exécute les commandes qu'il y trouve.
  • Otherwise, it will read the value of the XSESSION variable and will execute one of the sessions available in /etc/X11/Sessions/ accordingly. The value of XSESSION can be set in the /etc/env.d/90xsession file to make a default session for all users on the system. For example, as root, run echo XSESSION="Xfce4" > /etc/env.d/90xsession. This will create the 90xsession file and set the default X session to Xfce. Remember to run env-update after making changes to 90xsession.
user $startx

If no window manager has been installed a solid black screen will appear. Since this can also be a sign that something is wrong, the x11-wm/twm and x11-terms/xterm packages can be installed only to test X.

Once the programs are installed, run startx again. A few xterm windows should appear, making it easy to verify the X server is working correctly. Once satisfied with the results, unmerge x11-wm/twm and x11-terms/xterm if installed in the step above to remove the testing packages. They will not be needed to setup a proper desktop environment.

Peaufiner les réglages de X

Setting the screen resolution

If the screen resolution looks to be wrong, you will need to check two sections in your xorg.conf.d configuration. First of all, you have the Screen section which lists the resolutions that your X server will run at. This section might not list any resolutions at all. If this is the case, Xorg will estimate the resolutions based on the information in the second section, Monitor.

Now let us change the resolution. In the next example from /etc/X11/xorg.conf.d/40-monitor.conf we add the PreferredMode line so that our X server starts at 1440x900 by default. The Option in the Device section must match the name of your monitor (DVI-0), which can be obtained by running xrandr. Install xrandr (emerge xrandr) just long enough to get this information. The argument after the monitor name (in the Device section) must match the Identifier in the Monitor section.

root #nano -w /etc/X11/xorg.conf.d/40-monitor.conf
Section "Device"
  Identifier  "RadeonHD 4550"
  Option      "Monitor-DVI-0" "DVI screen"
EndSection
Section "Monitor"
  Identifier  "DVI screen"
  Option      "PreferredMode" "1440x900"
EndSection

Run X (startx) to discover it uses the desired resolution.

Moniteurs multiples

More than one monitor in can be established in /etc/X11/xorg.conf.d/. Give each monitor a unique identifier, then list its physical position, such as "RightOf" or "Above" another monitor. The following example shows how to configure a DVI and a VGA monitor, with the VGA monitor as the right-hand screen:

root #nano -w /etc/X11/xorg.conf.d/40-monitor.conf
Section "Device"
  Identifier "RadeonHD 4550"
  Option     "Monitor-DVI-0" "DVI screen"
  Option     "Monitor-VGA-0" "VGA screen"
EndSection
Section "Monitor"
  Identifier "DVI screen"
EndSection
Section "Monitor"
  Identifier "VGA screen"
  Option     "RightOf" "DVI screen"
EndSection

Configuring the keyboard

To setup X to use an international keyboard create the appropriate config file in /etc/X11/xorg.conf.d/. This example features a Czech keyboard layout:

root #nano -w /etc/X11/xorg.conf.d/30-keyboard.conf
Section "InputClass"
        Identifier "keyboard-all"
        Driver "evdev"
        Option "XkbLayout" "us,cz"
        Option "XkbModel" "logitech_g15"
        Option "XkbRules" "xorg"
        Option "XkbOptions" "grp:alt_shift_toggle,grp:switch,grp_led:scroll,compose:rwin,terminate:ctrl_alt_bksp"
        Option "XkbVariant" ",qwerty"
        MatchIsKeyboard "on"
EndSection

The "terminate" command (terminate:ctrl_alt_bksp) lets users kill the X session by using the Ctrl+Alt+Backspace key combination. This will, however, make X exit disgracefully -- something that users might want to avoid. It can be useful when programs have frozen the display entirely, or when configuring and tweaking the Xorg environment. Be careful when killing the desktop with this key combination - most programs really do not like it when they are ended this way. Some, if not all, of the information that has not been written to the disk (information stored in "open documents") will be lost.

Pour terminer

Run startx and be happy about the result. Congratulations, you now (hopefully) have a working Xorg! The next step is to install a useful window manager or desktop environment such as KDE, GNOME, or Xfce. Information on installing these desktop environments can be found here on the wiki.

See also

  • Wayland - The next generation window manager for Linux.

External resources

Créer et éditer les fichiers de configuration

First of all, man xorg.conf and man evdev[1] provide quick yet complete references about the syntax used by these configuration files. Be sure to have them open on a terminal when editing Xorg configuration files!

There are also many online resources on editing config files in /etc/X11/. Only a few are listed here; use a choice favorite search engine to find more.

Autres ressources

Une information complémentaire sur l'installation et la configuration de divers environnements de bureau et applications est disponible dans la section la station de travail de Gentoo

When upgrading to xorg-server 1.9 from an earlier version, be sure to read the migration guide.

X.org fournit beaucoup de FAQs sur son site WEB, en plus de la documentation.

References


This article is based on a document formerly found on our main website gentoo.org.
The following people have contributed to the original document: swift, nightmorph
They are listed here as the Wiki history does not provide for any attribution. If you edit the Wiki article, please do not add yourself here, your contributions are recorded on the history page.