Gentoo Logo

Guide de l'accélération 3D matérielle

Table des matières :

1.  Introduction

Qu'est-ce que l'accélération 3D matérielle et pourquoi en voudrais-je ?

Avec l'accélération 3D matérielle, le rendu tri-dimensionnel utilise le processeur graphique de votre carte vidéo au lieu de consommer de précieuses ressources processeur pour afficher des images en 3D. On appelle également cela « accélération matérielle » par opposition à « accélération logicielle », car sans accélération matérielle, votre processeur est obligé de tout calculer lui-même en utilisant les bibliothèques de rendu Mesa, ce qui consomme une quantité non négligeable de puissance. Alors qu'Xorg supporte de façon standard l'accélération matérielle 2D, il lui manque souvent son équivalent 3D. L'accélération 3D matérielle est appréciable dans des situations qui requièrent le rendu d'objets 3D comme les jeux, la CAO 3D ou la modélisation.

Comment disposer de l'accélération 3D matérielle ?

Dans de nombreux cas, il existe à la fois des pilotes binaires et des pilotes libres. Les pilotes libres sont préférables puisque nous utilisons Linux et que le logiciel libre est l'un de ses principes sous-jacents. Parfois, les pilotes binaires sont les seuls disponibles, comme pour les cartes nVidia. Les pilotes binaires sont x11-drivers/nvidia-drivers pour les cartes nVidia et x11-drivers/ati-drivers pour les cartes ATI.

Qu'est-ce que DRI ?

L'Infrastructure de Rendu Direct, ou DRI (« Direct Rendering Infrastructure »), est une architecture qui permet d'accéder aux fonctions matérielles des cartes graphiques de manière sûre et efficace. Il inclut des changements au serveur X, à plusieurs bibliothèques clientes et au noyau. La première grande utilisation de DRI est la création d'implémentations rapides d'OpenGL.

Qu'est-ce que le DRM et quelle est sa relation avec l'Xorg normal ?

Le DRM (« Direct Rendering Manager ») est une amélioration d'Xorg qui ajoute l'accélération 3D aux cartes en fournissant le module noyau nécessaire au Rendu Direct.

Objectif

Ce guide est destiné aux personnes qui ne peuvent faire fonctionner le Rendu Direct avec seulement Xorg. Le DRM fonctionne avec les pilotes suivants :

  • 3dfx
  • intel
  • matrox
  • rage128
  • radeon
  • mach64
  • sis300
  • via

Visitez le site DRI pour plus d'informations et de documentation.

Retour d'expériences

Envoyez vos suggestions ou questions à Donnie Berkholz.

2.  Installez Xorg et configurez votre noyau

Installez Xorg

Veuillez lire notre guide de configuration d'Xorg pour installer et lancer Xorg.

Configurez votre noyau

Trouvez le nom/modèle de votre jeu de composants (chipset) et activez seulement celui-ci.

Exemple de code 2.1 : Trouvez le nom/modèle de votre jeu de composants AGP

# emerge pciutils; lspci | grep AGP
# 00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)
(L'affichage sera probablement différent pour votre matériel.)

Si votre jeu de composants n'est pas supporté par le noyau, vous devriez essayer de lui passer le paramètre agp=try_unsupported de sorte que le noyau utilise les routines génériques d'Intel pour le support d'AGP. Pour ajouter ce paramètre, modifez le fichier de configuration de votre chargeur de démarrage.

La plupart des noyaux, sinon tous, devraient avoir ces options. Ceci a été configuré en utilisant un noyau standard gentoo-sources.

Exemple de code 2.2 : Configuration du noyau

# ls -l /usr/src/linux 
lrwxrwxrwx 1 root root 22 2007-02-14 20:12 /usr/src/linux -> linux-2.6.18-gentoo-r4
(Faites en sorte que /usr/src/linux pointe vers votre noyau.)
# cd /usr/src/linux
# make menuconfig

Exemple de code 2.3 : Les options de make menuconfig

Processor type and features --->
<*> MTRR (Memory Type Range Register) support
Device drivers --->
  Graphics support --->
  <M> /dev/agpgart (AGP Support) -->
  (L'option agpgart n'est pas présente sur les noyaux 64 bits ;
  choisissez juste le support de votre jeu de composants.)
  <M> Intel 440LX/BX/GX, I8xx and E7x05 support
  (Activez le support de votre jeu de composants.)
  <M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) -->
    <M> (Choisissez votre carte graphique dans la liste.)

Compilez et installez votre noyau

Exemple de code 2.4 : Compilation et installation noyau

# make && make modules_install

N'oubliez pas de configurer votre fichier grub.conf ou lilo.conf et de lancer /sbin/lilo ensuite si vous utilisez LILO.

3.  Configurez le Rendu Direct

Configurez xorg.conf

Ouvrez /etc/X11/xorg.conf et modifiez-le pour activer DRI et GLX.

Exemple de code 3.1 : Extrait du fichier xorg.conf

...
Section "Module"
  Load "dri"
  Load "glx"
  ...
EndSection
...
Section "Device"
  Driver "radeon"
(Remplacez radeon par le nom de votre pilote.)
  ...
EndSection
...
Section "dri"
  Mode 0666
EndSection

Chargez le module pour votre carte graphique automatiquement

Vous devez ensuite ajouter le nom du module noyau pour votre carte au fichier /etc/modules.autoload.d/kernel-2.6 pour que ce module soit chargé automatiquement au démarrage.

Exemple de code 3.2 : Modifier /etc/modules.autoload.d/kernel-2.6

(Spécifiez le nom du module.)
intel-agp

Note : Si vous avez compilé agpgart en tant que module, il vous faudra également l'ajouter dans le fichier /etc/modules.autoload.d/kernel-2.6.

4.  Testez l'accélération 3D

Redémarrez avec votre nouveau noyau

Redémarrez avec votre nouveau noyau et connectez-vous en tant qu'utilisateur normal. Il est temps de voir si vous disposez du Rendu Direct et quel en est le bénéfice. glxinfo et glxgears se trouvent dans le paquet mesa-progs, donc veillez à ce qu'il soit installé avant de pouvoir exécuter ces commandes.

Exemple de code 4.1 : Test du rendu

$ startx
(Inutile de charger les modules pour votre pilote ou pour agpgart si 
vous avez compilé agpgart comme module.)
(Ils seront chargés automatiquement.)
$ glxinfo | grep rendering
direct rendering: Yes
(S'il est indiqué "No", vous ne disposez pas de l'accélération 3D.)

$ glxgears
(Testez votre nombre d'images par seconde (FPS - Frames Per Second) 
pour la taille par défaut. Ce nombre devrait être significativement plus élevé 
qu'avant la configuration du DRM. Faites ce test lorsque le processeur est en 
train de faire le moins de traitements possibles.)

Note : Votre nombre d'images par seconde peut être limité par le taux de rafraîchissement de votre écran, donc gardez ceci en tête si glxgears ne vous donne seulement que 70-100 FPS. games-fps/ut2004-demo ou d'autres jeux 3D sont des meilleures références de test, puisqu'ils peuvent vous donner vos performances réelles.

Obtenez le maximum du Rendu Direct

Si vous souhaitez régler encore plus d'options, consultez la matrice des fonctionnalités sur le site Web du DRI, ou encore la liste des fonctionnalités du pilote sur Sourceforge.

5.  Dépannage

Cela ne fonctionne pas. Je n'ai pas de DRI et ne peux expliquer pourquoi.

Essayez modprobe radeon avant de démarrer le serveur X (remplacez radeon par le nom de votre pilote). Essayez aussi de compiler agpgart directement dans le noyau au lieu d'un module.

Quand je lance startx, j'ai cette erreur : « [drm] failed to load kernel module agpgart »

C'est parce que vous avez compilé agpgart dans le noyau au lieu de le mettre en module. Ignorez ce message sauf si vous avez des problèmes.

J'ai une Radeon et je veux la sortie TV.

Les pilotes développés au sein du projet GATOS ont été intégrés au code source de Xorg. Il n'y a donc rien à faire de spécial pour avoir la sortie TV, x11-drivers/xf86-video-ati suffira.

Cela ne fonctionne pas. Ma carte est tellement nouvelle qu'elle n'est pas supportée du tout !

Essayez les pilotes binaires. Pour les pilotes ati-drivers, une liste est disponible sur http://support.amd.com/us/gpudownload/Pages/index.aspx. Si ceux-ci ne supportent pas votre carte, utilisez fbdev. C'est lent, mais ça marche.

J'ai une carte PCI et cela ne fonctionne pas. A l'aide !

Editez le fichier /etc/X11/xorg.conf. Dans la section « Device », activez ForcePCIMode.

Exemple de code 5.1 : Activer de l'option ForcePCIMode

Option "ForcePCIMode" "True"

6.  Références

  1. http://forums.gentoo.org/viewtopic.php?t=46681
  2. http://forums.gentoo.org/viewtopic.php?t=29264
  3. http://dri.freedesktop.org/
  4. http://www.retinalburn.net/linux/dri_status.html


Imprimer

Dernière mise à jour le 14 décembre 2009

Une version originale plus récente datée du 11 septembre 2011 existe.

Résumé : Ce guide vous aidera à faire fonctionner l'accélération matérielle avec le DRM et Xorg sur Gentoo Linux.

Donnie Berkholz
Auteur

Jorge Paulo
Correcteur

Joshua Saddler
Correcteur

Vincent Rubiolo
Traducteur

Donate to support our development efforts.

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.