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 prend en charge 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, en particulier quand votre carte graphique est si récente que des pilotes Open Source n'ont encore pu être écrits pour prendre en charge ses fonctionnalités. Les pilotes binaires sont inclus dans 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. Elle entraîne des changements du serveur X, de plusieurs bibliothèques clientes et du 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 du 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
  • nouveau
  • rage128
  • radeon
  • mach64
  • sis300
  • via

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

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 : trouver 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 pris en charge 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 la prise en charge 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 : configurer le 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 : compiler et installer le 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.

Ajout des utilisateurs au groupe video

Maintenant, ajoutez vos utilisateurs au groupe video, en suivant les consignes du manuel:

Exemple de code 2.5 : ajouter un utilisateur au groupe video

# gpasswd -a username video

3.  Configuration du Rendu Direct

Configuration de Xorg

Fort heureusement, le fait d'ajouter l'utilisateur au groupe video suffit à activer le rendu direct. Cependant, vous pouvez aussi avoir besoin de créer un fichier dans le répertoire /etc/X11/xorg.conf.d/. Vous pouvez le nommer selon votre goût ; assurez-vous seulement que son nom se termine par .conf. Lancez votre éditeur de texte favori et créez un fichier contenant ceci :

Exemple de code 3.1 : /etc/X11/xorg.conf.d/10-dri.conf

Section "Device"
  Driver "radeon"
  (Replace radeon with the name of your driver.)
EndSection
Section "dri"
  Mode 0666
EndSection

Modification à apporter à /etc/conf.d/modules

Vous devrez ajouter le nom du module qui prend en charge votre carte à /etc/conf.d/modules pour empêcher ce dernier d'être chargé automatiquement au démarrage du système.

Exemple de code 3.2 : éditer /etc/conf.d/modules

(Remplacez le nom du module selon le cas.)
modules="intel-agp"

Note : si vous avez compilé agpgart en tant que module, il vous faudra également l'ajouter au fichier /etc/conf.d/modules.

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, assurez-vous donc qu'il est installé avant de pouvoir exécuter ces commandes.

Exemple de code 4.1 : tester le 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 de trames par seconde (FPS) peut être limité par le taux de rafraîchissement de votre écran, donc gardez ceci en tête si glxgears ne vous donne une information que pour de taux allant de 70 à 100 trames par seconde. games-fps/ut2004-demo ou d'autres jeux 3D sont des meilleures outils de test, puisqu'ils peuvent vous informer des 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 DRI 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 de le laisser sous forme de 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, l'installation du paquet x11-drivers/xf86-video-ati suffira.

Cela ne fonctionne pas. Ma carte est tellement nouvelle qu'elle n'est pas du tout prise en charge !

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

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

Créez un fichier dans le répertoire /etc/X11/xorg.conf.d/; nommez-le comme vous voulez mais avec un nom se terminant par .conf. Ajoutez-y ceci :

Exemple de code 5.1 : /etc/X11/xorg.conf.x/10-pcimode.conf

Section "Device"
  Option "ForcePCIMode" "True"
EndSection

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/

Retour des utilisateurs

Pour vos suggestions, questions, etc., e-mail Donnie Berkholz.



Imprimer

Dernière mise à jour le 27 juillet 2013

La version originale de cette traduction n'est plus maintenue

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

José Fournier
Traducteur

Donate to support our development efforts.

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