Xorg/Guide

From Gentoo Wiki
< Xorg
Jump to:navigation Jump to:search
This page is a translated version of the page Xorg/Guide and the translation is 45% complete.
Outdated translations are marked like this.

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

See also
Xorg and X server articles.

Qu'est-ce que le serveur X Window ?

Environnement graphique vs ligne de commande

Un utilisateur moyen peut être effrayé à l'idée d'avoir à taper des commandes dans une interface en ligne de commandes (CLI). 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 !

Gentoo offre une grande variété d'interfaces utilisateur très attractives telles que des gestionnaires de fenêtres et des environnements de bureau que vous pouvez installer au-dessus de votre installation existante.

Une des plus grandes surprises que les nouveaux utilisateurs rencontrent : Les interfaces graphiques ne sont rien de plus qu'une application (ou dans certains cas une suite d'applications) qui sont lancées sur un système. Ce n'est pas une partie du noyau Linux, ou autre fonctionnalité interne du système. Ceci étant dit, les interfaces graphiques sont des outils puissants qui ouvrent les capacités graphiques d'une 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. Les paquets XFree86 ne sont dorénavant plus fournis par le dépôt Gentoo.

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 d'installer Xorg, préparez votre système à le recevoir. Tout d'abord, configurez le noyau pour qu'il prenne en charge les périphériques d'entrée et les cartes vidéo. Ensuite, préparez /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

Le support pour interface d'événements (CONFIG_INPUT_EVDEV) doit être activé en modifiant la configuration du noyau. 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 mode setting (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.

Verify legacy framebuffer drivers have been disabled

Important
KMS entre en conflit avec les pilotes de tampon de trames patrimoniaux, qui doivent rester désactivés dans la configuration du 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
'"`UNIQ--pre-00000003-QINU`"'

Ensuite, configurez le noyau pour qu'il utilise le pilote KMS adéquat pour la carte vidéo. Intel, NVIDIA et AMD/ATI sont les cartes les plus répandues. Suivez le listing de code ci-dessous pour chaque carte.

Intel

Pour les cartes Intel [1]:

NVIDIA

Pour les cartes nVidia :

In addition to the kernel driver, certain cards require closed source firmware to be built-in to the Linux kernel. Depending on the selected driver, readers should visit each respective article to check to see if firmware (from the sys-kernel/linux-firmware is necessary for their specific card.

KERNEL nVidia settings
'"`UNIQ--pre-00000008-QINU`"'

AMD/ATI

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::

Anciennes cartes :

KERNEL AMD/Configuration ATI
'"`UNIQ--pre-0000000D-QINU`"'

Nouvelles cartes :

KERNEL AMDGPU settings
## (Setup the kernel to use the amdgpu firmware, optional if "AMD GPU" below is M)
Device Drivers --->
   Generic Driver Options --->
   [*]  Include in-kernel firmware blobs in kernel binary
  ## # AMD card specific, (see AMDGPU page for details which firmware files to include)
   (amdgpu/<CARD-MODEL>.bin ...)
  ## # Specify the root directory
   (/lib/firmware/) External firmware blobs to build into the kernel binary
 
## (Enable Radeon KMS support)
Device Drivers --->
   Graphics support --->
   <M/*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
   <M/*> AMD GPU
         [ /*] Enable amdgpu support for SI parts
         [ /*] Enable amdgpu support for CIK parts 
         [*]   Enable AMD powerplay component  
         ACP (Audio CoProcessor) Configuration  ---> 
             [*] Enable AMD Audio CoProcessor IP support (CONFIG_DRM_AMD_ACP)
         Display Engine Configuration  --->
             [*] AMD DC - Enable new display engine
             [ /*] DC support for Polaris and older ASICs
             [ /*] AMD FBC - Enable Frame Buffer Compression
             [ /*] DCN 1.0 Raven family
   <M/*> HSA kernel driver for AMD GPU devices
Remarque
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.
Remarque
Noyau Linux >= 3.9 ne dispose pas de Enable modesetting on radeon by default puisqu'il est déjà implicite par défaut
Remarque
Linux kernel >= 4.15 does include Display Core (DC) which is required for AMDGPU to work. This newer driver was written for GCN5.0 Vega and DCN1.0 Raven Ridge (APU), but also adds additional functionality for older Radeon graphics cards starting with GCN1.1 Southern Islands and newer. It is planned to make this additional support for older Radeon cards the standard, so do not be alarmed if this option is missing in newer kernels.

Exit the kernel configuration, rebuild the kernel, and reboot.

Maintenant que KMS a été configuré, continuez avec la préparation du fichier /etc/portage/make.conf à la section suivante.

Maintenant que le noyau est préparé, il faut configurer des variables dans le fichier /etc/portage/make.conf avant d'installer Xorg.

make.conf

Portage knows the X USE flag for enabling support for X in other packages (default in all desktop profiles). Make sure this USE flag is added to the USE flag list to ensure X compatibility system wide:

FILE /etc/portage/make.conf
USE="X"

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.

Remarque
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.

Remarque
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 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 .

make.defaults has Libinput as the default input device driver.

To check what is presently set, run:

user $portageq envvar INPUT_DEVICES

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

CODE Exemple d'entrées pour make.conf
## (Pour la prise en charge de la souris, du clavier et du pavé tactile Synaptics)
INPUT_DEVICES="libinput synaptics"
## (Pour des cartes NVIDIA)
VIDEO_CARDS="nouveau"
## (Pour les cartes AMD/ATI)
VIDEO_CARDS="radeon"

Si les définitions suggérées ne fonctionnent pas pour vous, vous devriez installer le paquet emerge -pv xorg-drivers, passer en revue toutes les options disponibles et choisir celles qui s'appliquent à votre système. Cet exemple est pour un système doté d'un clavier, d'une souris, d'un pavé tactile Synaptics et d'une carte vidéo Radeon.

root #emerge --pretend --verbose x11-base/xorg-drivers
 
These are the packages that would be merged, in order:
 
Calculating dependencies... done!
[ebuild   R   ] x11-base/xorg-drivers-1.20-r1::gentoo  INPUT_DEVICES="libinput synaptics -elographics -evdev -joystick -keyboard -mouse -vmmouse -void -wacom" VIDEO_CARDS="nouveau radeon -amdgpu -ast -dummy -fbdev (-freedreno) (-geode) -glint -i915 -i965 -intel -mga -nv -nvidia (-omap) -qxl -r128 -radeonsi -siliconmotion (-tegra) (-vc4) -vesa -via -virtualbox -vmware" 0 KiB

The USE flags have the following meaning:

USE flags for x11-base/xorg-server X.Org X servers

debug Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
elogind Use elogind to get control over framebuffer when running as regular user
minimal Install a very minimal build (disables, for example, plugins, fonts, most drivers, non-critical features)
selinux !!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur
suid Enable setuid root program(s)
systemd Enable use of systemd-specific libraries and features like socket activation or session tracking
test Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
udev Enable virtual/udev integration (device discovery, power and storage device support, etc)
unwind Enable libunwind usage for backtraces
xcsecurity Build Security extension
xephyr Build the Xephyr server
xnest Build the Xnest server
xorg Build the Xorg X server (HIGHLY RECOMMENDED)
xvfb Build the Xvfb server

Remarque
By default the suid USE flag is disabled, which is fine when, as per recommendation, X runs under a logind provider like elogind, or systemd. The suid USE flag should however be enabled in /etc/portage/package.use/xorg-server in case no logind provider is used and X is run under a normal user account, e.g. started with startx. Please see also this repository news article. Setting suid would then prevent permission errors on /dev/tty0, or on virtual console 7.

Emerge

Après avoir défini toutes les variables nécessaires, Xorg peut être installé.

root #emerge --ask xorg-server

Dès que l'installation est terminée, vous devez réinitialiser quelques variables d'environnement avant de continuer :

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

Configurer Xorg

Le serveur X est conçu pour fonctionner dès l'installation sans besoin d'éditer des fichiers de configuration. Il devrait détecter et configurer les périphériques tels que souris, clavier et moniteurs.

Vous devriez d'abord essayer utiliser startx sans éditer aucun fichier de configuration. Si Xorg en démarre pas, où s'il y a un autre problème, alors vous devez configurer Xorg à la main comme expliqué dans la section qui suit.

To run Xorg with non-root users, as root, either enable a logind provider (see Non root Xorg) or set the suid USE flag (see above note).

Remarque
Pensez à redémarrer votre système avant d'utiliser startx afin de démarrer sur votre nouveau noyau si vous y avez fait des modifications.

Le répertoire xorg.conf.d

Remarque
Les fichiers de configuration dans xorg.conf.d devraient être considérés comme un "dernier recours". Il est hautement désirable de fonctionner sans configuration spéciale si possible. Si vous ne parvenez pas à obtenir une configuration fonctionnelle alors continuez à lire.

Les fichiers de configuration de Xorg sont stockés dans /etc/X11/xorg.conf.d/ . Chaque fichier reçoit un nom unique qui se termine par .conf . Si les noms de fichier commencent par un nombre, alors Xorg lira les fichiers dans l'ordre numérique. 10-evdev.conf sera lu avant 20-synaptics.conf ,et ainsi de suite. Vous n'avez pas besoin de les numéroter, mais cela aide à les organiser.

Remarque
Xorg fournit des exemples de configuration dan /usr/share/doc/xorg-server-${version}/xorg.conf.example.bz2 . Vous pouvez les utiliser pour créer vos propres fichiers de configuration dans /etc/X11/xorg.conf.d/ . Les exemples sont largement commentés, mais si vous avez besoin de plus d'information en ce qui concerne la syntaxe, lisez la page de manuel man xorg.conf . D'autres exemples sont disponibles dans le chapitre Ressources à la fin de ce guide.

Utiliser startx

Essayer maintenant startx pour démarrer le serveur X. startx est un script qui lance une session X ; c'est à dire qu'il démarre le serveur X et quelques applications graphiques par dessus ce serveur. Il décide quelles applications lancer selon la logique suivante :

  • Si un fichier nommé .xinitrc existe dans le répertoire home, il exécute les commandes qu'il y trouve.
  • Sinon, il lit la valeur de la variable XSESSION et lance une des sessions disponibles dans /etc/X11/Sessions/ en fonction de cette variable. La valeur de XSESSION peut être définie dans le fichier /etc/env.d/90xsession pour en faire la session par défaut pour tous les utilisateurs du système. Par exemple, en tant que root, exécutez echo XSESSION="Xfce4" > /etc/env.d/90xsession . Ceci créera le fichier 90xsession et définira la session X par défaut à Xfce. Pensez à exécuter env-update après avoir changé 90xsession .
root #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

Si vous n'avez pas encore installé un gestionnaire de fenêtres, vous verrez un écran noir. Comme cela peut aussi être le signe que quelque chose ne va pas, vous devriez installer twm et xterm juste pour tester X .

Une fois ces programmes installés, exécutez startx à nouveau. Quelques fenêtres xterm devraient apparaître, rendant plus facile la vérification que X fonctionne correctement. Une fois que vous êtes satisfait des résultats, exécutez emerge --unmerge twm xterm en tant que root pour vous débarrasser des paquets de test. Vous n'en aurez plus besoin, une fois votre propre environnement de bureau installé.

The session (program to start) could also be given as an argument to startx:

user $startx /usr/bin/startfluxbox

In addition, to pass X11 server options, by preceding them with a double dash:

user $startx -- vt7

Peaufiner les réglages de X

Définir votre résolution d'écran

Si vous trouvez que la résolution de votre écran n'est pas bonne, vous devez vérifier deux sections de votre configuration dans xorg.conf.d. Tout d'abord, regardez la section Screen qui liste les résolutions auxquelles votre serveur X fonctionnera. Cette section peut très bien ne citer aucune résolution. Si c'est le cas, Xorg estimera la résolution en se basant sur l'information de la section Monitor.

Changez maintenant la résolution. Dans l'exemple qui suit tiré de /etc/X11/xorg.conf.d/40-monitor.conf, ajoutez la ligne PreferredMode pour dire à votre serveur de démarrer à 1440x900 par défaut. L'option dans la section Device doit correspondre au nom de votre moniteur ( DVI-0 ), qui peut être obtenu en exécutant la commande xrandr. Vous devez exécuter emerge xrandr le temps d'obtenir cette information. L'argument après le nom du moniteur (dans la section Device) doit correspondre l'identifiant (Identifier) sans la section Monitor.

FILE /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

Exécutez X (startx) pour vérifier qu'il utilise la résolution voulue.

Moniteurs multiples

Vous pouvez configurer plus d'un moniteur dans /etc/X11/xorg.conf.d/. Tout ce que vous avez à faire, c'est de donner un identifiant à chacun des moniteurs, puis lister leur position physique, telle que RightOf (à droite de) ou Above (au-dessus) d'un autre moniteur. L'exemple qui suit montre comment configurer un moniteur DVI et un moniteur VGA, avec le moniteur VGA à droite :

FILE /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

Configurer le clavier

For methods of switching the keyboard layout see the Keyboard layout switching article.

Remarque
The rest of this section may not be needed if following the Keyboard layout switching article.

Pour configurer X pour l'utilisation d'un clavier international, vous devez seulement créer le fichier de configuration approprié dans /etc/X11/xorg.conf.d/. Cet exemple concerne un arrangement de clavier Tchèque :

FILE /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

La commande terminate ( terminate:ctrl_alt_bksp ) vous permet de tuer la session X à l'aide de la combinaison de touches Ctrl-Alt-Backspace. Néanmoins, ceci provoque une sortie de X disgracieuse -- quelque chose que vous ne souhaitez pas toujours. Cela peut être utile, lorsque des programmes figent votre écran totalement, ou quand vous peaufinez la configuration de votre environnement Xorg. Soyez prudent en tuant votre environnement de bureau de cette manière -- la plupart des programmes n'aiment pas ça et peuvent perdre une partie ( voire la totalité) des données sur lesquelles vous étiez en train de travailler.

Because the "evdev" driver can handle multiple devices (even non-keyboards), limiting the section to only some devices might be needed for proper working of all the devices. Use the MatchProduct directive to specify the device name, consult man xorg.conf for more info.

For more information about XkbModel and XkbOptions, consult /usr/share/X11/xkb/rules/base.lst and man xkeyboard-config.

Pour terminer

Exécutez startx et profitez du résultat. Félicitations ! Vous avez désormais un Xorg opérationnel. L'étape suivante consiste à installer un gestionnaire de fenêtres ou environnement de bureau tel que KDE, GNOME, ou Xfce. Des informations sur la manière d'installer ces environnements de bureau sont disponibles sur ce wiki.

Voir aussi

  • Wayland - La nouvelle génération de gestionnaire de fenêtres pour Linux.

Ressources externes

Créer et éditer les fichiers de configuration

man xorg.conf et man evdev fournissent une référence rapide mais complète sur la syntaxe utilisée dans ces fichiers. Assurez-vous de les avoir à portée de main quand vous éditez les fichiers de configuration !

Example configurations can be found at /usr/share/doc/xorg-server-*/xorg.conf.example.bz2.

Il existe aussi beaucoup de ressources en ligne sur l'édition des fichiers de configuration dans /etc/X11/. Nous nous contentons d'en donner quelques unes ici ; utilisez Google pour en savoir plus.

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

Si vous montez en version vers xorg-server 1.9, assurez-vous de lire le migration guide

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


This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Sven Vermeulen (SwifT) , Joshua Saddler(nightmorph)
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.