Direct Rendering Infrastructure
# Direct Rendering Infrastructure

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

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.

## DRI2

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

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

## Treiber-Unterstützung

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.

## Geschichte

* Es gab lediglich 2D-Treiber, und diese waren auch noch Teil des X servers
* Nur indirekte Bildsynthese über das GLX-Protokoll war möglich; dazu gab es Utah-GLX-Treiber
* Frühe Direct Rendering Infrastructure
* Hardwarezugriff ist nur noch über den Direct Rendering Manager möglich
* In Linux-Kernel 3.12 wurden render nodes eingeführt und der KMS wurde abgespalten. Wayland implementiert direct rendering über EGL.
