Cette page est en cours de rédaction.
Apportez votre aide…

Ceci est une ancienne révision du document !


Par: phetu Traduction de: http://people.freedesktop.org/~ajax/dri-explanation.txt

Explication de OpenGL et autres acronymes sous linux

Les gens sont fréquemment confus par l'importante quantité d'acronyme qui entoure le monde de OpenGL sous Linux. Ce document est un effort pour réduire la confusion. Diverses définitions sont données selon un ordre logique plutôt qu'alphabetique pour une meilleur compréention.

Le noyau Linux visé est le 2.6.

OpenGL: est une spécification de graphique en 3D de SGI, descendant du produit anciennement nommé IRIS GL, compétiteur de Direct3D et QuickDraw3D (dépassé). Fréquemment abrégé "GL", particulièrement sous Linux, depuis que "OpenGL" est une marque déposée, et que l'utilisation de cette marque requière d'être dans une zone (non-libre).

GLX: GL est un language pour le graphique, non un système de fenêtre. "GLX" réfère à une extension qui permet la communication de GL avec le système de gestion de fenêtre dans le but de permettre le rendu 3D dans X. GLX est une extension au protocole X. Il y a des extensions similaire pour d'autre système de fenêtre comme - WGL sous Windows, AGL sous MacOS. Dans X, la librairie du coté client pour GLX se nomme libGL, et du coté serveur libglx.

Direct rendering (rendu direct): Il y a deux façons pour qu'un logiciel qui utilise GL d'être rendu à l'écran. Soit le client fait le rendu lui même soit la requête est passé au serveur et celui-ci s'occupe du rendu. Le rendu coté serveur se nomme "indirect rendering" (rendu indirect), et coté client "direct rendering". Le rendu direct est habituellement plus rapide. Celà est particulièrement vrai avec Xorg, où le rendu coté serveur est entièrement fait logicielement.

DRI: Pour "Direct Rendering Infrastructure" est une technologie qui permet l'utilisation de "direct rendering" pour les logiciels utilisant GL sous les systèmes d'exploitation Linux et BSD.

Mesa: Mesa est une implémentation de GL écrit par Brian Paul et une douzaines de contributeurs. Il contient une logiciel de traducteur par ligne (rasterizer), une machine d'état et de communication GL pour les gestionnaires de fenêtre incluant X et Win32. Tous les pilotes libres pour DRI sont basés sur Mesa ainsi que pluseurs autres à code source fermer.

Pilote DRI: Ceci est où tout l'excitement se produit. En effet, le pilote DRI est reponsable de la programmation du matériel 3D. Habituellement les pilotes DRI utilise la machine d'état de Mesa. Dans le DRI, la librairie GLX du coté client charge un pilote , nommé quelque_chose_dri.so.

Pilote DRM: Ceci est la composante de DRI du coté du noyau. Le DRM est reponsable de la sécurité et la gestion des ressources. Il n'est pas particulièrement intéressant mais essentiel. Il y est nommé quelque_chose.ko dans Linux 2.6.

Pilote DDX : Ceci est la partie serveur X responsable des autres types de rendu comme Render et Xv. Le DDX doit être capable de fonctionner avec DRI, sinon il y a peu de relation avec GL.

AGP: AGP est une version rapide du bus PCI , avec des fonctionnalités supplémentaires pour le matériel graphique. La base de AGP est dans le module du noyau nommé agpgart.ko.

chipset AGP: Différentes carte mère ont différent chipset et ceux-ci nécessite des impémentations des fonctionnalités AGP différentes. Vous devez avoir celui correspondant à votre matériel et ce n'est pas toujours la même chose que pour votre chipset de carte graphique. Exemple: Le chipsets Via a besoin de via-agp.ko, etc.

je n'arrive pa a instalé openGL

comment doua'je faire ?

Pour le noyau

  • Un pilote DRM correspondant à votre carte vidéo
  • Du support AGP
  • Du chipset AGP correspondant à votre carte-mère

Pour la plupart des cartes les plus utilisés, les pilotes DRM sont disponible et déjà installé à l'exception de 2.6.9-ish sur mach64 et savage. Pour ceci vous devez les construires à partir du CVS: http://dri.freedesktop.org/wiki/Building .

Tous les noyaux possède le support AGP.

Être certain que /dev/dri/card0 existes et il est possible d'y écrire.

Pour l'utilisateur

Le pilote DRI Un DDX La librairie libGL

Mise a part les exceptions précédentes vous avez la partie utilisateur fonctionnelle.

Vous devez avoir les lignes suivantes dans Xorg.conf

Load "dri" 
Load "glx"

Être certain que vous utilisez pilote DDX compatible avec DRI donc pas vesa ou fbdev.

Pour savoir si ça fonctionne faite la commande:

grep Direct /var/log/Xorg.0.log 

"Direct rendering enabled" devrait être afficher ainsi que "direct rendering: Yes" dans la commande:

glxinfo | grep Direct
  • opengl.1173949481.txt.gz
  • Dernière modification: Le 18/04/2011, 14:45
  • (modification externe)