Jump to content

Direct Rendering Infrastructure: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m update link to X.Org Server
Gsf (talk | contribs)
m fixed spelling--"provies"->"provides"
Line 3: Line 3:
The project was started by [[Jens Owen]] 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 project was started by [[Jens Owen]] 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 Module''' ('''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 provies some X APIs to the userland driver despite the lack of an X Server.
The DRI OpenGL support consists of several pieces. The first is the '''Direct Rendering Module''' ('''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_Technologies|ATI]] Mach64, ATI Rage128, ATI Radeon, 3dfx Voodoo3 through Voodoo5, [[Matrox]] G200 through G400, SiS 300-series, [[Intel]] i810 through i915, [[S3_Graphics|S3]] Savage, and [[VIA Technologies|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.
Several Open Source DRI drivers have been written, including for [[ATI_Technologies|ATI]] Mach64, ATI Rage128, ATI Radeon, 3dfx Voodoo3 through Voodoo5, [[Matrox]] G200 through G400, SiS 300-series, [[Intel]] i810 through i915, [[S3_Graphics|S3]] Savage, and [[VIA Technologies|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.

Revision as of 22:12, 24 August 2005

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 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 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 Module (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 i915, 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.