Votre fichier XF86Config
est maintenant prêt à fonctionner, à l'exception de la partie
contenant les informations sur la carte vidéo en elle-même. Nous allons utilisez le serveur X afin qu'il recherche lui-même les reste des informations à fournir, puis rentrer ces informations dans le fichier
XF86Config
.
Si vous désirez gagner du temps, les fichier modeDB.txt, AccelCards et Devices
contiennent les valeurs que fournira le serveur X pour de nombreuses cartes vidéo.
Ces fichiers se trouvent dans /usr/X11R6/lib/X11/doc
. Vous y trouverez aussi de
nombreux fichiers README
concernant la plupart des circuits vidéo.
Jettez un oeil sur ces fichiers, et utilisez les informations fournies
(valeurs des horloges et type de circuit) pour compléter le fichier XF86Config
.
Si certaines informations vous manquent, utilisez alors la fonction de recherche automatique
(probe
) du serveur X comme suit~:
Nous allons maintenant prendre comme exemple la configuration d'une carte vidéo #9 GXE 64
,
qui utilise le comme circuit XF86_S3
.
La première chose à faire est de déterminer le type de circuit vidéo de la carte.
Vous pouvez lancer SuperProbe
(situé dans /usr/X11R6/bin
) afin d'obtenir cette
information, mais il vous faudra quand même connaître le nom du circuit que le serveur X doit comprendre.
Pour cela, lancez~:
X -showconfig
Ceci vous donnera le nom du circuit connu par le serveur X.
Ici, pour un serveur XF86_S3
accéléré, nous obtenons~:
XFree86 Version 3.1 / X Window System
(protocol Version 11, revision 0, vendor release 6000)
Operating System: Linux
Configured drivers:
S3: accelerated server for S3 graphics adaptors (Patchlevel 0)
mmio_928, s3_generic
Les noms valides pour ce serveur sont mmio_928
et s3_generic
.
Le manuel de XF86_S3
décrit ces circuits et les cartes vidéo les utilisant.
Dans le cas de la #9 GXE 64
, mmio_928
est le plus approprié~:
Si vous ne savez pas lequel des noms de circuits utiliser, le serveur X peut le rechercher pour vous. Lancez la commande~:
X -probeonly > /tmp/x.out 2>&1
si vous utilisez bash
comme shell. Si vous utilisez csh
, essayez~:
X -probeonly &> /tmp/x.out
Vous devez lancer ces commandes avec un système non chargé, c'est à dire sans que vous fassiez tourner
d'autre programme sur votre système. Cette commande va aussi rechercher les fréquences par point
(dot clocks
), et l'existence d'une charge autre sur votre système peut perturber ce calcul.
Le résultat de cette commande a été mis dans le fichier /tmp/x.out
et doit contenir~:
XFree86 Version 3.1 / X Window System
(protocol Version 11, revision 0, vendor release 6000)
Operating System: Linux
Configured drivers:
S3: accelerated server for S3 graphics adaptors (Patchlevel 0)
mmio_928, s3_generic
...
(--) S3: card type: 386/486 localbus
(--) S3: chipset: 864 rev. 0
(--) S3: chipset driver: mmio_928
Ici, nous voyons que le serveur a recherché lequel des deux serveurs est le plus approprié
et a trouvé que le mmio_928
est celui qui convient le mieux.
Dans la section Device
du fichier XF86Config
, ajoutez la ligne
Chipset
contenant le nom du circuit le plus approprié. Nous mettons donc~:
Section "Device"
# Nous avons deja Identifier
Identifier "#9 GXE 64"
# Add this line:
Chipset "mmio_928"
EndSection
Il faut maintenant déterminer les féquences d'horloge utilisées par la carte vidéo. La fréquence point est le taux auquel la carte vidéo envoie les pixels au moniteur. Comme nous l'avons vu précédemment, une fréquence différente est associée à chaque résolution du moniteur.
Premièrement, jetez un oeil sur les fichiers (modeDB.txt, etc...
)
mentionnés plus haut et notez les fréquences données pour votre carte vidéo, si celles-ci sont mentionnées.
Ces fréquences sont généralement des listes de 8 ou 16 valeurs en Mhz.
Vous trouverez par exemple dans modeDB.txt
, une liste des fréquences pour
la Cardinal ET4000
~:
# circuit ram virtuel horloges default-mode flags
ET4000 1024 1024 768 25 28 38 36 40 45 32 0 "1024x768"
Les fréquences pour cette carte sont ici~: 25, 28, 38, 36, 40, 45, 32, and 0 MHz.
Dans la section Devices
du fichier XF86Config
, vous devez alors ajoutez
une ligne Clocks
contenant la liste de ces fréquences.
Ainsi dans notre exemple, nous ajoutons après Chipset
~:
Clocks 25 28 38 36 40 45 32 0
ATTENTION: l'ordre de ces fréquences est important car ces valeurs sont ensuite associées aux diverses résolutions. Si vous ajoutez ou retirez une de ces valeurs, vous modifierez cette correspondance.
Si vous ne trouvez pas la liste des fréquences correspondant à votre carte,
le serveur X pourra faire lui même les rechercher.
Pour cela, utlisez la commande X -probeonly
comme décrit ci-dessus.
La résultat ressemblera alors à~:
(--) S3: clocks: 25.18 28.32 38.02 36.15 40.33 45.32 32.00 00.00
Nous pouvons alors ajouter une ligne contenant les fréquences d'horloge (Clocks), comme ci-dessus.
Vous pouvez utilisez plus d'une ligne Clocks
dans le fichier XF86Config
au cas où toutes les
valeurs (il y a parfois plus de 8 fréquences différentes) ne tiendraient pas sur une seule ligne.
Encore une fois soyez sûr que les fréquences sont écrites dans le bon ordre.
De même, vérifiez qu'il n'y a pas de ligne Clocks
(à moins que celle-ci soit mise en commentaire) dans
la section Devices
du fichier quand vous utilisez X -probeonly
dans votre recherche des
fréquences. Si une ligne Clocks
est présente dans la section Devices
, le serveur ne cherchera pas les fréquences, mais utilisera ces valeurs.
Certaines cartes vidéo accélératrices utilisent un circuit d'horloge programmable (se référer au
manuel de XF86_Accel
pour de plus amples détails; ceci s'applique plus particulièrement aux cartes
S3, AGX et XGA-2). Ce circuit permet essentiellemnt au serveur X de spécifier à la carte la
fréquence par point (dot clock) à utiliser. Si tel est votre cas, alors vous ne pourrez trouver de
liste des fréquences d'horloges pour votre carte dans les fichiers cités plus haut. Ou bien, la
liste de fréquences que vous obtiendrez lors d'un X -probeonly
ne contiendra qu'une ou deux
valeurs discrètes, le reste étant des zéro ou des copies de ces valeurs.
Pour les cartes utilisant un circuit d'horloge programmable, vous devrez utiliser une ligne
ClockChip
au lieu de la ligne Clocks
, dans votre fichier XF86Config
. ClockChip donne le nom du
circuit programmable utilisé par votre carte vidéo; vous trouverez ce nom dans les pages du manuel
de chaque serveur. Par exemple, dans le fichier README.S3
, vous verez que de nombreuses cartes
vidéo S3-864
utilisent un circuit d'horloge ICD2061A
, et vous devrez utiliser cette valeur comme suit~:
ClockChip "icd2061a"
au lieu de la ligne Clocks
dans le fichier XF86Config
. Tout comme Clocks
, cette ligne doit se
trouver dans la section Devices
, après Chipset
.
De même, certaines cartes accélératrices nécessitent que vous précisiez le type de circuit RAMDAC
en utilisant une ligne Ramdac
dans le fichier XF86Config
. De même, vous trouverez ce nom dans les
pages du manuel de chaque serveur. Généralement, le serveur X détectera correctement le type de
RAMDAC.
Vous trouverez aussi certaines cartes nécessitant que vous spécifiez plusieurs options (on en
finira donc jamais) dans la section Devices
du fichier XF86Config
. Là encore, ces options se
trouvent dans les pages du manuel de chaque serveur, comme README.cirrus
ou README.S3
. Ces options
sont declarées actives par leur seule présence dans le fichier XF86Config
. Par exemple, la carte #9 GXE 64
nécessite deux options~:
Option "number_nine"
Option "dac_8_bit"
Généralement, le serveur X fonctionnera correctement sans ces options, mais elles sont
nécessaires si vous désirez améliorez vos performances. Il existe de très nombreuses
options autres que celles énumerées ici. Ces options permettent soit d'améliorer vos performances, soit sont spécifiques à une carte vidéo. Si vous désirez approfondir la configuration de votre serveur X, vous pouvez vous référer aux manuels des serveurs X, aux fichiers situés dans /usr/X11R6/lib/X11/doc
, ainsi qu'au meeeer-veil-leux Vidéo-HOWTO
.
Ainsi, une fois toutes ces options entrées, vous devez vous retrouverez avec une section
Devices
ressemblant à~:
Section "Device"
# Cette section est pour une carte #9 GXE 64 !
Identifier "#9 GXE 64"
Chipset "mmio_928"
ClockChip "icd2061a"
Option "number_nine"
Option "dac_8_bit"
EndSection
Vous noterez au passage que dans cet exemple la carte #9 GXE 64
utilise une ligne ClockChip
et non pas une ligne Clocks
.
Je ne vous ai pas encore tout dit. Il existe d'autres options que vous pouvez spécifier (si, si !). Pour plus de détails consultez les manuels du serveur X. Mais généralement les quelques options spécifiées ci-dessus suffiront bien largement.
Chapitre suivant, Chapitre Précédent
Table des matières de ce chapitre, Table des matières générale
Début du document, Début de ce chapitre