Die Inhalte sind arg veraltet!

Die Inhalte gründen nicht auf dem Stand von FreeBSD 11

oder von FreeBSD 10

, sondern auf den Stand von FreeBSD 7

oder älter.

Dennoch können Inhalte richtig sein.

3D-Grafik-Beschleunigung

Betrifft OS:
FreeBSD

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: <ATI Radeon LW Mobility 7500 M7> 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