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.
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.
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".
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.
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.
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.
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 :
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.
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 :)
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
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.