3D-Grafik-Beschleunigung
========================
.. |date| date::
.. sidebar:: Info
.. image:: ../images/logo-freebsd.png
.. note::
Die Inhalte sind arg veraltet!
Unter 3D-Grafik-Beschleunigung wird die Möglichkeit verstanden, 3D-Funktionen
(OpenGL) hardwarebeschleunigt (Grafikkarte) innerhalb eines X11-Fensters
anzuzeigen.
Technische Übersicht
--------------------
Diese Übersicht mag aus dem technischen Standpunkt nicht ganz korrekt
sein, zeigt aber verständlich auf, wie 3D-Funktionen
hardwarebeschleunigt werden:
::
3D-Anwendung => X11-Server => DRI => DRM => Grafikkarte
Die 3D-Funktionen werden von der 3D-Anwendung über den X11-Server an DRI
weitergereicht. `DRI `__ (Direct
Rendering Infrastructure) ist die Schnittstelle zwischen X11-Software
und Kernel für den direkten Zugriff auf die Grafikkarten-Hardware.
Von DRI geht es weiter zu DRM (Direct Rendering Module). DRM ist im
Kernel verankert und greift somit direkt auf die Grafikkarten-Hardware
zu.
Einrichtung von 3D-Grafik-Beschleunigung
----------------------------------------
Eine Schritt für Schritt-Anleitung für den X.Org-Server, wie sie zu
hardwarebeschleunigtem OpenGL kommen. Falls Sie den XFree86-Server
einsetzen, müssen Sie gegebenerfalls die Schritte anpassen (z.B. andere
Konfigurationsdatei)!
DRM
~~~
Falls der Kernel DRM für Ihre Grafikkarte unterstützt, sollte die
DRM-Unterstützung automatisch geladen werden. Überprüfen Sie mit:
::
dmesg|grep drm
ob DRM vom Kernel unterstützt wird. Die Ausgabe bei FreeBSD 5.3 für eine
ATI Mobility 7500 sieht wie folgt aus:
::
drm0: port 0x3000-0x30ff mem
und und.. info: [drm] AGP at 0xd0000000 256MB info: [drm] Initialized
radeon 1.11.0 20020828 on minor 0
Bei Problemen sehen Sie bitte unter `DRI für
FreeBSD `__ nach! Bei Problemen
mit DRM bei i915 Chipset gibt es
`hier `__
abhilfe.
**DRM muß explizit in den Kernel eingebaut werden**, was bei den
verschiedenen Grafikkarten unterschiedlich aussieht.
/usr/src/sys/i386/conf/NOTES sagt dazu:
::
# Direct Rendering modules for 3D acceleration.
device drm # DRM core module required by DRM drivers
device mach64drm # ATI Rage Pro, Rage Mobility P/M, Rage XL
device mgadrm # AGP Matrox G200, G400, G450, G550
device r128drm # ATI Rage 128
device radeondrm # ATI Radeon
device sisdrm # SiS 300/305, 540, 630
device tdfxdrm # 3dfx Voodoo 3/4/5 and Banshee
options DRM_DEBUG # Include debug printfs (slow)
DRI
~~~
Vergessen Sie nicht, DRI (graphics/dri oder bei Verwendung von
XFree86-4.5 /graphics/xfree86-dri) zu installieren::
# pkg_add -r dri
oder::
# pkg_add -r xfree86-dri
X11-Server
~~~~~~~~~~
Folgende Einträge sind in der X11-Server-Konfigurationsdatei
(/etc/X11/xorg.conf bzw. /etc/X11/XF86Config) notwendig:
::
Section "Module"
Load "dri"
Load "glx"
EndSection
Section "DRI"
Mode 0666
EndSection
Abschlusstest
~~~~~~~~~~~~~
Kontrollieren Sie mit::
# glxinfo | grep rendering direct rendering: Yes
ob hardwarebeschleunigtes OpenGL unterstützt wird. Falls es nicht
funktioniert, könnte es sein, dass Ihre Grafikkarte AGP nicht benutzt.
Sie müssen dann `AGP
aktivieren `__.
``glxinfo`` ist in
`graphics/mesa-demos `__
enthalten.
Weiterführende Literatur
------------------------
- `X.Org 7.0 -
Dokumentation `__
- `X.Org 6.9 -
Dokumentation `__