X-Window - X.org


Le Système X Window System ( ou x11) est à la fois :
    -- un serveur X réseau qui permet d'envoyer les écrans sur des applications s'executants sur le serveur mais affichés sur une autre machine avec une architecture différente ( Windows, MacOS.. )
    -- des clients X, qui sont composés de gestionnaires de fenetres ( Window Manager soit wm ) qui affiche les boutons, titre de fenêtres etc..
et par dessus, l'environnement de bureau ( desktop comme KDE ou GNOME . Ce dernier se connecte au serveur X à travers un Display Manager ( xdm, kdm pour KDE, gdm pour GNOM ). Les X Clients sont tout simplement les logiciels, qui demandent au X Server d’afficher des graphiques.

Il existe deux gros projets X-Window : XFree86 ( en déclin ) et X.org ( qui commence à remplacer XFree ).

Installation de x.org

apt-get install xserver-xorg ( on laisse apt-get gérer les dépendances ).
Il devrait ensuite vous être demandé des informations sur votre configuration afin de générer le fichier de configuration de x.org ( /etc/X11/xorg.conf )

Cette partie de configuration peut-être refaite en lançant : xorgconfig

x.org créé un fichier de configuration /etc/X11/xorg.conf
Ce fichier fonctionne sous forme de sections

# /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 commands:
#
#   cp /etc/X11/xorg.conf /etc/X11/xorg.conf.custom
#   sudo sh -c 'md5sum /etc/X11/xorg.conf >/var/lib/xfree86/xorg.conf.md5sum'
#   sudo dpkg-reconfigure xserver-xorg

Section "Files"
        FontPath        "unix/:7100"                    # local font server
        # if the local font server has problems, we can fall back on these
        FontPath        "/usr/lib/X11/fonts/misc"
        FontPath        "/usr/lib/X11/fonts/cyrillic"
        FontPath        "/usr/lib/X11/fonts/100dpi/:unscaled"
        FontPath        "/usr/lib/X11/fonts/75dpi/:unscaled"
        FontPath        "/usr/lib/X11/fonts/Type1"
        FontPath        "/usr/lib/X11/fonts/CID"
        FontPath        "/usr/lib/X11/fonts/100dpi"
        FontPath        "/usr/lib/X11/fonts/75dpi"
        # paths to defoma fonts
        FontPath        "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
        FontPath        "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"
EndSection
Cette Section Files définit chemin où se trouvent les ressources que le serveur X peuvent utiliser.
Ces ressources comprennent les polices de caractères, l'emplacement des modules complémentaires et l'emplacement des fichiers de définitions de couleurs.

Section "Module"
        Load    "bitmap"
        Load    "dbe"
        Load    "ddc"
        Load    "dri"
        Load    "extmod"
        Load    "freetype"
        Load    "glx"
        Load    "int10"
        Load    "record"
        Load    "type1"
        Load    "vbe"
EndSection

Descriptif des principaux modules

Le module bitmap pour la prise en charge des polices bitmap (*.bdf ; *.pcf ; *.snf)  
Le module type1 pour les polices de types Type1 (*.pfa ; *.pfb)  
Le module xtt qui prend en charge les polices TrueType pour les langues asiatiques   (*.ttf ; *.ttc)
Le module freetype qui prend en charge les polices TrueType avec les langues latines et le support de polices avec anti-aliasing  (*.ttf ; *.ttc)  
Le module speedo pour les polices Bitstream Speedo (*.spd)  
Le module cid pour les polices ADOBE (*.pfa ; *.pfb)  


Le module dri (Direct Rendering Infrastructure) est un système permettant au serveur X d'accéder au matériel, et ce d'une manière sûre sans que des données passe à travers le serveur. Ce dernier doit être compilé au niveau du noyau. Il permet aussi l'accélération logiciel par les bibliothèques MESA.
Le module ddc (Data Display Channel) permet au moniteur de communiquer ses caractéristiques à la carte graphique  
Le module xaa (XFree86 Acceleration Architecture) permet l'accélération matériel pour les cartes 2D
Le module dbe (Double Buffer Extension), il est utile pour les opérations d'animations et de vidéo puisqu'il permet l'utilisation d'un plus grand buffer.
Le module drm (Direct Rendering Manager) : est un module qui permet la sécurisation d'accès au matérial par DRI. Il contient aussi des contrôle pour empécher le crash du matériel. Ce module doit être compilé dans la noyau.
module GLCore : chargé de la prise en charge d'OpenGL
module int10 : Ce module est util, si vous possédez plusieurs cartes graphiques car il permet d'initialiser par le BIOS plusieurs cartes graphiques. Le bios n'en initialisant qu'une seule au démarrage.
Le module vbe (VESA BIOS Extensions ) permet de récupérer du bios les informations relatives à la carte graphique.

/usr/X11R6/lib/modules/

Section "InputDevice"
        Identifier      "Generic Keyboard"
        Driver          "keyboard"
        Option          "CoreKeyboard"
        Option          "XkbRules"      "xorg"
        Option          "XkbModel"      "pc105"
        Option          "XkbLayout"     "fr-latin9"
EndSection
Cette section InputDevice définit la configuration du clavier.
L'identifiant du clavier avec Identifier
Le driver du clavier avec Driver
le model du clavier qui définit le nombre de touche avec l'option XkbModel
Le code de langue de clavier avec l'option XkbLayout

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

Cette section InputDevice définit la configuration de la souris ( ici une souris optique Microsoft 3 boutons ).
On identifie la souris par l'option Identifier
Le périphérique USB avec l'option Device ici /dev/input/mice pour une souris USB, pour une PS/2 on aura /dev/mouse
Le protocol ImPS/2 pour les souris à 3 bouton en positionnant Emulate3Buttons sur true Section "Device"
        Identifier      "NVIDIA Corporation NV28 [GeForce4 Ti 4800 SE]"
        Driver          "nv"
        BusID           "PCI:1:0:0"
EndSection

Cette partie Device définit les propriétés de la carte graphique. Ici on a :
l'identifiant Identifier de la carte graphique
Le drivers Driver utilisé pour la carte graphique, ici c'est les drivers propriétaire nvidia.
Enfin BusID doit être positionné par les valeurs renvoyées par la commande lspci | grep VGA
0000:01:00.0 VGA compatible controller: nVidia Corporation NV28 [GeForce4 Ti 4800 SE] (rev a1)
Soit 0000:0X:0Y.Z VGA compatible controller: nVidia Corporation NV28 [GeForce4 Ti 4800 SE] (rev a1) donc BusID "PCI:X:Y:Z" 

Section "Monitor"
        Identifier      "Écran générique"
        Option          "DPMS"
        HorizSync       30-100
        VertRefresh     50-100
        Modeline "1280x960"    148.50   1280 1320 1480 1728    960  961  964 1011 +hsync +vsync
EndSection

La section monitor permet de définir les informations sur le moniteur utilisé.
On l'identifie toujours avec l'option Identifier
Si le monitor est compatible DPMS, la ligne Option  "DPMS" doit apparaitre.
DPMS est une norme qui définit divers modes d'économie d'énergie. Ces modes sont "Normal", "Standby", "Suspend" and "Off"
Les options HorizSync et VertRefresh définient les fréquences de balayages horizontales et verticales. Ces informations sont fournies dans le manuel du moniteur. Si vous mettez des valeurs trop élévées pour votre moniteur, le serveur X démarrera mais l'image sera illisible.
Enfin Modeline vous permet de définir entre autre la position de l'image sur votre écran, cela peut arriver qu'il y est un décallage.
Utilisez xvidtune afin de positionner votre image et obtenir les bonnes valeurs des Modeline (voir plus bas).

Section "Screen"

        Identifier      "Default Screen"
        Device          "NVIDIA Corporation NV28 [GeForce4 Ti 4800 SE]"
        Monitor         "Écran générique"
        DefaultDepth    24
        SubSection "Display"
                Depth           1
                Modes           "1280x960" "1024x768" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           4
                Modes           "1280x960" "1024x768" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           8
                Modes           "1280x960" "1024x768" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           15
                Modes           "1280x960" "1024x768" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           16
                Modes           "1280x960" "1024x768" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           24
                Modes           "1280x960" "1024x768" "800x600" "640x480"
        EndSubSection
EndSection

Enfin la section Screen définit l'affichage. On retrouvera ici les informations fournies plus haut sur la carte graphique et le monitor utilisés.
On définit l'identifiant par Identifier
L'option Device  permet de choisir la carte graphique qui sera utilisée, on doit bien sûr utilisé un identifiant spécifiée dans la section Device, sous peine d'avoir une erreur au démarrage du serveur.
De même, on spéficie à l'aide de l'option Monitor le moniteur qui sera utilisée toujours via l'identifiant définit dans la section Monitor
Enfin DefaultDepth permet de choisir dans les sous-section que l'on définit, la résolution qui sera utilisée. 24 étant le nombre de couleurs en bits par pixel.

Sachez que vous pouvez régler l'affichage de l'image ( si elle est mal callée sur l'écran ) avec l'utilitaire xvidtune
En cliquant sur Left ou Right, vous pouvez décaller l'image vers la droite ou la gauche. Le bouton Apply applique les décallages.
Afin de ne pas à avoir à faire ces manipulations à chaque redémarrage du serveur X. Cliquez sur le bouton Show vous obtenez alors les valeurs des Modelines à insérer dans la section Monitor (voir plus haut).
Caputre de xvidtune qui permet de caller l'image sur X

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

Enfin la section ServerLayout lie les périphériques d'entrée et sortie
Elle reprend touts les identifiants que l'on a définit. Vous devez avoir au minimum le clavier et la souris.

Section "DRI"
        Mode    0666
EndSection

Voici les paramètres communs à une section DRI - Pour plus d'informations reportez-vous au site officiel : http://dri.sourceforge.net.

Le serveur X se lance par la commande startx, mais vous pouvez utiliser un Display Manager.

Installation du Display Manager

Le Display manager est le daemon qui va vous permettre de vous connecter au serveur X.
Il vous demande entre autre votre utilisateur et votre mot de passe.
Par défaut, xdm est installé. Il existe kdm pour le projet KDE et gdm pour le projet GNOME

Il s'installe par apt-get et étant un daemon il se charge au démarrage de la machine.
Vous devez donc changer les liens symboliques dans /etc/rcX.d pour choisir celui que vous voulez utiliser.
Vous pouvez le faire avec l'utilitaire update-rc.d

Les Drivers Nvidia

Si vous avez un noyau précompilé, vous avez besoin d'avoir le package source et header de votre noyau d'installé.
Pour connaitre la version de votre noyau, utilisez la commande uname -a

Ensuite, un simple :
sudo apt-get install kernel-source-version_retournee linux-headers-version_retournee

Faire un lien symbolique des sources du noyau vers /usr/src/linux,
par exemple : ln -s /usr/src/linux.6-1 /usr/src/linux
Vous pouvez aussi vérifier la version de GCC en regardant vers quel binaire le lien symbolique un lien symbolique de /usr/bin/gcc pointe. Il suffit alors de le supprimer et le recréer, ex : ln -s /usr/bin/gcc-3.3 /usr/bin/gcc

Et enfin lancez le programme d'installation : sh NVIDIA-Linux-x86-1.0-4496-pkg2.run

Problème rencontré sur la distribution Ubuntu :

J'ai installé les drivers nvidia NVIDIA-Linux-x86-1.0-8174-pkg1.run
à chaque redémarrage, j'avais une erreur au lancement du serveur X et je devais réinstaller les drivers Nvidia pour pouvoir lancer X.

Voici les logs d'erreur :

Dec 15 09:25:42 ubuntu gdm[8185]: deal_with_x_crashes : exécution du script XKeepsCrashing
Dec 15 09:26:13 ubuntu gdm[8185]: Échec du démarrage du serveur X plusieurs fois en peu de temps ; désactive pour le visuel :0
Dec 15 09:27:07 ubuntu kernel: [4295183.241000] ACPI: PCI interrupt for device 0000:01:00.0 disabled
Dec 15 09:27:12 ubuntu kernel: [4295188.249000] ACPI: PCI Interrupt 0000:01:00.0[A] -> GSI 16 (level, low) -> IRQ 16
Dec 15 09:27:12 ubuntu kernel: [4295188.250000] NVRM: loading NVIDIA Linux x86 NVIDIA Kernel Module  1.0-7667  Fri Jun 17 07:01:04 PDT 2005
Dec 15 09:27:15 ubuntu kernel: [4295191.426000] NVRM: RM/client version mismatch!!
Dec 15 09:27:15 ubuntu kernel: [4295191.426000] NVRM:    aborting to avoid catastrophe!
Dec 15 09:27:16 ubuntu gdm[8360]: gdm_slave_xioerror_handler : erreur X fatale - Redémarrage de :0
Dec 15 09:27:20 ubuntu kernel: [4295195.617000] NVRM: RM/client version mismatch!!
Dec 15 09:27:20 ubuntu kernel: [4295195.617000] NVRM:    aborting to avoid catastrophe!
Dec 15 09:27:21 ubuntu gdm[8379]: gdm_slave_xioerror_handler : erreur X fatale - Redémarrage de :0
Dec 15 09:27:24 ubuntu kernel: [4295199.805000] NVRM: RM/client version mismatch!!
Dec 15 09:27:24 ubuntu kernel: [4295199.805000] NVRM:    aborting to avoid catastrophe!
Dec 15 09:27:25 ubuntu gdm[8397]: gdm_slave_xioerror_handler : erreur X fatale - Redémarrage de :0
Dec 15 09:27:25 ubuntu gdm[8359]: deal_with_x_crashes : exécution du script XKeepsCrashing
Dec 15 09:27:30 ubuntu gdm[8359]: Échec du démarrage du serveur X plusieurs fois en peu de temps ; désactive pour le visuel :0
Dec 15 09:27:41 ubuntu kernel: [4295216.805000] ACPI: PCI interrupt for device 0000:01:00.0 disabled

Pour que cela fonctionne, il faut désinstaller tous les packages "linux-restricted-modules"
utilisez la commande : sudo apt-get --purge remove linux-restricted-modules*

Retour à la page d'accueil
flux rss malekal.com - Sitemap - Geekeden - OxygenePC.com - Les partenaires du site McAfee you Suck