Ceci est une ancienne révision du document !



L'accélération graphique sur GNU/Linux

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

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

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 :

Aller dans Système → Préférences → Apparence → Onglet Effets Visuel → Changer la valeur.

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

Une page du wiki est consacrée au classement des cartes graphiques avec glxgears:

Classement glxgears

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.

  • 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)

Oui, référez-vous à la documentation sur Argyll CMS.

Déplacement en cours !

Page consacrée au benchmark:

Classement glxgears

Et une page consacrée aux pilotes:

Liste des cartes graphiques


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

Une liste des cartes supportées par le pilote ATI Catalyst est disponible ici : Tutoriel Catalyst
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
9600xtati_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

Chipset Nom de code Hardy Intrepid Jaunty FPS Utilisateur(s)
GeForce 2 MX NV11 678 Niffo
GeForce 2 MX 400 NV11 830 zobi8225

GeForce 4

Chipset Nom de code Hardy Intrepid Jaunty FPS Utilisateur(s)
GeForce4 MX 440 AGP 8X NV17 legacy 1001 - 2660 Dark-Side, Euskaral, Eireen
GeForce4 Ti 4200 NV25 legacy 3597 Acp
GeForce4 Ti 4200 AGP 8X NV28 legacy 1964 Shinigami Delroën

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 ».

Si toutefois l'accélération graphique n'est pas activée après modifications, la solution peut être de redémarrer le système pour que les changements soient pris en compte.

Contributeurs : Id2ndR, ostaquet, cgizmo, xilef, malaiwah, makak_du_27.


1)
Pas de bureau 3D, pas de solution connue
  • acceleration_graphique.1263642837.txt.gz
  • Dernière modification: Le 18/04/2011, 14:58
  • (modification externe)