Direct Rendering Infrastructure

(c) Shmuel Csaba Otto Traian, CC BY-SA 3.0
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

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.[1] Es enthält zahlreiche Veränderungen gegenüber DRI2.[2]

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

Siehe auch

  • Xgl, eine weitere Erweiterung, die einen zweiten, hardwarebeschleunigten X-Server nutzt
  • Xegl, einen X-Server, der auf Mesa 3D und DRI aufsetzt
  • AIGLX, eine hardwarebeschleunigte Erweiterung des X-Window-Systems, die auf DRI setzt

Weblinks

Commons: Direct Rendering Infrastructure – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

  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.

Auf dieser Seite verwendete Medien

Linux graphics drivers DRI early.svg
(c) Shmuel Csaba Otto Traian, CC BY-SA 3.0
Schema des Linux Kernel Grafikstapels in seiner frühesten Version; es gibt lediglich einen 2D Treiber und dieser is Teil des XFree86 Anzeige-Servers.
Linux graphics drivers DRI current.svg
(c) Shmuel Csaba Otto Traian, CC BY-SA 3.0
Schema des Linux Kernel Grafikstapels; die aktuelle Direct Rendering Infrastructure, jegliche GPU-Zugriffe erfolgen durch den Direct Rendering Manager.
Linux graphics drivers DRI Wayland.svg
(c) Shmuel Csaba Otto Traian, CC BY-SA 3.0
Schema des Linux Kernel Grafikstapels; Wayland nutzt EGL.
Linux graphics drivers Utah GLX.svg
(c) Shmuel Csaba Otto Traian, CC BY-SA 3.0
Schema des Linux Kernel Grafikstapels in seiner frühesten Version; es gibt lediglich einen 2D Treiber und dieser is Teil des XFree86 Anzeige-Servers.
Linux Graphics Stack 2013.svg
(c) Shmuel Csaba Otto Traian, CC BY-SA 3.0
Darstellung des Linux-Grafik-Stapels, unter anderem mit dem Linux Kernel (unten) sowie dem X-Server und Wayland (in der Mitte); Namen entsprechen Paketen in den Debian Archiven, z.B. libGL-mesa-dri
Linux graphics drivers 2D.svg
(c) Shmuel Csaba Otto Traian, CC BY-SA 3.0
Schema des Linux Kernel Grafikstapels in seiner frühesten Version; es gibt lediglich einen 2D Treiber und dieser is Teil des XFree86 Anzeige-Servers.