Accueil

Drivers ATI

Par aster & cfdev.

Ce document décrit la marche à suivre pour utiliser pleinement sa carte graphique (ici radeon 9100) pour utiliser l'accélération matérielle, mais permet aussi de savoir trouver les infos pour les autres cartes.

Sommaire

Connaître le matériel

Pour connaître précisément sa carte graphique une simple commande suffit :

/sbin/lspci | grep VGA
  02:00.0 VGA compatible controller: ATI Technologies Inc Radeon R200 QM [Radeon 9100]

Ici la carte est une ATI, plus précisément une Radeon R200, et le bus qu'elle utilise à l'id 02:00.0. C'est le nom du chipset, R200, qui va nous servir pour la suite.

Driver Libre

Configurer xorg

Comme à l'habitude on lance en root

xorgconfig

Puis on répond aux questions posées jusqu'à arriver au choix :

Do you want to look at the card database?

où on répond y pour "yes".

Quel pilote ?

La liste qui suit se présente comme suit

"identifiant" "nom de la carte" "driver"

Notre carte est donc une radeon 9100 équipé d'un chipset R200, le choix de l'identifiant numéro 6 semble faire l'affaire ATI (generic) [ati] ou bien si on se veut plus précis on opte pour le choix 7 ATI Radeon (generic) [radeon]. Mais comment faire le bon choix ?

Chaque driver (dans notre cas ati ou radeon) a une page de manuel, et donc un simple

man ati

nous répondra que le drivers ati est le "driver générique" pour les cartes ATI qui va détecter quelle carte est installée et ainsi charger le pilote approprié (soit radeon, r128 ou atimisc). C'est à priori le bon choix. (NdR: j'utilise le driver radeon, ça ne change rien). Puis un

man radeon

nous confirmera que ce driver est à utiliser pour les cartes à base de chipset R200 et va nous régaler de pléthore d'options croustillantes.

Nous voilà déjà bien avancé. On finit de répondre aux questions de xorgconfig et on enregistre le fichier /etc/X11/xorg.conf.

À ce stade, X se lance sans soucis, mais on n'a pas encore l'accélération matérielle. Ça peut se vérifier par la commande

glxinfo | grep rendering
 direct rendering: No

On peut aussi vérifier le faible score de glxgears qui devrait faiblement plafonner à 200 ou 300fps.

L'accélération matérielle

On édite le fichier /etc/X11/xorg.conf et on rajoute la section DRI

Section "DRI"
   Mode 0666
EndSection

le Mode correspond au droit d'exécution de DRI, il se peut donc que ça soit un trou de sécurité de mettre les droits 0666).

On sauvegarde et on relance X, et on se rend bien compte en refaisant le test de glxinfo que le DRI est activé, et que glxgears avoisine les 1000fps. Ce nombre de fps (Frame Per Second, ou Image Par Seconde) est simplement indicatif, car glxgears n'est pas un benchmark.

Plus en avant dans les détails, pour gagner quelques fps

En effet, ceci est la configuration de base, mais on peut gagner quelques fps sur glxgears. Lançons la page de manuel de radeon, que nous apprend elle ?

Option "AGPMode" "integer"

Tiens donc, à quelle vitesse est mon port AGP actuellement ?

grep "Using AGP" /var/log/Xorg.0.log
 (**) RADEON(0): Using AGP 1x

En 1x ! Alors que ma carte mère et ma radeon supporte le 4x ! Qu'à cela ne tienne, on édite à nouveau /etc/X11/xorg.conf, on retrouve la Section "Device" (c'est elle qui comprend la ligne chargeant le driver) et on rajoute l'option AGPMode :

Section "Device"
     Identifier  "Ati Radeon9100 (r200) QM"
     Driver      "radeon"
     Option "AGPMode" "4"
EndSection

À nouveau, on relance X et on relance glxgears, on voit qu'on a gagner quelques fps. Si ce n'est pas le cas il faut vérifier dans /var/log/Xorg.0.log qu'on est bien passé en 4x

grep "Using AGP" /var/log/Xorg.0.log
 (**) RADEON(0): Using AGP 4x

On continue dans la page de manuel de radeon et on tombe sur

Option "EnablePageFlip" "boolean"

dont le défaut est off. On rajoute cette option toujours dans section "Device" de notre /etc/X11/xorg.conf

Section "Device"
     Identifier  "Ati Radeon9100 (r200) QM"
     Driver      "radeon"
     Option "AGPMode" "4"
     Option "EnablePageFlip" "on"
EndSection

On relance X, et on re-teste les fps ! W00t! 2200 fps ! En voilà de l'option qui va bien !

On continue dans le man, ainsi de suite, en testant une à une les options.

il vaut mieux ajouter/modifier 1 option à la fois, et tester son utilité. En effet, si on rajoute trop d'options à la fois il sera plus dur en cas de pertes de performances ou plantage de savoir laquelle est en cause.

Conclusion

Même si ce document ne couvre que la configuration d'une carte ATI Radeon 9100 (ou plutôt d'une carte à base de chipset R200), la démarche est la même pour toutes les cartes :

Avertissements

Il arrive que certaines options ne soient pas compatible avec votre matériel ou marche mal. C'est le cas chez moi pour l'option AGPFastWrite qui me freeze X et m'oblige à faire un hard reboot. Il faut donc les tester une à une afin de savoir facilement d'où vient l'éventuel soucis.

D'autres options n'ont pas étaient citées car elle ont par défaut la bonne valeur, c'est par exemple le cas de l'option ColorTiling.

DRI peut aussi être optimisé, et ce sans passer par xorg. Je vous invite à vous pencher sur http://dri.freedesktop.org/wiki/ et sur l'utilitaire associé DriConf et de faire partager vos tests.

Requête/TODO

Il y a des options dont je ne comprends pas le sens, comme AccelMethod et AccelDFS qui en découle, ... Comme c'est un wiki, vos retours d'expériences et vos améliorations, commentaires, corrections, sont donc les bien venus ;) Il doit exister de véritables benchmarks, je n'en ai pas cherché. Encore une fois, profitez du wiki :)

Driver Propriétaire

Installation

tout d'abord télécharger le fichier ati-driver-installer-9-5-x86.x86_64.run sur le site officiel http://support.amd.com. Si vous êtes en init4 fermer le X et passer en init3 puis lancer le script

# chmod +x ati-driver-installer-9-5-x86.x86_64.run
# sh ati-driver-installer-9-5-x86.x86_64.run

suivez les instructions et appliquez les changements au conf du xorg. Relancer le X et enjoy!

si il y a des soucis lors de l'install consulter le fichier log

# cat /usr/share/ati/fglrx-install.log

Déinstallation

ati ont prévu un script pour désinstaller plus ou moins proprement.

# cd /usr/share/ati
# sh fglrx-uninstall.sh

Pensez à rééditer le xorg.conf

Thèmes : #acceleration_3d #articles #aster #cfdev #materiel #xwindow

Sauf indication contraire, ce document est placé sous licence CC-BY-SA 3.0.