5. Les applications d'aide à la configuration

Contenu de cette section

Pour vous aider dans vos calculs nombreux et fastidieux, un certain nombre de petits programmes ont été écrits. Ils ne prennent que peu de place et il est conseillé de les installer sur votre disque.

5.1 Vgaset

Un petit programme pour vous aider à configurer votre serveur X. Son rôle est de faciliter la recherche de la meilleure résolution de votre écran. Il tourne dans une fenêtre xterm (X doit donc déjà tourner), et affiche la géométrie actuelle de votre écran, sous une forme similaire à celle décrite dans le fichier XF86Config. Vous pouvez modifier cette géométrie en temps réel, à l'aide d'un certain nombre de commandes décrites ci-après.

Vous pouvez ainsi déterminer la configuration qui correspond à votre souhait, ou revenir à tout moment à la configuration initiale.

Attention

L'auteur et moi-même Le traducteur vous mettons en garde sur l'utilisation de ce programme. Vgaset possède les caractéristiques nécessaires pour vous éviter d'endommager votre moniteur. Cependant, si vous spécifiez une plage de fréquences que votre moniteur ne supporte pas, ou bien une mauvaise horloge, vgaset peut causer des dommages irréversibles à votre matériel. Si vous ne connaissez pas toutes les valeurs, lancez vgaset sans option. Ne laissez en aucun cas votre moniteur fonctionner longtemps avec de mauvaises valeurs. Si quelque chose ne va pas, éteignez-le~! Utilisez vgaset à vos risques et périls.

Remarque

Je vous sens fiévreux tout à coup~! N'ayez pas peur, ceci n'est pas fréquent. Allez-y en faisant attention.

Les options de vgaset

Les options de la ligne de commande sont les suivantes~:

-V

Rend vgaset verbeux. En particulier, il affiche les registres CRTC.

-d horloge

Définit la valeur de l'horloge point. Ceci permet à vgaset de donner des informations sur les timings et de les utiliser pour déterminer des intervalles de fréquences. horloge peut etre spécifé en hertz, kilohertz ou megahertz. Faites bien attention à donner la bonne valeur.

-x fréquence

spécifie la fréquence horizontale minimale (en hertz ou kilohertz) supportée par votre moniteur. Par défaut la valeur prise est la valeur courante. Cette option est ignorée si l'option -d horloge est absente, sauf pour -x0.

-X fréquence

spécifie la fréquence horizontale maximale (en hertz ou kilohertz) supportée par votre moniteur. Par défaut la valeur prise est la valeur courante. Cette option est ignorée si l'option -d horloge est absente.

-y fréquence

spécifie la fréquence verticale minimale supportée par votre moniteur. Par défaut la valeur prise est la valeur courante. Cette option est ignorée si l'option -d horloge est absente, sauf pour -y0.

-Y fréquence

spécifie la fréquence verticale maximale supportée par votre moniteur. Par défaut la valeur prise est la valeur courante. Cette option est ignorée si l'option -d horloge est absente.

-s config

donne les valeurs horizontales de début de synchro, de fin de synchro et du nombre total de points, et les valeurs verticales de début de synchro, de fin de synchro et du nombre total de lignes. Ces valeurs correspondent aux trois dernières valeurs de chaque rubrique d'un mode vidéo~:

"640x480"       28      640 680 728 776         480 480 482 494
                            --- --- ---             --- --- ---

-v résolution

spécifie la valeur de la résolution virtuelle. Ceci vous permet d'augmenter la résolution affichée, au mieux jusqu'à ces valeurs. Celles-ci ne doivent pas dépasser les valeurs données à la ligne Virtual de la section Screen.

Exemple~:

vgaset -d80 -x30 -X64 -y50 -Y100 -v 1152 910

        --> correspond a un ecran Crystal Scan 1572 FS a 80 MHz

Les commandes de vgaset

Elles sont activées en appuyant simplement sur une des touches décrites ci-après, colonne de gauche~:

l       diminue la marge gauche
L       augmente la marge gauche
r       diminue la marge droite
R       augmente la marge droite
h       diminue la duree de synchro horizontale
H       augmente la duree de synchro horizontale
t       diminue la marge du haut
T       augmente la marge du haut
b       diminue la marge du bas
B       augmente la marge du bas
v       diminue la duree de synchro verticale
V       augmente la duree de synchro verticale
x       diminue la resolution horizontale
X       augmente la resolution horizontale
y       diminue la resolution verticale
Y       augmente la resolution verticale
?       reprend les valeurs initiales
RC      retour-chariot : reaffiche la configuration
q       quitte
EOT     quitte

Après chaque commande, vgaset réaffiche la configuration selon une présentation compatible avec la rubrique ModeLine du fichier de configuration.

Les bugs de vgaset

Un certain nombre~! Non, pas trop quand même, mais ce programme a été testé seulement sur certaines cartes vidéo (ET4000, Diamond SpeedStar, ATI Graphics UltraPro). Suivez l'actualité pour découvrir d'éventuelles mises à jour ou savoir si des problèmes ont été détectés.

Le serveur est perturbé lorsque vous modifiez le nombre de pixels. Si vous diminuez la valeur, le serveur ne déroulera plus l'écran virtuel entier (scrolling). Si vous l'augmentez, il n'utilisera pas les nouveaux pixels (seulement avec vgaset). Cependant c'est utile pour déterminer la meilleure résolution.

Il n'est pour l'instant pas possible de modifier la valeur de l'horloge point (dot clock) avec vgaset.

5.2 xclk

xclk est un autre petit utilitaire qui vous aide à calculer les valeurs pour votre configuration. Il est basé sur les heuristiques et règles que nous avons fixés dans ce document.

Pour utiliser xclk, vous devez connaître les fréquences supportées par votre carte vidéo et votre moniteur (Un moniteur multi-synchro est d'ailleurs conseillé). Les valeurs d'horloge peuvent être déterminées notamment avec le programme clock.exe disponible dans les archives Linux, ou encore en utilisant les utilitaires fournis avec votre carte vidéo (Ex~: les cartes ET4000 sont livrées avec les utilitaires DMODE et VMODE sous DOS). Il y a trois façons d'utiliser xclk~:

xclk       <Frequence_horloge>  <frequences_horiz>
xclk    -h <Frequence_horloge>  <Pixels_horiz>
xclk    -r <Frequence_horloge>  <taux_rafraichissement>

Les fréquences horloge sont en MHz, les fréquences horizontales en kHz (ne donnez que les valeurs).

La première syntaxe utilise la fréquence d'horloge de votre carte et la fréquence horizontale de votre moniteur.

Exemple~: Ma carte a une horloge de 64 MHz et mon moniteur supporte une fréquence horizontale de 56 kHz. J'utilise la commande~:

xclk 64 56              # premiere syntaxe

Ceci génère deux lignes compatibles avec la rubrique ModeLine du fichier de configuration (ajoutez éventuellement le mot-clé ModeLine si vous souhaitez utiliser la ligne dans le fichier)~:

"896x672"       64      896  928  1160  1192    672  672  683  706
# Tx de rafraichissement = 76.05Hz ; Frequence horizontale = 53.69 kHz

Il se peut que xclk donne des valeurs ridicules. Exemple xclk~65~40 génère~:

"1296x972"      65      1296  1328  1600  1632  972  972  980  1021
# Tx de rafraichissement = 39.01Hz ; Frequence horizontale = 39.83 kHz

Avec un tel taux de rafraîchissement, on croirait regarder un film du début du siècle. N'utilisez pas cette résolution. Les meilleurs taux de rafraîchissement sont autour de 70 Hz. Plus la valeur est élevée, mieux c'est (selon ce que peut supporter votre moniteur). Un MAG 15H peut supporter une valeur allant jusqu'à 120 Hz. Beaucoup vont jusqu'à 75 Hz.

Utilisons alors la troisième syntaxe, qui permet de spécifier le taux de rafraîchissement, par exemple xclk -r 64 70 génère~:

"944x708"       64      944  976  1208  1240    708  708  718  743
# Tx de rafraichissement = 69.47Hz ; Frequence horizontale = 51.61Khz

Une troisième façon d'utiliser xclk permet d'obtenir une résolution particulière. Exemple xclk -h 64 944 génère~:

"944x708"       64      944  976  1216  1248    708  708  718  743
# Refresh rate = 69.47Hz ; Horizontal Frequency = 51.61Khz

Comme vous pouvez le noter, certaines valeurs ont légèrement changé, malgré des données équivalentes. En fait rien de bien important puisque la différence n'excède pas 16 unités, ce qui est supporté par les moniteurs.

Si les valeurs données par xclk ne fonctionnent pas, recalculez les valeurs. Surtout n'essayez pas des valeurs farfelues avec votre serveur X.

5.3 xclkSuperProbe

Description

SuperProbe est un utilitaire dont le rôle est de déterminer la configuration matérielle vidéo dont vous disposez, que ce soit sur un bus ISA/EISA/VLB ou PCI (sous réserve). Il recherche de différentes manières et parmi les registres connus (les machines MicroChannel et PCI peuvent poser problème~; SuperProbe fonctionne avec la plupart en utilisant l'option -no_bios). SuperProbe est un programme particulièrement exposé aux erreurs, notamment sous Unix pour lequel le matériel est plus ésotérique que sous DOS. Il aura donc probablement besoin d'aide de la part de l'utilisateur.

SuperProbe tourne sous SVR3, SVR4, Linux, 386BSD/FreeBSD/NetBSD, Minix-386 et Mach. Il pourrait être très facile de l'étendre aux autres systèmes Unix, voire aux systèmes non-Unix.

Actuellement, SuperProbe sait détecter les cartes MDA, Hercules, CGA, MCGA, EGA, VGA et tous les chipsets SVGA (voir l'option -info, ci-dessous). Il sait aussi identifier de nombreux RAMDAC DAC=Digital-Analog Converter (Convertisseur Digital-Analogique) HiColor/TrueColor utilisés sur les cartes SVGA, ainsi que la quantité de mémoire installée (pour beaucoup de chipsets). Il peut détecter les cartes 8514/A et dérivées, mais pas les XGA ni PGC (l'auteur a l'intention de le faire). Il n'est pas non plus capable actuellement de reconnaître les cartes Targa, TIGA ni MicroField.

Les options

Les options supportées par SuperProbe sont les suivantes~:

-verbose

Rend SuperProbe verbeux. Il fournit bon nombre d'informations pendant son exécution.

-no16

SuperProbe ne tentera pas d'utiliser les ports nécessitant un décodage d'adresse d'E/S Entrée/Sortie sur 16 bits. Les premiers bus ISA spécifiaient un décodage sur 10 bits. Par conséquent certaines anciennes cartes (dont pas mal de cartes 8 bits) décoderont mal les références aux ports utilisant les 6 bits supplémentaires et peuvent se mettre dans des états bizarres, pensant avoir été adressées alors qu'elles ne l'étaient pas. Il est recommandé de mettre cette option si votre système comporte une ou plusieurs cartes 8 bits.

-excl liste

SuperProbe ne tentera pas d'accéder aux ports d'E/S donnés dans la liste. Certaines cartes vidéo utilisent des ports d'E/S non standard pouvant entrer en conflit avec d'autres cartes installées. En donnant à SuperProbe une liste de ports déjà utilisés, il saura qu'aucune carte vidéo ne les utilise et par conséquent ne les testera pas (ce qui pourrait perturber votre système). La liste d'exclusion est donnée sous forme de liste de numéros (ou d'intervalles de numéros) de ports d'E/S séparés par des virgules. Un intervalle est donné sous la forme "inf-sup", bornes incluses. Les valeurs peuvent être données en décimal, en octal (nombres commençant par '0'), ou en hexadécimal (nombres commençant par '0x').

-mask10

Cette option est utilisée conjointement avec la liste d'exclusion (-excl). Elle indique à SuperProbe que lors du test d'un port d'E/S hors de la liste d'exclusion, l'adresse du port doit être masquée sur 10 bits. C'est important avec les anciennes cartes 8 bits ne pouvant décoder que 10 bits, ainsi que pour certaines cartes 16 bits bon marché. Cette option est moins restrictive que -no16.

-order liste

Cette option donne à SuperProbe une liste de Chips à tester, et lui indique l'ordre dans lequel il doit le faire. La liste est formée de noms séparés par des virgules. Celle-ci a priorité sur la liste prédéfinie dans SuperProbe. Pour connaître la liste des noms supportés, utilisez l'option -info décrite ci-après. Notez que les valeurs affichées comme "Standard Video hardware" ne sont pas utilisables avec l'option -order.

-noprobe liste

Cette option définit les Chips que SuperProbe ne doit pas tester. L'ordre de tests est soit celui par défaut, soit celui imposé par l'option -order. La liste contient des noms de chips séparés par des virgules. Pour connaître la liste des noms supportés, utilisez l'option -info décrite ci-après. Notez que les valeurs affichées comme "Standard Video hardware" ne sont pas utilisables avec l'option -noprobe.

-bios base

Cette option indique l'adresse de base du BIOS de la carte graphique. Par défaut, SuperProbe essaiera de localiser celle-ci de lui-même (l'adresse normale étant 0xC0000). S'il échoue (un message d'erreur sera affiché si cela arrive), utilisez l'option -bios pour lui indiquer la base.

-no_bios

Invalide la lecture du BIOS Vidéo et suppose qu'une carte EGA ou plus récente (VGA, SVGA) est présente comme première carte vidéo.

-no_dac

Supprime la recherche du type de RAMDAC lorsqu'une carte (S)VGA est identifiée.

-no_mem

Supprime la recherche de la taille mémoire de la carte vidéo.

-info

SuperProbe imprimera une liste de tous les matériels vidéo qu'il sait identifier.

Les bugs

Il y en a sûrement~! Si vous en trouvez, veuillez, svp, les rapporter à l'auteur.

Il est possible que SuperProbe bloque votre machine. Dans ce cas, effectuez l'essai avec les options -no16, -excl et -mask10 de façon à éviter les conflits avec d'autres cartes installées.


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