- Direct Rendering Infrastructure (DRI)
-
DRI Original author(s) Precision Insight Developer(s) freedesktop.org Stable release 2.4.x / February 2009 Written in C License MIT and other licenses[1] Website dri.freedesktop.org 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 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.
Contents
History
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 currently maintained by Tungsten Graphics and others in the free software community. The 3D drivers component of the project is one of the High Priority Free Software Projects.
Components
The DRI OpenGL support consists of several pieces:
- The Direct Rendering Manager (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.
- The userland driver module 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.
- Additional code provides access to the interface provided by the driver module. 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.
Drivers
Several Open Source DRI drivers have been written, including ones 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 NVIDIA[citation needed], ATI, and Kyro. The DRI is supported on AuroraUX, Linux, OpenSolaris, FreeBSD, NetBSD, and OpenBSD.
DRI2
Work on DRI2 started at the 2007 X Developers' Summit. The new rendering infrastructure improves several shortcomings of the old design, including removing internal locks and adding proper support for offscreen rendering, so that compositing and XVideo/OpenGL applications are properly managed.
See also
- Mesa 3D
Notes
- ^ Mesa DRI License / Copyright Information - The Mesa 3D Graphics Library
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 for beginners (Frank Worsley)
- Getting X Off The Hardware (Keith Packard)
- DRI - Developer interview with Owain Ainsworth (OpenBSD Journal)
External links
- Direct Rendering Infrastructure project home page
- Direct Rendering Infrastructure project "To Do" page
- Mesa
- Tungsten Graphics
- DRI2 Design Pages
- Announcing DRI on OpenSolaris
Projects hosted by freedesktop.org Components Avahi · Compiz · Create Project · D-Bus · DRI · GTK-Qt (moved) · HAL (deprecated) · nouveau · PackageKit · Portland Project · systemd · Wayland · X.Org ServerLibraries Frameworks See also Libre Graphics MeetingCategories:- X-based libraries
- Freedesktop.org
Wikimedia Foundation. 2010.