Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !


Problèmes fréquents avec Xorg sous Ubuntu 8.10

Sous ubuntu 8.10, la détection du matériel graphique est "automatisé". Cela ne veut pas dire que les précédentes versions d'ubuntu était incapables de paramétré le serveur X (serveur graphique par défaut de Ubuntu). Cependant, vous constaterez la différence si vous ouvrez le fichier /etc/X11/xorg.conf :

# xorg.conf (X.Org 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 xorg.conf manual page.
# (Type "man 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 "Monitor"
    Identifier    "Configured Monitor"
EndSection

Section "Screen"
    Identifier    "Default Screen"
    Monitor       "Configured Monitor"
    Device        "Configured Video Device"
EndSection

Section "ServerLayout"
    Identifier    "Default Layout"
    Screen        "Default Screen"
EndSection

Section "Device"
    Identifier      "Configured Video Device"
EndSection

Peut être aurrez vous la chance d'avoir quelques "InputDevice" qui ne servent en définitive pas à grand chose car il ne seront pas appellé au final par le ServerLayout.

Cependant, pour certain d'entre vous, cette dite "auto-détection" va vite tourner au vinaigre : Absence de 3D, interface lente, le serveur X qui ne se lance pas (une ligne de commande dès le démarrage à la place du GDM). Bref, une galère !

Et bien réjouissez vous, pour que ubuntu 8.10 prennes vos paramètres en considération, il va falloir les enregistrer… …manuellement 8-O dans le fichier de configuration XORG (un comble).

Les raisons des problèmes que vous rencontrez peuvent être multiples :

  • Double carte graphique (vous avez deux cartes graphique, ubuntu est dans ce cas incapable de localiser votre écran)
  • Écran non détecté par Ubuntu
  • Drivers graphiques défaillant
  • … (ajoutez ici vos autres problèmes)

Dans de nombreux cas, résulte une erreur de ce type :

Fatal server error
no screen found
giving up
Xinit: connection refused (errno 111): unable to connect to xserver
Xinit: no such process (errno 3): server error

Et au final, vous n'avez même pas d'interface graphique. Bref, on est mal parti !:-|

Cependant, il y a une solution à tous ces maux (croyez moi, mon ordinateur à cumulé les tares pour ubuntu 8.10 : une double carte graphique, un écran dell non détecté automatiquement).

Vous avez téléchargé ubuntu 8.10, gravé, booté, et là, au lieux d'avoir le bureau qui se lance, vous vous trouvez au final face à un terminal :

ubuntu@ubuntu:~$

Vous vous dites alors que ça commence très mal et vous auriez raison si il n'y avais pas cette page de documentation ;-). Il y a donc de forte chance que votre configuration graphique ne soit pas correctement détecté par Ubuntu 8.10 (zut :-( ). Pour en avoir le coeur net, tentez de lancer le serveur X par la commande suivant :

startx

Si vous vous trouvez, après une minute d'attente (ou même plus) face à un message de ce type, c'est bien le serveur X qui n'est pas configuré :

Fatal server error
no screen found
giving up
Xinit: connection refused (errno 111): unable to connect to xserver
Xinit: no such process (errno 3): server error

Le message peut varier. La constante réside cependant dans la présence récurrente du mot Xserveur ou Xorg dans les messages d'erreurs.

Préparer sa configuration

Bien, il va donc falloir préparer sa configuration manuellement. Dans un premier temps, il vous faut connaitre :

  • Votre/vos modèle(s) de carte(s) graphique(s) présente(s) dans votre ordinateur
  • Votre/vos modèle(s) d'écran connecté(s) à votre/vos carte(s) graphique(s)

Démarrez donc un système qui fonctionne (live CD ubuntu 8.04 par exemple) et lancez un éditeur de texte. Nous allons créer notre fichier de configuration xorg.

Les cartes graphiques

Paramétrons notre/nos cartes graphiques. Nous allons d'abord aller à la pèche aux informations de ce matériel. Je part du principe que vous utiliser un système linux sur l'ordinateur sur lequel vous souhaitez installer ubuntu 8.10 (le live cd ubuntu 8.04 fonctionne très bien). Repérez les ports sur lesquels votre/vos carte(s) graphique(s) est/sont connectée(s) :

lspci | grep "VGA"

Cette commande doit vous retourner une ou plusieurs valeur de ce type (en fonction du nombre de vos cartes graphiques) :

01:00.0 VGA compatible controller: nVidia Corporation GeForce 8800 GT (rev a2)
06:00.0 VGA compatible controller: nVidia Corporation GeForce 8800 GT (rev a2)

J'ai donc deux carte graphique Nvidia GeForce 8800 GT. La première est connecté au port PCI 1:0:0 et la seconde sur le port 6:0:0.

Je vais donc pouvoir commencer à rédiger mon fichier (plutôt qu'une longue explication, un exemple). Essayez de renseigner un maximum d'information pour que le système puisse connaitre au mieux votre configuration.

Section "Device"
    Identifier      "0 Carte graphique"
    Driver          "nvidia"
    VendorName      "NVIDIA Corporation"
    BoardName       "GeForce 8800 GT"
    BusID           "PCI:6:0:0"
EndSection

Section "Device"
    Identifier      "1 Carte graphique"
    VendorName      "NVIDIA Corporation"
    BoardName       "GeForce 8800 GT"
    BusID           "PCI:1:0:0"
EndSection
Si vous avez plus d'une carte graphique, les valeurs de "Identifier" doivent être différentes pour chaque carte (dans mon cas, je les ai numéroté de 0 à 1)
J'ai volontairement utilisé le driver propriétaire Nvidia pour minimiser au maximum les risques d'incompatibilité.
Les écrans

Peut être que paramétrer les cartes graphique sera suffisant pour démarrer le système (notamment en spécifiant le 'BusID'). Cependant, je vous conseil d'enregistrer aussi les informations propre à votre écran pour mettre le maximum de chance de votre coté.

Dans mon cas, mon écran est un DELL E228WFP 22 pouces. Il pause problème car il n'est pas correctement détecté sous les distribution linux. Il faut bien souvent le paramétré soit même (sauf dans ubuntu 8.04).

Les valeurs que vous devez connaitre sur votre écran sont le taux de balayage horizontal et vertical. Si ce n'est pas le cas, rendez vous sur le site du constructeur. Ces valeurs sont spécifié en kHz et Hz.

Dans mon cas, il m'a suffit de faire une recherche sur le site de DELL pour trouver les spécificité technique de mon écran : http://support.euro.dell.com/support/edocs/monitors/E228WFP/Fr/ug/about.htm#Specifications . Voici donc les valeurs pour un écran DELL E228WFP :

  • Limites de balayage horizontal : 30 kHz à 83 kHz (automatique)
  • Limites de balayage vertical : 56 Hz à 75 Hz (automatique)
Dans ce genre de situation, vous apprécierez surement d'avoir un écran d'une marque qui assure un minimum de service. Les sous-marques sont peut être un peut moins chère mais en plus de baisser sur la qualité et la durabilité, elles n'assures bien souvent aucun service. Dans mon cas, il m'a fallut deux minute pour trouver les deux informations précédentes.

A partir de là, je peut ajouter la section "monitor" à mon fichier :

Section "Monitor"
    Identifier    "Moniteur"
    Option        "DPMS"
    HorizSync     30-83
    VertRefresh   56-75
EndSection
Dans le cas ou vous avez plusieurs écrans, ajoutez autant de section "Monitor" que vous avez d'écran. Pour chacun d'eux, entrez une valeur différente pour "Indentifier"
Relier les cartes graphiques et les écrans

Maintenant que les écrans et les cartes graphiques sont paramétrés, il va falloir les connecté. C'est à dire, indiquer au serveur X que tel écran est relié à tel carte graphique (notez que si vous avez un seul écran et une seul carte graphique, cela sera assez simple ;-) ). Pour cela, on utilise les section "screen".

Si vous avez plusieurs cartes graphiques ou/et plusieurs écrans, vous devez parvenir à connaître sur quelle carte est relié quel écran ( FIXME si quelqu'un connait une commande qui le permet, fait le savoir ici). Une fois que l'on à ces information, il suffit de connecter les écran et les cartes ainsi :

Section "Screen"
    Identifier    "Ecran"
    Monitor       "Moniteur"           #Quel écran (l'identifier de l'écran)
    Device        "1 Carte graphique"  #Quelle carte graphique (l'identifier de la carte graphique sur laquelle l'écran est connecté)
EndSection
Si vous n'avez qu'un écran et qu'une carte graphique, la question ne se pose pas : il est forcément relié à la carte. Pour les information "Monitor" et "Device", vous devez spécifier l'identifiant (Identifier) du moniteur et de la carte

Mais attention, ça n'est pas tout :!: Il faut maintenant paramétrer les différentes résolutions de chaque écran. Pour cela, je vous propose d'utiliser la ressources type suivantes et de remplacer juste les résolutions de mon écran par celles de votre écran (ne changez pas les valeurs Depth). Ces informations se trouve bien entendu sur le site du constructeur de votre écran ou dans la documentation fournie avec. Ainsi, dans mon cas, la section "Screen" se transforme en :

Section "Screen"
    Identifier    "Ecran"
    Monitor       "Moniteur"           #Quel écran (l'identifier de l'écran)
    Device        "1 Carte graphique"  #Quelle carte graphique (l'identifier de la carte graphique sur laquelle l'écran est connecté)
    DefaultDepth    24
    SubSection "Display"
        Depth        1
        Modes        "1680x1050" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection "Display"
        Depth        4
        Modes        "1680x1050" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection "Display"
        Depth        8
        Modes        "1680X1050" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection "Display"
        Depth        15
        Modes        "1680x1050" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection "Display"
        Depth        16
        Modes        "1680x1050" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection "Display"
        Depth        24
        Modes        "1680x1050" "1024x768" "800x600" "640x480"
    EndSubSection
EndSection
Tout connecter

Maintenant que nous avons tout paramétrer, il ne nous reste plus qu'à indiquer au serveur X de charger ce qu'on veux. Pour cela on va utiliser la section "ServerLayout" :

Section "ServerLayout"
    Identifier    "Default Layout"
    Screen        "Ecran"
EndSection

En fait, on appel juste l'écran qui lui appel le moniteur et la carte graphique.

Quelques modules

Pour vous assurer du bon fonctionnement de X, ajouter quelques modules à votre fichier :

Section "Module"
    Load    "i2c"
    Load    "bitmap"
    Load    "ddc"
    Load    "extmod"
    Load    "freetype"
    Load    "glx"
    Load    "int10"
    Load    "vbe"
EndSection
Le fichier xorg.conf final

Au final, notre fichier xorg.conf doit ressembler à ça :

Section "Device"
    Identifier      "0 Carte graphique"
    Driver          "nvidia"
    VendorName      "NVIDIA Corporation"
    BoardName       "GeForce 8800 GT"
    BusID           "PCI:6:0:0"
EndSection

Section "Device"
    Identifier      "1 Carte graphique"
    VendorName      "NVIDIA Corporation"
    BoardName       "GeForce 8800 GT"
    BusID           "PCI:1:0:0"
EndSection


Section "Monitor"
    Identifier    "Moniteur"
    Option        "DPMS"
    HorizSync     30-83
    VertRefresh   56-75
EndSection


Section "Screen"
    Identifier    "Ecran"
    Monitor       "Moniteur"           #Quel écran (l'identifier de l'écran)
    Device        "1 Carte graphique"  #Quelle carte graphique (l'identifier de la carte graphique sur laquelle l'écran est connecté)
    DefaultDepth    24
    SubSection "Display"
        Depth        1
        Modes        "1680x1050" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection "Display"
        Depth        4
        Modes        "1680x1050" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection "Display"
        Depth        8
        Modes        "1680X1050" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection "Display"
        Depth        15
        Modes        "1680x1050" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection "Display"
        Depth        16
        Modes        "1680x1050" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection "Display"
        Depth        24
        Modes        "1680x1050" "1024x768" "800x600" "640x480"
    EndSubSection
EndSection


Section "ServerLayout"
    Identifier    "Default Layout"
    Screen        "Ecran"
EndSection


Section "Module"
    Load    "i2c"
    Load    "bitmap"
    Load    "ddc"
    Load    "extmod"
    Load    "freetype"
    Load    "glx"
    Load    "int10"
    Load    "vbe"
EndSection

Enregistrer le fichier sur une clef usb sous le non de xorg.conf.

Ce document est en cour d'élaboration.
  • problemes_xorg_ubuntu_810.1225938310.txt.gz
  • Dernière modification: Le 06/11/2008, 03:25
  • par therebirthed