Direct Rendering Infrastructure
From Wikipedia, the free encyclopedia
In computing, the Direct Rendering Infrastructure (DRI) is an interface and a free software implementation used in the X Window System to securely allow user applications to access the video hardware without requiring data to be passed (slowly) through the X server. Its primary application is to provide hardware acceleration of the Mesa implementation of OpenGL. 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 and Kevin E. Martin of Precision Insight. It was first made widely available as part of XFree86 4.0 and is now part of the X.Org Server. It is nowadays maintained by Tungsten Graphics and others in the free software community. The part of the project about the 3D drivers is one of the High 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 is MiniGLX, 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 for NVIDIA. Some graphics vendors have written closed-source DRI drivers, including ATI and Kyro. The DRI is supported on Linux and FreeBSD, and it has been ported to NetBSD.
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.
[edit] References
- A Multipipe Direct Rendering Architecture for 3D (Jens Owen and Kevin Martin, 1998) (original DRI design document)
- Direct Rendering Infrastructure, Low-Level Design Document (Kevin E. Martin, Rickard E. Faith, Jens Owen, and Allen Akin, 1999)
- DRI Extension for supporting Direct Rendering Protocol Specification (Jens Owen and Kevin Martin, Precision Insight, 1999)
- DRI explanation (Adam Jackson)
- Getting X Off The Hardware (Keith Packard)
[edit] External links
[[Image:|32x28px]] | Free Software Portal |
- Direct Rendering Infrastructure project home page
- Direct Rendering Infrastructure project "To Do" page
- Mesa
- Tungsten Graphics
- DRI2 Design Pages
|