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
- MPS/2 Pour les
souris 3 boutons avec roulette qu'elles soient PS/2 ou USB.
- 8. ExplorerPS/2
Pour les souris avec plus de 3 boutons et avec roulette.
- 4. PS/2 Pour
les souris 2 boutons qu'elles soient PS/2 ou USB.
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).
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