Page suivantePage précédenteTable des matières

3. Installation

La mise en place du 3Dfx sous Linux passe par les étapes suivantes :

  1. installation de la carte;
  2. installation des logiciels Glide;
  3. compilation, édition de liens et/ou exécution de l'application.

Les sections suivantes couvrent ces étapes en détail.

3.1 Installation de la carte.

Reportez vous aux instructions données par le fabricant de votre matériel pour mettre la carte en place. Il ne devrait pas s'avérer nécessaire d'aller modifier les IRQ, les canaux DMA : le Plug&Plante (tm) ou les valeurs en sortie d'usine sont censés fonctionner. On accède aux cartes décrites ci-après via l'espace d'adressage mémoire. On n'a donc pas besoin d'interruption. Les chevauchements en mémoire avec d'autres périphériques constituent les seuls conflits possibles.

Puisque 3Dfx n'intervient pas dans le développement et la fabrication de cartes, il est inutile de les contacter en cas de problèmes.

Solutions aux problèmes d'installation

Afin de vérifier l'installation et l'adressage mémoire des périphériques, faites un cat /proc/pci. La sortie devrait ressembler à ce qui suit :


 Bus  0, device  12, function  0:
 VGA compatible controller: S3 Inc. Vision 968 (rev 0).
 Medium devsel.  IRQ 11.
 Non-prefetchable 32 bit memory at 0xf4000000.
 Bus  0, device   9, function  0:
 Multimedia video controller: Unknown vendor Unknown device (rev 2).
 Vendor id=121a. Device id=1.
 Fast devsel.  Fast back-to-back capable.
 Prefetchable 32 bit memory at 0xfb000000.

( cas d'une Diamond Monster 3D utilisée conjointement à une Diamond Stealth-64 ). Un cat /proc/cpuinfo /proc/meminfo aidera à résoudre les conflits et sera utile pour signaler un bug.

Les noyaux courants afficheront peut-être au démarrage :


Jun 12 12:31:52 hal kernel: Warning : Unknown PCI device (121a:1).
Please read include/linux/pci.h

Rien de grave. Cependant, si vous possédez une carte exotique ou récemment mise à jour, prenez le temps de lire les conseils donnés au début du fichier /usr/include/linux/pci.h afin de transmettre les informations utiles à linux-pcisupport@cao-vlsi.ibp.fr.

Si des problèmes se manifestent avec votre carte, examinez ce qui se passe sous DOS et/ou Windows. Il est peu probable qu'un constructeur prenne la peine de répondre à une demande d'aide ou au rapport d'un bug sous Linux. Pour avoir pratiqué le service d'aide de Diamond via courrier électronique, je ne m'attendrais d'ailleurs pas trop à une réaction quel que soit le système d'exploitation.

Configuration du noyau

Seule la gestion du bus PCI est requise. Le Linux Kernel HOWTO fournit tous les détails relatifs à la compilation d'un noyau.

Configuration des périphériques

Pour l'instant, les pilotes ne nécessitent pas de périphériques particuliers. Contrairement aux gestionnaires de cartes sons qui requièrent les entrées /dev/dsp et /dev/audio dont la présence n'est pas garantie, les pilotes reposent ici sur le /dev/mem qui est toujours disponible. Il vous faudra bien sûr disposer des droits de super-utilisateur ou recourir à setuid pour accéder à la carte accélératrice.

3.2 Gestion des écrans

Deux configurations sont possibles avec les cartes accélératrices. Soit vous faites transiter les signaux vidéo issus de votre carte usuelle par l'accélérateur graphique, soit vous employez simultanément deux écrans. Reportez vous aux manuels utilisateurs du constructeur de votre carte pour plus de détails. Les deux solutions ont été essayées avec la Monster 3D.

Affichage avec un seul écran

Ce mode opératoire permet de vérifier le bon fonctionnement de base de la carte accélératrice : si le signal vidéo n'est pas transmis à l'écran, une défaillance matérielle est à envisager.

Notez qu'il risque de se produire un affaiblissement sensible du signal. On a signalé le cas de câbles de piètre qualité fournis avec la Monster 3D ( par exemple ) et celui que j'ai essayé n'a pas fait exception.

Les configurations reposant sur un écran unique recèlent d'autres subtilités. Le passage d'un mode d'affichage VGA à l'affichage accéléré modifie aussi bien la résolution que la fréquence du moniteur , et ce même si vous travaillez avec X11 en 640x480. De surcroît, avec X11, votre application a la charge de gérer les évènements souris et claviers sans quoi vous vous exposez à de sérieuses difficultés ( X reste naturellement invisible lorsque l'on a basculé en mode accéléré ). L'utilisation d'une console SVGA à la place de X11 est envisageable.

Si vous avez l'intention de n'utiliser qu'un seul écran duquel vous exigerez des changements de mode fréquents, n'oubliez pas que les composants de votre moniteur risquent de se fatiguer.

Un moniteur avec deux entrées vidéo

Certains moniteurs haut-de-gamme ( par exemple le EIZO F-784-T ) offrent deux connecteurs : un BNC à 5 broches ( RGB, HSync, VSync ) et un Sub-D VGA usuel. Ces écrans comportent généralement des boutons de sélection de l'entrée vidéo. Il est ainsi possible d'utiliser le connecteur BNC avec la carte graphique habituelle via un câble adéquat et de relier l'accélérateur 3Dfx à l'autre entrée.

Deux écrans

La carte accélératrice n'a nul besoin d'une entrée VGA. Au lieu de faire transiter par cette dernière le signal vidéo usuel, vous pouvez diriger les sorties vidéos vers deux moniteurs différents. Cette solution est certes la plus dispendieuse mais elle donne les meilleurs résultats. Vous pourrez ainsi utiliser conjointement X11 et l'affichage accéléré en plein écran à des fins de déboggage et de développement.

La carte accélératrice cesse de fournir le moindre signal vidéo lorsqu'elle n'est plus utilisée. Par conséquent, à chaque fois que l'application concernée s'arrête, les composants économiseurs d'énergie risquent, selon la configuration de votre matériel, d'entrer en action. Le moniteur se lassera peut-être à la longue. Utilisez donc :


setenv SST_DUALSCREEN 1

pour maintenir la sortie vidéo active.

3.3 Installation des logiciels Glide

Les pilotes et la librairie Glide sont réunis dans un unique fichier compressé. Décompactez/détarez les avec tar et gzip et suivez les instructions fournies dans les fichiers README et INSTALL qui accompagnent le logiciel. Par défaut, les fichiers sont installés dans les répertoires lib, bin, include sous /usr/local/glide/ et le chemin d'accés aux librairies correspondants est ajouté au ld.conf. L'installation des fichiers et la modification du ld.conf sont des étapes indépendantes. Sans l'étape de mise à jour du ld.conf, vous devrez positionner manuellement la variable d'environnement LD_LIBRARY_PATH.

Les fichiers d'en-tête doivent être visibles par le compilateur si vous souhaitez compiler vos propres applications graphiques ! Si l'installation par défaut ne vous satisfait pas, vérifiez bien que les bibliothèques dynamiques sont accessibles sans quoi vous aurez droit à un can't load library 'libglide.so'.

Le programme detect

La distribution logicielle inclut le programme bin/detect ( les sources ne sont pas disponibles ). Le lançant sous l'identité root, vous obtiendrez quelque chose dans le genre :


slot  vendorId   devId   baseAddr0  command  description
----  --------  ------  ----------  -------  -----------
 00    0x8086  0x122d  0x00000000   0x0006  Intel:430FX (Triton)
 07    0x8086  0x122e  0x00000000   0x0007  Intel:ISA bridge
 09    0x121a  0x0001  0xfb000008   0x0002  3Dfx:video multimedia adapter
 10    0x1000  0x0001  0x0000e401   0x0007  ???:SCSI bus controller
 11    0x9004  0x8178  0x0000e001   0x0017  Adaptec:SCSI bus controller
 12    0x5333  0x88f0  0xf4000000   0x0083  S3:VGA-compatible display co

Si vous n'êtes pas root, vous serez gratifié d'un :
Permission denied: Failed to change I/O privilege. Are you root?

Si vous signalez un bug, joignez une copie de la sortie écran de detect.

Test de l'installation

La distribution Glide comprend un répertoire avec des programmes de test. Ces programmes sont soumis au copyright 3Dfx. Leur utilisation n'est licite que pour les possesseurs d'une carte munie d'un composant 3Dfx. Reportez vous au fichier LICENSE de la distribution ou au site web www.3dfx.com pour plus de détails.

Bien que des binaires soient disponibles, il est recommandé de compiler soi-même les programmes. Certains exécutables ont besoins de fichiers tels alpha.3df que vous trouverez dans le même répertoire. Tous les test ont lieu avec une résolution de 640 par 480. Certains demanderont des caractères, d'autre se cantonneront à afficher Press A Key To Begin Test. Méfiez vous d'un éventuel accaparement des évènements de saisie par X11 si ce dernier fonctionne également sur le même écran.

Le fichier README.test donne la liste des programmes ainsi que divers détails.


Page suivantePage précédenteTable des matières