[[acceleration_graphique]]
Piste: » acceleration_graphique
L'accélération graphique sur GNU-Linux
Préambule
Les cartes graphiques offrent des ressources matérielles afin d'accélérer tous les traitements liés aux graphismes. Ces traitements sont l'affichage de vidéo (décompression mpeg), l'affichage de DVD en plein écran, les images animées 3D (jeux, animations, etc.).
Pour ce faire, le noyau doit pouvoir dialoguer avec la carte graphique. Ce dialogue est établi par un pilote (driver) qui pourra tirer pleinement parti des ressources matérielles disponibles.
Par la suite, le serveur graphique (Xorg, XGL, etc.) pourra utiliser ces ressources afin d'accélérer les affichages ou permettre des effets de bureaux spectaculaires.
Chez Microsoft, il existe une API standard qui se nomme DirectX. Sous Linux, il existe également une API standard qui est un équivalent libre à DirectX, il s'agit d'OpenGL.
L'accélération graphique est-elle activée ?
Avant de commencer toute manipulation, il est préférable de savoir si l'accélération graphique n'est pas déjà activée. En effet, certaines cartes sont reconnues immédiatement par le système et dès lors, il n'est pas nécessaire de se lancer dans des paramétrages plus avancés.
Une commande console vous permettra de vérifier si le serveur graphique (Xorg, XGL, etc.) peut utiliser les ressources matérielles :
glxinfo | grep "direct rendering"
La valeur correspondant à direct rendering est yes (ou no) si l'accélération est (ou n'est pas) activée.
Si elle n'est pas activée, il se peut que plusieurs avertissements (warnings) s'affichent à l'écran.
Xlib: extension "GLX" missing on display ":0.0". Xlib: extension "GLX" missing on display ":0.0". Xlib: extension "GLX" missing on display ":0.0". Error: couldn't find RGB GLX visual Xlib: extension "GLX" missing on display ":0.0". Xlib: extension "GLX" missing on display ":0.0". Xlib: extension "GLX" missing on display ":0.0". Xlib: extension "GLX" missing on display ":0.0".
Comment mesurer le gain de l'accélération graphique ?
Avant toute modification d'un système informatique en vue d'obtenir un gain de performance, il est de bonne pratique de mesurer la vitesse avant et après la modification. En procédant de cette manière, on est assuré que la situation est améliorée et pas détériorée.
Pour mesurer la vitesse de traitement de l'accélération graphique, il existe une commande console qui affiche 3 roues dentées en 3D ainsi que le nombre d'images calculées par seconde :
- Feisty et Gutsy:
glxgears
ou encore :
glxgears -info
- Edgy et versions antérieures :
glxgears -printfps
ou
glxgears -iacknowledgethatthistoolisnotabenchmark
ou encore
glxgears -info
Exécutez cette commande avant toute modification du pilote graphique et notez le nombre obtenu. De cette manière, vous pourrez le confronter avec le nombre d'images calculées par seconde obtenu après installation du pilote graphique.
Notez bien que les FPS obtenus n'ont pas de lien avec les performances réelles de cartes (voir ce lien en anglais).
Comment déterminer le chipset de la carte graphique ?
Pour activer l'accélération graphique sur votre matériel, il est nécessaire de connaître le chipset (le co-processeur graphique) qui est présent dans votre machine. Il existe un nombre réduit de chipsets qui sont présents dans les marques de cartes graphiques.
La marque de la carte importe peu dans la sélection du pilote à utiliser ; ce qui compte, c'est de savoir quel chipset la carte utilise.
Pour obtenir cette information, vous pouvez utiliser la commande suivante :
lspci | grep "VGA"
Maintenant que vous connaissez le chipset présent, il ne vous reste plus qu'à (éventuellement) installer le pilote pour profiter de l'accélération graphique.
Comment activer l'accélération graphique ?
Suivant le modèle et le type de chipset, la procédure d'activation peut être sensiblement différente.
À l'aide du tableau ci-dessous, vous pourrez facilement retrouver la page du wiki traitant du modèle de votre chipset.
Remarques concernant le tableau :
- N'indiquez pas le nom de la carte graphique mais uniquement le nom du chipset.
- L'indication
ouisignifie que l'accélération est immédiatement fonctionnelle.
ATI Technologies Inc Radeon Mobility M7 LW [Radeon Mobility 7500]
Comment doubler dans certains cas sa valeur Frames Per Second ?
* Diminuer la profondeur de couleur (passer de 24 à 16 bits) particulièrement sur les anciennes cartes graphiques. La plupart du temps, on place la valeur à 24 bits. Cependant, les moniteurs habituels et les yeux ne voient pas autant de nuances. C'est pour cela qu'un passage à 16 bits ne se remarque pas trop en usage courant... voir ici : nVidia Optimisation Exemple : pour une carte graphique : NV11 (GeForce 2 MX 400) (16bits = 1314 FPS/ 24bits =602 FPS)
ATI
| Chipset | Dapper | Edgy | Feisty | Gusty | FPS | Utilisateur(s) |
|---|---|---|---|---|---|---|
| 7000/VE | oui | - | 267 | Fernando | ||
| 7000 Mobility | radeon | radeon | - | 369 | simtris | |
| 7500 Mobility | oui | oui | oui | - | 673 | |
| 7900 Mobility | radeon | radeon | - | 1300 | ||
| 9000 Mobility | radeon | radeon | - | 2200 | Dexter | |
| 9200 | radeon | - | 1400 | STORMBL4ST | ||
| 9200 pro | ati_depots | radeon | - | 1160 | sginer | |
| 9600/9700 Mobility M10/M11 | radeon / ati_depots | - | 2320 / 120 ? | _Enchained/tardami.sofiane | ||
| 9600 pro | radeon / ati_depots | radeon / ati_depots | - | 2100 / - | Galileo / olivierb2 | |
| 9600xt | - | - | - | ati_depots | 2500 | sancho |
| 9700 pro | - | - | ati_depots | ati_depots | 5825 | Sanke |
| 9800 pro | ati_depots | ati_depots | - | 270 | K-let-powa | |
| 9800 pro | oui | ati_depots | ati_depots | - | 11.070 | Nicolas_x |
| 9800 | - | ati_depots | oui | - | - | tontonjoe |
| X200M | ati_depots | ati_depots | 1450 | luigifab | ||
| X300 | radeon | radeon | - | 1900 | colin2mars | |
| IGP 320m / Mobility U1 | radeon | 240 | mavosaure | |||
| Mobility X300 | ati_depots | ati_depots | 2200 | xilef | ||
| Mobility X600 | ati_depots | ati_depots / radeon | - | 3700 / 1700 | cybergoll / jonas | |
| Mobility X700 | ati_depots | ati_depots | - | 3350 | azema | |
| Mobility X1400 | ati.run | apokalypse / tripleg88 | ||||
| Mobility X1700 | ati_depots | - | 4830 | mr_jay_01 | ||
| Mobility X1800 | ati_depots | ati_depots | - | 8400 / 5500 / 3300 | themulot | |
| X600 Series | radeon | radeon | - | 2000 | capucino | |
| X700 | ati_depots | ati_depots | - | 9100 | slasher-fun | |
| X800 SE | radeon (Xorg 7.2) | radeon (Xorg 7.2) | - | 2500 | GroggySensei | |
| X800 VE | ati_depots | ati_depots | ati_depots | - | 7000 | Id2ndR |
| X800 Pro | ati.run / ati_depots | ati.run / ati_depots | ati.run / ati_depots | - | - | bioman / inazo |
| X1300 Pro | non | ati.run | ati.run | - | 3300 / 3000 | cgizmo / KaoT |
| X1600 | ati.run | 2500 | blackbg | |||
| X1600XT | ati.run | ati.run | - | 5270 | fizzzico | |
| X1950 Pro/GT | - | ati.run | ati.run | - | 13500 | aknotwot |
| X1950 XT | - | ati.run | ati.run | - | 15467 | jeremome |
| X2300 | - | - | ati.run | 2250 | billybug | |
| X1100 IGP | - | - | - | fglrx dépots | 2000 | Drekky |
| X2300 | - | - | - | fglrx dépots | 1800 | IceCorE |
Intel
| Chipset | Dapper | Edgy | Feisty | Gutsy | FPS | Utilisateur(s) |
|---|---|---|---|---|---|---|
| 82915G/GV/910GL | oui | oui | oui | oui | 1200 | ostaquet |
| 82852/855GM Integrated | - | - | oui | oui | 510 | malaiwah |
| GMA450 | oui | oui | oui | 1000 | Id2ndR | |
| Mobile 915GM | oui | oui | oui | oui | 900 | Smashou |
| 945GM/GMS/940GML | oui | oui | oui | 850, 1090 | djibi, mr_jay_01 | |
| G965 | non | non | oui | oui | 1270 | Fabien26 |
| 845G/GL | oui | oui | oui | 570 | deskro | |
| 82810 (i810) | oui | oui | oui | 315 | themulot | |
| 82830 (i830) | oui | 285 | francoisa | |||
| 86C270-294 Savage/IX-MV | non | 60 | zobi8225 | |||
| GM965/GL960 | oui | 920 | Jerem |
Nvidia
| Chipset | Dapper | Edgy | Feisty | Gutsy | FPS | Utilisateur(s) |
|---|---|---|---|---|---|---|
| NV5 (TNT2) | legacy | legacy | - | bioman | ||
| NV11 (GeForce 2 MX) | nvidia-glx | nvidia-glx | nvidia-glx | 678 | Niffo | |
| NV11 (GeForce 2 MX 400) (16/24bits) | nvidia-glx | 1314/602 | Moi (depth of colors: 16 ou 24 bits) | |||
| NV18 (GeForce 4 MX 4000/440-8x) | nvidia-glx | nvidia-glx | nvidia-glx | 1001 / 2660 | Dark-Side / Euskaral, Eireen | |
| NV25 [GeForce4 Ti 4200] | nvidia-glx | nvidia-glx | nvidia-glx | 3597 | Acp | |
| NV28 [GeForce4 Ti 4200] | nvidia-glx | nvidia-glx | 1964 | Shinigami Delroën | ||
| NV34 [GeForce FX 5200] | nvidia-glx | nvidia-glx-new | _Enchained | |||
| NV34 (GeForce FX 5500/5200) | nvidia-glx | nvidia-glx | Pas de 3D (bug) | 2470 / 1300 | ymulleneers | |
| NV34M (GeForce FX 5200 et Ultra) | nvidia-glx | nvidia-glx | nvidia-glx | 2400 | ostaquet | |
| NV36.2 (GeForce FX 5700 Ultra) | nvidia-glx | nvidia-glx | nvidia-glx | 3023 | Teknicien | |
| NV35 (GeForce FX 5900 XT) | nvidia-glx | nvidia-glx | nvidia-glx | 6803 | ApOKlips | |
| NV43 (Geforce 6200) | nvidia-glx | nvidia-glx | nvidia-glx | 2900 3790 | ryo Yannick@AMD64 (mémoire intégrée) |
|
| NV 43 (GeForce 6600) | nvidia-glx | 5600-6500 | fourminux, Id2ndR | |||
| NV40 (GeForce 6800 GT/Ultra) | nvidia-glx | nvidia-glx | 14080 | KornEtLiuss | ||
| NV41 (GeForce 6800) | nvidia-glx | nvidia-glx | nvidia-glx | nvidia.run | 8400 | thorgull, TraGiKomiK |
| G70 (GeForce GO 7600) | nvidia-glx | nvidia-glx-new | 11500 | Nezo / Karas | ||
| G70 (GeForce EN7600GS) | nvidia-glx | 8993 | Clarkwan | |||
| G72M (Geforce 7400 Go) | nvidia-glx | nvidia-glx | nvidia-glx | 2700 | pouchat | |
| G73 (GeForce 7600 GT) | nvidia-glx | nvidia-glx | 10000 | Xcxl, clement33185 | ||
| GeForce 7950 GT | nvidia-glx | 17000 | Imoreion | |||
| NV?? (Geforce 8400M GS) | nvidia-glx-new | clems | ||||
| NV?? (Geforce 8600) | nvidia.run | Id2ndR | ||||
| GeForce 8800 GT | nvidia.run | octavious |
* Lors de la mise à jour du système perte configuration mais la restauration puis le remplacement manuel du driver "nv" par "nvidia" dans le fichier xorg.conf -section "device"- résout le problème.
VIA/S3G
| Chipset | Dapper | Edgy | Feisty | FPS | Utilisateur(s) |
|---|---|---|---|---|---|
| UniChrome | openchrome | openchrome | openchrome |
En cas de soucis avec les drivers officiels (notamment pour les cartes ATI Mobility), la solution peut être le script « envy ».
Contributeurs : Id2ndR, ostaquet, cgizmo, xilef, malaiwah, makak_du_27.