Bon nombre de lecteurs ont eu le malheur de constater que les cartes vidéo ATI basées sur le chip Rage128 ne fonctionnent pas avec Xfree 3.3.3.1. De plus, le constructeur signale sur son site InterNet que les spécifications 3D des cartes ne seront pas dévoilées et que, pour l'heure (10/06/99), aucun support n'existe pour les systèmes de type Unix. Nous ne saurions que trop vous conseiller de vous renseigner sur les fabricants de matériel qui mettent en place une telle politique, afin de les éviter. Les informations présentées dans cet article sont intégralement tirées d'une page Web rédigée par cain@0wned.org (www.0wned.org/~cain/ragefury.htm).
Les cartes ATI Rage
Les quatre cartes graphiques posant problème sous Linux sont :
- ATI RAGE FURY : équipée du chip ATI Rage 128GL
- ATI XPERT 128 : idem
- ATI XPERT 99 : utilisant un ATI Rage 128VR
- ATI MAGNUM : il s'agit d'une carte OEM uniquement commercialisée avec un Pc et non vendue "au détail". Le chip utilisé est, comme la FURY, un ATI Rage 128GL mais la carte ne possède pas le connecteur AMC pour le tuner ATI-TV.
Pré-Requis
Pour faire fonctionner X avec une des cartes mentionnées ci-dessus, vous devez impérativement utiliser un kernel 2.2.6 minimum.
Voici la configuration d'essai, telle que décrite sur la page Web d'origine :
- Carte mère MTI Stallion M668DS
- Bi Pentium II-333 (Deschutes)
- 512 MB PC100 SDRAM
- ATI Rage Magnum AGP w/32MB
- Disques : 2 Seagate Barracuda 9.1GB W-SCSI - 2 Hewlett Packard 2.1GB SCSI-2
- 1 lecteur amovible Iomega JAZ 1GB (modèle interne)
- Lecteur CDROM Toshiba XM-6401b 40x SCSI
- Creative Labs Soundblaster 32PnP
- Carte Ethernet Realtek 8139 10/100 Ethernet Adapter (SMC 1211 TX)
- Moniteur Generic 19» .26 pitch
Configuration du Kernel
Lancez la configuration du Kernel (make config, menuconfig, ou xconfig).
Dans la section "Code Maturity Level", choisissez "prompt for development and/or incomplete drivers" pour activer les fonctions dont nous avons besoin.
La partie importante est celle-ci :
Dans la section "Console Drivers", activez les fonctions suivantes :
- VGA Text Console
- Video Selection Support
- Support for frame buffer devices (experimental)
- VESA VGA Graphic console
- Advanced Low Level Drivers
- Select Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp and 32bpp packed pixel drivers
- VGA character/attributes support
Important : Assurez-vous que la fonction "MAC variable bpp packed pixel support" n'est PAS activée.
Compilez ensuite votre nouveau kernel par :
make dep
make clean
make bzImage
make modules
make modules_install
Puis, copiez-le dans le répertoire /boot, ainsi que le nouveau fichier System-map.version (n'oubliez pas de créer le lien symbolique entre /boot/System-map.version et /boot/System-map).
Dernier point, configurez /etc/lilo.conf en ajoutant votre nouvelle image du kernel et le mot-clé vga=ask. Enfin, réinstallez lilo en utilisant la commande lilo -v
Premier demarrage
Lorsque vous allez redémarrer votre PC, LILO vous demandera le mode vidéo que vous désirez (mot-clé vga=ask).
Reportez-vous à l'article sur le frame-buffer dans le présent numéro, aux documentations du kernel 2.2.x et au VesaFB-MINI-HOWTO (http://metalab.unc.edu/mdw/HOWTO/mini/Vesafb-5.html)
pour avoir plus d'informations sur les modes vidéo. L'auteur de la page Web recommande le mode 0317 pour une résolution de 1024 par 768 en 64K couleurs. En cas de problème, essayez les autres modes listés dans les différentes docs.
N'oubliez pas que la réponse, au moment du démarrage, est donnée en hexadécimal mais dans le fichier lilo.conf, le numéro doit être converti en décimal.
Le serveur X
Avant de débuter la configuration du serveur X, il est nécessaire de créer un nouveau fichier spécial dans /dev. Pour ce faire, utilisez les commandes suivantes :
mknod /dev/fb0 c 29 0
pour créer le fichier et
ln -s /dev/fb0 /dev/fb0current
pour créer un lien sur le périphérique par défaut
Vous l'aurez sans doute compris, le serveur X utilisera les fonctions de frame-buffer du kernel 2.2 via le périphérique /dev/fb0current. Il est donc nécessaire d'avoir le serveur X adéquat. Celui-ci doit être récupéré sur :
http://www.uno.edu/~adamico/banshee/files/XF68_FBDev.libc6.tar.gz
ainsi qu'un exemple de fichier de configuration (XF86Config ).
Décompressez l'archive et installez le serveur et le fichier de configuration :
tar zxvf XF68_FBDev.libc6.tar.gz
mv XF68_FBDev.libc6 /usr/X11R6/bin/XF86_FBDev
mv XF86Config /etc/X11/XF86Config
rm /etc/X11/X
ln -s /usr/X11R6/bin/XF86_FBDev /etc/X11/X
Si vous utilisez le mode vidéo recommandé plus haut (1024x768, couleurs 16bits), vous pouvez immédiatement lancer X avec la commande startx. Si vous avez choisi un autre mode, il vous sera nécessaire d'accorder XF86Config en conséquence.
Avec cette méthode (applicable à d'autres cartes), le serveur X s'appuie sur la gestion du frame-buffer du kernel. Pour le moment, cette gestion est encore expérimentale mais permet déjà de solutionner certains problèmes.