Home / LinuxUser / 2001 / 06 / 3D-Grafik – Die Grundlagen

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Debian leicht gemacht
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

Die dritte Dimension

3D-Grafik – Die Grundlagen

GLX vs. DRI

Abbildung 1

Abbildung 1: Wie kommen 3D-Anweisungen von der Applikation auf den Bildschirm? Netzwerktransparent mit GLX oder performant mit DRI. (Bild: Bernhard Kuhn)

Als Mitte der 90er Jahre die ersten Grafikkarten mit speziellen 3D-Hardware-Beschleunigungs-Funktionen zu einem erschwinglichen Preis auf den Consumer-Markt kamen, waren Software-basierte 3D-Render-Lösungen noch an der Tagesordnung: Anwendungen, in denen 3D-Objekte gezeichnet werden sollten, mussten einen Software-Renderer damit beauftragen, eine Lösung zu berechnen, wie sich die 3D-Objekte mit den auf der Grafikkarte vorhandenen 2D-Funktionen möglichst gut darstellen lassen.

Kein Wunder, dass damit bei 3D-Grafiken nur äußerst geringe Frame-Raten möglich waren. Die 3D-Hardware-Unterstützung kam unter Linux nur langsam in Schwung, unter anderem weil zunächst ein Modul fehlte, welches eine Verbindung zwischen der OpenGL-Schnittstelle und den freien XFree86-Servern herstellen konnte: GLX.

An der University of Utah wurde eine freie GLX-Implementierung (http://utah-glx.sourceforge.net/) vorangebracht, allerdings beschränkt auf einige wenige unterstützte Grafikkarten. Der Durchbruch gelang unter Linux erst, nachdem SGI sein vormals kommerzielles GLX-Modul unter eine Open-Source-Lizenz gestellt hatte und die Firma Precision Insight damit beauftragte, an einer neuen Infrastruktur für das XFree86-Projekt zu arbeiten, mit der nicht nur ein indirekter (über den X-Server und das GLX-Protokoll vermittelter Zugriff), sondern (mittels eines ausgelagerten 3D-DRI-Treibers) ein direkter Zugriff auf die 3D-Hardware-Funktionen möglich sein sollte.

Diese Treiber-Infrastruktur trägt den Namen "Direct Rendering Infrastructure" (http://dri.sourceforge.net/) und erlaubt seit dem Erscheinen von XFree86 4.0 einen direkten (nur noch über einen Kernel-Treiber vermittelten) Zugriff auf die 3D-Hardware-Register von neueren Grafikkarten möglich. Eine Auswahl der DRI-Treiber für Kernel 2.4 finden Sie auf der Heft-CD.

Direkt oder indirekt?

Der größte Vorteil der Direct Rendering Infrastructure liegt für Grafik-Chip-Hersteller darin, dass sie dank der aus dem XFree86-Server ausgelagerten 3D-Treiberarchitektur auch proprietäre Treiber-Software beisteuern können, ohne damit die GPL-Lizenzbedingungen zu verletzen. Der 3D-Anwender profitiert dadurch theoretisch auch unter Linux in vollem Umfang von den 3D-Fähigkeiten seiner Grafikkarte.

Allerdings erkauft man sich diese direkte 3D-Unterstützung als Anwender mit der größeren Gefahr von Systemtotalabstürzen und dem Verlust der sogenannten Netzwerktransparenz. Dadurch, dass die 3D-Grafikbefehle nämlich nicht mehr über das X11-Netzwerkprotokoll an die Grafik-Hardware übertragen, sondern (über den DRI-Kernel-Treiber) auf direktem Wege übermittelt werden, bleibt im Falle eines Programmfehlers nicht nur der X-Server hängen, sondern im schlimmsten Fall das gesamte Betriebssystem.

Im klassischen Falle einer über den X-Server vermittelten Kommunikation mit der Grafik-Hardware besteht jederzeit die Möglichkeit, eine Anwendung auf einem anderen Rechner darzustellen, als auf demjenigen, von dem sie gestartet wurde. Dies ist auf der DRI-Architektur (momentan) nicht möglich, da die 3D-Befehle an die Grafikkarte nicht mehr über das X11-Netzwerkprotokoll vermittelt werden können.

Momentan hat man als 3D-Anwender also die Wahl zwischen direktem, aber zum Teil noch etwas instabilen 3D-Hardware-Rendering über die DRI-Treiber einerseits und indirektem (netzwerktransparent vermittelten) 3D-Software-Rendering (Mesa) andererseits. Für 3D-Spiele, die auf einem Einzelplatzrechner laufen, empfiehlt sich demnach der Einsatz von DRI-Treibern, während der Einsatz des Mesa-Renderers überall da sinnvoll erscheint, wo es auf größtmögliche Stabilität und Netzwerktransparenz ankommt. Das DRI-Projekt hat aber die Absicht bekundet, Mesa durch eine andere Lösung zu ersetzen, mit der dann auch indirektes 3D-Hardware-Rendering möglich sein soll.

Grafik-Chips und die Verfügbarkeit von Hardware-beschleunigten 3D-Treibern unter Linux

Grafikkarten, die auf folgenden Grafik-Chips basieren, profitieren unter Linux momentan dank des DRI-Projekts von direkter 3D-Hardware-Beschleunigung (Neuerungen siehe http://dri.sourceforge.net/status.phtml):
Chip-Hersteller Chipsätze
ATI Rage 128 (Pro), Radeon
Intel i810, i810-dc100, i810e, i815, i815e
Matrox G200, G400, G450
3dfx Banshee, Voodoo 3, Voodoo 4, Voodoo 5
3DLabs MX/Gamma
Chip-Hersteller nVidia gibt für seine aktuellen Grafikkarten (Geforce-Serie) keine Hardware-Spezifikationen an das DRI-Projekt heraus, bietet jedoch unter http://www.nvidia.com/Products/Drivers.nsf/Linux.html eigene proprietäre 3D-Treiber.
Chip-Hersteller PowerVR, derzeit neben ATI (Radeon) nVidia's größter Konkurrent, verzichtet bislang auf die Bereitstellung von Linux-3D-Treibern für seine Kyro(II)-Chipsätze (siehe http://www.powervr.com/downloads/Drivers.htm). Grafikkarten, die auf einem dieser Chipsätze basieren (z. B. Hercules 3D PROPHET 4500 oder Videologic Vivid!XS), sind für Linux-3D-Spieler also derzeit noch wenig attraktiv.
Für folgende ältere Grafik-Chips existieren unter Linux noch 3D-Treiber des Utah-GLX-Projekts, die jedoch nur unter XFree86 3.3.5 / 3.3.6 lauffähig sind:
Chip-Hersteller Chipsätze
Matrox G200, G400
ATI RagePro
Intel i810
nVidia Riva 128, TNT, TNT2, Geforce SiS 6326
S3 Virge, Savage3D
Tip a friend    Druckansicht Bookmark and Share
Kommentare

Hits
Wertung: 69 Punkte (1 Stimme)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 05/2014

Aktuelle Ausgabe kaufen:

Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...