Ceci est une ancienne révision du document !
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 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.
L'Interface de programmation standard est l'OpenGL, il est libre et utilisé par défaut sous GNU/Linux. (Direct3D est l'équivalent non-libre chez Microsoft).
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"
Si la valeur correspondant à direct rendering
est yes alors l'accélération est activée, Si la valeur correspond a no elle 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". Error: couldn't find RGB GLX visual
Comment activer l'accélération graphique ?
Simplement aller dans Système → Administration → Pilotes de Périphérique :
- Et activer les pilotes mis à votre disposition pour votre matériel.
Cependant si cette manipulation facile ne fonctionne pas, et suivant le modèle et le type de chipset, la procédure d'activation peut être sensiblement différente.
Nous vous renvoyons alors les pages pour vos cartes graphiques :
Comment activer les effets visuels ?
Aller dans Système → Préférences → Apparence → Onglet Effets Visuel → Changer la valeur.
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, une bonne pratique consiste à 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 non 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 :
glxgears
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).
Classement glxgears :
Une page du wiki est consacrée au classement des cartes graphiques avec glxgears:
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 doubler dans certains cas sa valeur Frames Per Second ?
- Désactiver la composition / bureaux 3D.
Résultat de test sur une Ati mobility Radeon X700 : Sans composition : 2312 ,avec la composition de compiz fusion 67 ,avec la composition de metacity : 717.
Voir page correspondante : optimisation
* 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)
Est-il possible d'activer un profil de couleur pour obtenir un affichage juste des couleurs à l'écran?
Oui, référez-vous à la documentation sur Argyll CMS.
Benchmark des cartes graphique par la communauté Ubuntu
Page consacrée au benchmark:
Et une page consacrée aux pilotes:
Pour la procédure de test veuillez désactiver momentanément la composition pour obtenir les valeurs réelles.
Aller dans Système → Préférences → Apparence → Onglet Effets Visuel → Mettre sur AUCUN.
Ouvrir un terminal puis lancer :
glxgears
À 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
oui
signifie que l'accélération est immédiatement fonctionnelle.
ATI Technologies Inc Radeon Mobility M7 LW [Radeon Mobility 7500] ou NVIDIA (…)
Voir également la page consacré aux benchmarks.
ATI
Chipset | Gutsy | FPS | Utilisateur(s) |
---|---|---|---|
7000/VE | - | 267 | Fernando |
7000 Mobility | - | 369 | simtris |
7500 Mobility | - | 673 | |
7900 Mobility | - | 1300 | |
9000 Mobility | - | 2200 | Dexter |
9200 | - | 1400 | STORMBL4ST |
9200 pro | - | 1160 | sginer |
9600/9700 Mobility M10/M11 | - | 2320 / 120 ? | _Enchained/tardami.sofiane |
9600 pro | - | 2100 / - | Galileo / olivierb2 |
9600xt | ati_depots | 2500 | sancho |
9700 pro | ati depots | 5825 | Sanke |
9800 pro | - | 270 | K-let-powa |
9800 pro | - | 11.070 | Nicolas_x |
9800 | - | - | tontonjoe |
X200M | 1450 | luigifab | |
X300 | - | 1900 | colin2mars |
IGP 320m / Mobility U1 | radeon | 240 | mavosaure |
Mobility X200 | 1800 | ||
Mobility X300 | 2200 | xilef | |
Mobility X600 | - | 3700 / 1700 | cybergoll / jonas |
Mobility X700 | - | 3350 | azema |
Mobility X1400 | apokalypse / tripleg88 | ||
Mobility X1700 | - | 4830 / 2620 | mr_jay_01 / wiz |
Mobility X1800 | - | 8400 / 5500 / 3300 | themulot |
Mobility FireGL V5600 | - | 3300 | Dietrichop |
Mobility 2600 series | - | 3200 | Dietrichop |
X600 Series | - | 2000 | capucino |
X700 | - | 9100 | slasher-fun |
X800 SE | - | 2500 | GroggySensei |
X800 VE | - | 7000 | Id2ndR |
X800 Pro | - | - | bioman / inazo |
X1300 Pro | - | 3300 / 3000 | cgizmo / KaoT |
X1600 | 2500 | blackbg | |
X1600XT | - | 5270 | fizzzico |
X1900 GT V2 | - | 8120 | Arnaud01 |
X1950 Pro/GT | - | 13500 | aknotwot |
X1950 XT | - | 15467 | jeremome |
X2300 | 2250 | billybug | |
X1100 IGP | fglrx dépots | 2000 | Drekky |
X2300 | fglrx dépots | 1800 | IceCorE |
HD4850 | - | 52521 | Septhal |
Intel
Chipset | Hardy | Intrepid | FPS | Utilisateur(s) |
---|---|---|---|---|
82845G/GL Integrated | 420 | luigifab | ||
82852/855GM Integrated | 510 | malaiwah | ||
82915G/GV/910GL | 1200 | ostaquet | ||
GMA450 | 1000 | Id2ndR | ||
GMA500 (SCH Poulsbo) rev07 | Oui après bidouille | 145 | zobi8225 | |
Mobile 915GM | 900 | Smashou | ||
945GM/GMS/940GML | oui | 850, 1090,510 | djibi, mr_jay_01,polobricolo | |
G965 | 1270 | Fabien26 | ||
845G/GL | 570 | deskro | ||
82810 (i810) | 315 | themulot | ||
82830 (i830) | 285 | francoisa | ||
86C270-294 Savage/IX-MV | non | 60 | zobi8225 | |
GM965/GL960 | oui | oui | 920 | Jerem |
82Q35 Express Integrated | 1225 | dolo |
Nvidia
Lire en priorité la page consacrée à nvidia.
RIVA et RIVA TNT
Chipset | Nom de code | Hardy | Intrepid | Jaunty | FPS | Utilisateur(s) |
---|---|---|---|---|---|---|
RIVA TNT | NV4 | 380 - 430 | MadSlipknot | |||
RIVA TNT2 | NV5 | bioman | ||||
RIVA TNT2 Pro | NV5 | |||||
RIVA TNT2 Ultra | NV5 | |||||
RIVA TNT2 M64 | NV6 | 300 - 350 1) | ymulleneers |
GeForce 2
GeForce 4
GeForce FX 5
Chipset | Nom de code | Hardy | Intrepid | Jaunty | FPS | Utilisateur(s) |
---|---|---|---|---|---|---|
GeForce FX 5200 | NV34 | nvidia-glx 173 | _Enchained | |||
GeForce FX 5200 Ultra | NV34 | nvidia-glx 173 | 2400 | ostaquet | ||
GeForce FX 5500 | NV34 | nvidia-glx 173 | 2470 - 1300 | ymulleneers | ||
GeForce FX 5700 Ultra | MV36 | nvidia-glx 173 | 6803 | ApOKlips | ||
GeForce FX 5900 XT | MV35 | nvidia-glx 173 | 3023 | Teknicien |
GeForce 6
Chipset | Nom de code | Hardy | Intrepid | Jaunty | FPS | Utilisateur(s) |
---|---|---|---|---|---|---|
Geforce 6200 | NV43 | 2900 - 3790 | ryo Yannick@AMD64 |
|||
Geforce 6600 | NV43 | 5600 - 6500 | fourminux, Id2ndR | |||
GeForce 6600 GT | NV43 | 7200 | Astohan | |||
GeForce 6800 | NV41 | 8400 | thorgull, TraGiKomiK | |||
GeForce 6800 GT | NV40 | 14080 | KornEtLiuss | |||
GeForce 6800 Ultra | NV40 | 14080 | KornEtLiuss |
GeForce 7
Déplacé ici: classement glxgears
GeForce 8
Déplacé ici: classement glxgears
GeForce 9
Déplacé ici: classement glxgears
VIA/S3G
Chipset | Feisty | Karmic | FPS | Utilisateur(s) |
---|---|---|---|---|
UniChrome | openchrome | |||
K8M890CE/K8N890CE (Chrome 9 HC IGP) | vesa | 650 | WhiteFoxy |
En cas de soucis avec les pilotes officiels (notamment pour les cartes ATI Mobility), la solution peut être le script « envy ».
Contributeurs : Id2ndR, ostaquet, cgizmo, xilef, malaiwah, makak_du_27.