Direct Rendering Infrastructure

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Der Linux-Grafikstack mit dem Direct Rendering Manager

Die Direct Rendering Infrastructure (abgekürzt DRI) ist ein Framework für unixoide Betriebssysteme, welches einen möglichst direkten, aber dennoch sicheren und stabilen Zugriff auf 3D-Beschleuniger ermöglichen soll. Der Name rührt daher, dass indirektes Rendering, etwa über das GLX-Protokoll, abgelöst worden ist.

Softwarearchitektur

[Bearbeiten | Quelltext bearbeiten]

Die DRI besteht aus dem Kernel-Modul Direct Rendering Manager (DRM) der eine Schnittstelle zur Grafikkarte bereitstellt, und Komponenten im Userspace, die auf diese zugreifen. Der letztere Teil der DRI stellt ein hardwarebeschleunigtes Back-end für Mesa bereit und übersetzt die Befehle der Anwendung in hardwarespezifische Befehle, die er über den DRM an die Grafikkarte sendet.

Seit 2007 wird die Entwicklung einer Nachfolgeversion von DRI vorangetrieben, die mit mehreren Schwächen von DRI insbesondere im Zusammenspiel mit AIGLX aufräumt. Anfang 2008 wurden die ersten DRI2-Grafiktreiber in den Entwicklerbaum des X.Org-Servers aufgenommen.

DRI3 wurde am 1. November 2013 freigegeben.[1] Es enthält zahlreiche Veränderungen gegenüber DRI2.[2]

Treiber-Unterstützung

[Bearbeiten | Quelltext bearbeiten]

DRI wird von nahezu allen freien Treibern im X.Org-Server und in XFree86 unterstützt. Einige proprietäre Treiber wie der von AMD/ATI unterstützen ebenfalls DRI.

  • AIGLX, eine hardwarebeschleunigte Erweiterung des X-Window-Systems, die auf DRI setzt
  • Xgl, eine weitere Erweiterung, die einen zweiten, hardwarebeschleunigten X-Server nutzt
  • Xegl, einen X-Server, der auf Mesa 3D und DRI aufsetzt
Commons: Direct Rendering Infrastructure – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. Keith Packard: Announce: dri3proto 1.0. 1. November 2013, abgerufen am 4. Dezember 2013.
  2. Jake Edge: DRI3 and Present. LWN, 9. Oktober 2013.