Direct Rendering Infrastructure

From Wikipedia, the free encyclopedia

In computing, the Direct Rendering Infrastructure (DRI) is an interface 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 many other open-source developers.

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, and VIA unichrome graphics chipsets. 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 in the past.

[edit] References

[edit] External links