- Direct Rendering Infrastructure
Infobox Software
name = DRI
caption =
collapsible =
author = Precision Insight
developer = freedesktop.org
released =
latest release version = 2.3.1 ?
latest release date =July 1 2008
latest preview version =
latest preview date =
frequently updated =
programming language = C
operating system =
platform =
size =
language =
status =
genre =
license = ?
website = [http://dri.freedesktop.org/wiki/ dri.freedesktop.org]In
computing , the Direct Rendering Infrastructure (DRI) is an interface and afree software implementation used in theX Window System to securely allow user applications to access the video hardware without requiring data to be passed (slowly) through theX server . Its primary application is to provide hardware acceleration of the Mesa implementation ofOpenGL . It has also been adapted to provide OpenGL acceleration on a framebuffer console without an X Server running.The project was started by
Jens Owen andKevin E. Martin ofPrecision Insight . It was first made widely available as part ofXFree86 4.0 and is now part of theX.Org Server . It is nowadays maintained byTungsten Graphics and others in thefree software community . The part of the project about the 3D drivers is one of theHigh Priority Free Software Projects .The DRI
OpenGL support consists of several pieces.
* The first is the Direct Rendering Manager (DRM). The DRM is a combination of at least two kernel modules, one of core DRM code and others providing APIs to userland to access different classes of video hardware.
* Second is a userland driver module, which contains an OpenGL driver that typically prepares buffers of commands to be sent to the hardware by the DRM, and interacts with the windowing system for synchronization of access to the hardware.
* Third, there is some sort of server. In X this is the libdri.so support module and a DRI-enabled DDX (2D driver). In the framebuffer implementation this isMiniGLX , which initializes the DRM and provides some X APIs to the userland driver despite the lack of an X Server.Several Open Source DRI drivers have been written, including for ATI Mach64, ATI Rage128, ATI Radeon, 3dfx Voodoo3 through Voodoo5,
Matrox G200 through G400, SiS 300-series,Intel i810 through i965, S3 Savage, VIA unichrome graphics chipsets, and nouveau forNVIDIA . Some graphics vendors have written closed-source DRI drivers, including ATI and Kyro. The DRI is supported onLinux andFreeBSD , and it has been ported toNetBSD .On the X Developers' Summit for 2007 work on DRI2 started. The new rendering infrastructure improves several shortcomings of the old design. Among its significant improvements: the lack of internal locks and proper support for offscreen rendering, so that compositing and XVideo/OpenGL applications are properly managed.
References
* [http://dri.sourceforge.net/doc/design_high_level.html A Multipipe Direct Rendering Architecture for 3D] (Jens Owen and Kevin Martin, 1998) (original DRI design document)
* [http://dri.sourceforge.net/doc/design_low_level.html Direct Rendering Infrastructure, Low-Level Design Document] (Kevin E. Martin, Rickard E. Faith, Jens Owen, and Allen Akin, 1999)
* [http://people.freedesktop.org/~ajax/dri_extensions_low_level.txt DRI Extension for supporting Direct Rendering Protocol Specification] (Jens Owen and Kevin Martin, Precision Insight, 1999)
* [http://people.freedesktop.org/~ajax/dri-explanation.txt DRI explanation] (Adam Jackson)
* [http://keithp.com/~keithp/talks/xserver_ols2004/ Getting X Off The Hardware] (Keith Packard)External links
* [http://dri.freedesktop.org/wiki/ Direct Rendering Infrastructure project home page]
* [http://dri.freedesktop.org/wiki/ToDo Direct Rendering Infrastructure project "To Do" page]
* [http://www.mesa3d.org/ Mesa]
* [http://www.tungstengraphics.com/ Tungsten Graphics]
* [http://wiki.x.org/wiki/DRI2 DRI2 Design Pages]
Wikimedia Foundation. 2010.