X.org

X.org, parfois orthographié Xorg, est un logiciel libre fournissant un serveur X pour les systèmes d'exploitation de type Linux et UNIX.

Il s'agit de gérer l'affichage des éléments à l'écran, notamment les fenêtres fournies par le gestionnaire de fenêtres, via le protocole X11.

Des alternative à Xorg et au protocole X11 se développent depuis le milieu des années 2010 : notamment, le protocole Wayland permet de gérer l'affichage de manière davantage sécurisée, et optimisée pour les compositeurs graphiques des environnements modernes. Une session Wayland expérimentale est proposée depuis Ubuntu 17.04 pour GNOME Shell et KDE Plasma.

Le serveur X se configure automatiquement au démarrage. Le fichier /etc/X11/xorg.conf qui sert à paramétrer le serveur X est donc quasiment vide voire inexistant sur les versions d'Ubuntu récentes.

Cependant, dans certains cas, la détection automatique ne fonctionne pas. Il faut donc paramétrer manuellement ce fichier xorg.conf . Plusieurs cas peuvent en être la cause :

  • Deux cartes graphiques dans l'ordinateur (le serveur X ne parvient pas à localiser la carte sur laquelle l'écran principal est branché.)
  • Certains modèles d'écrans et de cartes graphiques mal détectés (cela empêche le démarrage du serveur X)
  • Aucun écran branché
  • (liste à compléter)
Dans ces cas, il est possible que le serveur X renvoie un message de ce type :
No screens found

Connaître sa version d'Xorg

FIXME corriger ce paragraphe, ça ne marche plus comme ça sur les versions récentes

Avant de commencer toute manipulation, il est pertinent de connaître sa version d'Xorg et celle du noyau Linux correspondant. Pour cela, dans un terminal, saisir la commande suivante :

Xorg -version

Le terminal vous répondra par exemple les lignes suivantes :

X.Org X Server 1.17.1
Release Date: 2015-02-10
X Protocol Version 11, Revision 0
Build Operating System: Linux 3.19.0-28-generic x86_64 Ubuntu

Redémarrer Xorg

Démarrer Xorg depuis une console

Il est possible de démarrer le mode graphique depuis une console en saisissant la commande :

startx

Cette commande ne marchera que si une session X n'est pas déjà en fonctionnement. En effet, par défaut, une seule session graphique est proposée.

Remarques préliminaires

Les paramètres système de votre environnement savent gérer l'immense majorité des cas. C'est le moyen plus simple et le plus sûr, en cas de problème de configuration de l'affichage commencez par là !

Cherchez-y une section "Affichage", et réglez-y la définition, le facteur d'échelle, etc.

Avec GNOME, une section "Couleurs" est disponible pour régler le profil de couleur de l'affichage.

Configuration automatique

Pour reconfigurer X.org automatiquement, on a plusieurs possibilités :

  • Cas général (à tester en premier) :
    sudo dpkg-reconfigure -phigh xserver-xorg

    comme suggéré au début du fichier /etc/X11/xorg.conf

  • Cartes nvidia :
    sudo nvidia-xconfig
  • Cartes ATI (aurait tendance à ne pas fonctionner, donc attention !!) :
    sudo aticonfig --initial

Configuration manuelle

Par défaut, il n'y aucun fichier xorg.conf de disponible à l'emplacement /etc/X11. Ce n'est qu'en cas de nécessité qu'il faut alors le générer.

Commencez par vérifier qu'aucune ancienne sauvegarde de votre fichier xorg.conf n'existe :
ls -l /etc/X11/

Si vous voyez un fichier dont le nom commence par xorg.conf, avec une extension supplémentaire comme .old, .bak, .anc, etc., il peut s'agir d'une ancienne sauvegarde. Vous pouvez alors essayer de la restaurer et d'en repartir pour la suite du tutoriel. Sinon, voyez la section "Comment régénérer un nouveau fichier xorg.conf ?".

Sauvegarde du fichier

Pour ne pas être perdu en cas de catastrophe, on commence par faire une sauvegarde du fichier de configuration xorg.conf (s'il existe déjà, bien sûr, sinon sautez cette section).

Depuis un terminal, saisir la commande suivante:

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak

En cas d'échec de vos tentatives de configuration, vous pourrez alors rétablir votre configuration graphique précédente en restaurant votre fichier xorg.conf.bak avec la commande :

sudo cp /etc/X11/xorg.conf.bak /etc/X11/xorg.conf
En cas de besoin vous pourrez restaurer le fichier de sauvegarde depuis le recovery mode

Ouverture du fichier

Éditez avec les droits d'administration le fichier /etc/X11/xorg.conf.

Votre éditeur de texte classique n'est pas pensé pour se lancer avec sudo !

Si votre affichage fonctionne à peu près, vous pouvez utiliser par exemple

gedit admin:///etc/X11/xorg.conf

Sinon, quand il n'y a pas d'interface graphique utilisable, un éditeur en mode console est à privilégier.

Modifier ce qui ne va pas

Voir paragraphes suivants pour les explications.

(Re)démarrer Xorg

Régénérer un nouveau fichier xorg.conf

Si vous possédez déjà un fichier xorg.conf dans /etc/X11, vous pouvez commencer par en faire une sauvegarde.

Ceci fait, commencez par basculer en mode console (avec Ctrl+Alt+F3 par exemple) puis stoppez le service graphique :

- Avec Ubuntu [:trusty|14.04]] :

sudo service lightdm stop

- Avec les versions plus récentes : (FIXME mettre l'équivalent avec systemd et gdm3, mais renseigner aussi les gens qui n'utilisent pas gdm3)

Si vous ne parvenez pas à arrêter correctement le service, vous pouvez alternativement effectuer la manipulation depuis le mode récupération.

Ce mode vous sera peut-être utile pour supprimer votre fichier xorg.conf (et éventuellement restaurer une ancienne sauvegarde) s'il s'avère que suite à cette manipulation votre affichage ne veut plus démarrer.

Générez le fichier xorg.conf.new par la commande :

sudo X -configure

Si cette commande n'est pas reconnue, essayez avec :

sudo Xorg -configure

S'assurer de la présence du fichier par la commande suivante :

ls -l /etc/X11

qui liste le répertoire /etc/X11, dans lequel doit apparaître le fichier nouvellement généré xorg.conf.new

Copiez ensuite le fichier nouvellement généré à l'endroit approprié :

sudo cp ~/xorg.conf.new /etc/X11/xorg.conf

Relancez enfin le service graphique :

- Avec Ubuntu [:trusty|14.04]] :

sudo service lightdm start

- Avec les versions plus récentes : (FIXME mettre l'équivalent avec systemd et gdm3, mais renseigner aussi les gens qui n'utilisent pas gdm3)

Le fichier se compose de plusieurs sections. La section ayant le plus haut-niveau est "ServerLayout" :

Section "ServerLayout"
    Identifier    "Default Layout"
    Screen        "Ecran"
    InputDevice   "Generic Keyboard"
    InputDevice   "Configured Mouse"
EndSection

Cette section est dépendante des autres sections, comme ce schéma peut le résumer :

Principe du fichier xorg.conf

En résumé, s'il y a une donnée incorrecte à un endroit ou un autre, X.org affiche un message d'erreur de couleur bleue (cf. plus bas).

Plutôt qu'un seul fichier xorg.conf contenant toutes les sections, chacune est dispatchée en multiples sous-fichiers, soit dans /etc/X11/xorg.conf.d/. (faire $ locate xorg.conf pour les trouver )

Voici un fichier Xorg basique :

# /etc/X11/xorg.conf (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the /etc/X11/xorg.conf manual page.
# (Type "man /etc/X11/xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
#   sudo dpkg-reconfigure -phigh xserver-xorg

Section "Files"
    FontPath    "/usr/share/X11/fonts/misc"
    FontPath    "/usr/share/X11/fonts/cyrillic"
    FontPath    "/usr/share/X11/fonts/100dpi/:unscaled"
    FontPath    "/usr/share/X11/fonts/75dpi/:unscaled"
    FontPath    "/usr/share/X11/fonts/Type1"
    FontPath    "/usr/share/X11/fonts/100dpi"
    FontPath    "/usr/share/X11/fonts/75dpi"
    # path to defoma fonts
    FontPath    "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection

Section "Module"
    Load    "i2c"
    Load    "bitmap"
    Load    "ddc"
    Load    "dri" ## direct rendering
    Load    "extmod"
    Load    "freetype"
    Load    "glx" ## client GLX pour OpenGL
    Load    "int10"
    Load    "type1"
    Load    "vbe"
EndSection

Section "InputDevice"
    Identifier    "Generic Keyboard"
    Driver        "kbd"
    Option        "CoreKeyboard"
    Option        "XkbRules"    "xorg"
    Option        "XkbModel"    "pc105"
    Option        "XkbLayout"    "fr"  # "fr-oss" pour Feisty et +
    Option        "XkbVariant"    "latin9"
EndSection

Section "InputDevice"
    Identifier    "Configured Mouse"
    Driver        "mouse"
    Option        "CorePointer"
    Option        "Device"        "/dev/input/mice"
    Option        "Protocol"        "ExplorerPS/2"
    Option        "ZAxisMapping"        "4 5"
    Option        "Emulate3Buttons"    "true"
EndSection


Section "Device"
    Identifier    "Carte"
    Driver        "vesa" ## nv pour les NVIDIA (libre), ati pour les ATI (libre).
    BusID        "PCI:1:0:0"
EndSection


Section "Monitor"
    Identifier    "Moniteur"
    Option        "DPMS"
##    HorizSync    31-60 ## selon vos valeurs, n'est pas toujours nécessaire.
##    VertRefresh    47.5-125
EndSection


Section "Screen"
    Identifier    "Ecran"
    Device        "Carte"
    Monitor        "Moniteur"
    DefaultDepth    24
    SubSection "Display"
        Depth        16
        Modes        "1024x768" "800x600" "640x480" 
    EndSubSection
    SubSection "Display"
        Depth        24
        Modes        "1024x768" "800x600" "640x480"
    EndSubSection
EndSection

Section "ServerLayout"
    Identifier    "Default Layout"
    Screen        "Ecran"
    InputDevice   "Generic Keyboard"
    InputDevice   "Configured Mouse"
EndSection

Que faire en cas de résolution trop grande pour l'écran?

Pour tout le système

Si, dès le lancement de l'interface graphique, vous ne pouvez plus rien voir sur votre écran car celui-ci ne supporte pas une trop grande résolution, ouvrez une console puis modifier avec les droits d'administration le fichier /etc/X11/xorg.conf pour rajouter une sous section Display à la section Screen comme dans le fichier exemple.

/etc/X11/xorg.conf
Section "Screen"
        Identifier      "Default Screen"
        DefaultDepth    24
    SubSection "Display"
        Depth        16
        Modes        "1024x768" "800x600" "640x480" 
    EndSubSection
    SubSection "Display"
        Depth        24
        Modes        "1024x768" "800x600" "640x480"
    EndSubSection
EndSection

Pour un seul utilisateur

D'après ce sujet du forum, sous Ubuntu 12.10, ce fichier permet également de paramétrer les différents écrans dans le cas d'une configuration multi-écran

La configuration de l'écran est gérée par l'utilisateur et est défini dans le fichier ~/.config/monitors.xml 1).

Il suffit d'éditer ce fichier pour forcer une résolution et un rafraîchissement. Par exemple

<configuration>
      <clone>no</clone>
      <output name="default">
          <vendor>???</vendor>
          <product>0x0000</product>
          <serial>0x00000000</serial>
          <width>1024</width> # Largeur de l'écran
          <height>768</height> # Hauteur de l'écran
          <rate>60</rate> #taux de rafraichissement (Hz)
          <x>0</x>
          <y>0</y>
          <rotation>normal</rotation>
          <reflect_x>no</reflect_x>
          <reflect_y>no</reflect_y>
      </output>
  </configuration>
</monitors>

Que faire en cas d'écran bleu parlant de "Xorg.0.log" ?

Votre configuration de Xorg pose problème. Remettez une ancienne version du fichier xorg.conf. Si vous voulez avoir un semblant d'explication, vous pouvez lire le fichier /var/log/Xorg.0.log, par exemple avec la commande :

less /var/log/Xorg.0.log

Que faire si une mise à jour entraîne écran d'erreur, perte de l'accélération graphique, retour au login ?

Ça peut être un problème dû à xserver-xorg-core et notamment après la mise à jour d'un noyau. Regardez le forum mais généralement:

Les symptômes:

  • Impossible de lancer le serveur x (d'où l'écran bleu mettant en cause les pilotes graphiques)
  • Retour à la page de login au lancement d'une application 3D (Beryl, compiz, jeu, etc.)

Solution: réinstaller vos pilotes graphiques. Si dans vos mises à jour vous voyez xserver-xorg-core, il FAUT réinstaller les pilotes si le serveur X plante.

Comment calibrer l'écran ?

Référez-vous à l'article dédié : Argyll CMS

Gestion de l'énergie des écrans DPMS

Il faut d'abord s'assurer d'avoir le paquet x11-xserver-utils d'installé.

Vous pouvez visionner l'état de la gestion de l'énergie DPMS (VESA Display Power Management Signaling) avec la commande :

export DISPLAY=:0
sudo xset -q

Pour activer la gestion d'énergie DPMS :

export DISPLAY=:0
sudo xset +dpms

Pour désactiver la gestion d'énergie DPMS

export DISPLAY=:0
sudo xset -dpms

Pour désactiver l'économiseur d'écran :

export DISPLAY=:0
sudo xset s off

Pour activer l'économiseur d'écran dans 200s :

export DISPLAY=:0
sudo xset s 200 

Pour régler la mise en veille de l'écran : xset dpms "Désactivé l'affichage = 200s" "En économie d'énergie = 400s" "Éteindre = 800s"

export DISPLAY=:0
sudo xset dpms 200 400 800 

Pour obliger la désactivation de l'affichage :

export DISPLAY=:0
sudo xset dpms force standby

Pour obliger la mise en économie d'énergie :

export DISPLAY=:0
sudo xset dpms force suspend

Pour éteindre l'écran :

export DISPLAY=:0
sudo xset dpms force off
Pour réactiver remplacer force off par force on

Alternatives

Serveurs virtuels

FIXME utile?

  • Xnest
  • xephyr
  • xoo

Divers


Contributeurs : adam0509, Acp, Boris Le Hachoir, Sponge Bob


1)
le tilde ~ représentant votre Dossier Personnel
  • xorg.txt
  • Dernière modification: Le 07/01/2020, 01:43
  • (modification externe)