Direct Rendering Infrastructure
Encyclopedia
In computing
Computing
Computing is usually defined as the activity of using and improving computer hardware and software. It is the computer-specific part of information technology...

, the Direct Rendering Infrastructure (DRI) is an interface and a free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 implementation used in the X Window System
X Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...

 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
Mesa 3D
Mesa 3D is an open source 3D computer graphics library that provides a generic OpenGL implementation for rendering three-dimensional graphics on multiple platforms. It was initially developed by Brian Paul in August 1993, and is still maintained by him today...

 implementation of OpenGL
OpenGL
OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...

. It has also been adapted to provide OpenGL acceleration on a framebuffer console
Linux framebuffer
The Linux framebuffer is a graphic hardware-independent abstraction layer to show graphics on a computer monitor, typically on the console...

 without an X Server running.

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
XFree86
XFree86 is an implementation of the X Window System. It was originally written for Unix-like operating systems on IBM PC compatibles and is now available for many other operating systems and platforms. It is free and open source software under the XFree86 License version 1.1. It is developed by the...

 4.0 and is now part of the X.Org Server
X.Org Server
X.Org Server refers to the X server release packages stewarded by the X.Org Foundation,which is hosted by freedesktop.org, and grants...

. It is currently maintained by Tungsten Graphics and others in the free software community
Free software community
The free-software community is an informal term that refers to the users and developers of free software as well as supporters of the free-software movement. The movement is sometimes referred to as the open-source software community or a subset thereof...

. The 3D drivers component of the project is one of the High Priority Free Software Projects.

Components

The DRI OpenGL
OpenGL
OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...

 support consists of several pieces:
  • The Direct Rendering Manager
    Direct Rendering Manager
    The Direct Rendering Manager is a component of the Direct Rendering Infrastructure, a system to provide efficient video acceleration on Unix-like operating systems, e.g...

     (DRM) is a combination of at least two kernel modules
    Loadable Kernel Module
    In computing, a loadable kernel module is an object file that contains code to extend the running kernel, or so-called base kernel, of an operating system...

    , 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
    MiniGLX
    MiniGLX is a specification for an application programming interface which facilitates OpenGL rendering on systems without windowing systems, e.g. Linux without an X Window System or embedded systems without a windowing system...

    , 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
ATI Technologies
ATI Technologies Inc. was a semiconductor technology corporation based in Markham, Ontario, Canada, that specialized in the development of graphics processing units and chipsets. Founded in 1985 as Array Technologies Inc., the company was listed publicly in 1993 and was acquired by Advanced Micro...

 Mach64, ATI Rage128, ATI Radeon, 3dfx Voodoo3 through Voodoo5, Matrox
Matrox
Matrox is a producer of video card components and equipment for personal computers. Based in Dorval, Quebec, Canada it was founded by Lorne Trottier and Branko Matić....

 G200 through G400, SiS 300-series, Intel i810 through i965, S3
S3 Graphics
S3 Graphics, Ltd is an American company specializing in graphics chipsets. Although they do not have the large market share that they once had, they still produce graphics accelerators for home computers under the "S3 Chrome" brand name.-History:...

 Savage, VIA
VIA Technologies
VIA Technologies is a Taiwanese manufacturer of integrated circuits, mainly motherboard chipsets, CPUs, and memory, and is part of the Formosa Plastics Group. It is the world's largest independent manufacturer of motherboard chipsets...

 UniChrome graphics chipsets, and nouveau
Nouveau (graphics)
In computing, nouveau is a software project aiming to develop free software drivers for Nvidia graphics cards, by reverse engineering Nvidia's current proprietary drivers for Linux. This project by X.Org Foundation and freedesktop.org was initially based on the obfuscated 2D-only free and...

 for NVIDIA
NVIDIA
Nvidia is an American global technology company based in Santa Clara, California. Nvidia is best known for its graphics processors . Nvidia and chief rival AMD Graphics Techonologies have dominated the high performance GPU market, pushing other manufacturers to smaller, niche roles...

. Some graphics vendors have written closed-source DRI drivers, including NVIDIA, ATI, and Kyro. The DRI is supported on AuroraUX
AuroraUX
AuroraUX is a suite of high-integrity applications, libraries and user tools and an operating system distribution based on the DragonflyBSD kernel source base which serves as a reference implementation of the AuroraUX suite and other AUX projects....

, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

, OpenSolaris
OpenSolaris
OpenSolaris was an open source computer operating system based on Solaris created by Sun Microsystems. It was also the name of the project initiated by Sun to build a developer and user community around the software...

, FreeBSD
FreeBSD
FreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...

, NetBSD
NetBSD
NetBSD is a freely available open source version of the Berkeley Software Distribution Unix operating system. It was the second open source BSD descendant to be formally released, after 386BSD, and continues to be actively developed. The NetBSD project is primarily focused on high quality design,...

, and OpenBSD
OpenBSD
OpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution , a Unix derivative developed at the University of California, Berkeley. It was forked from NetBSD by project leader Theo de Raadt in late 1995...

.

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
Compositing
Compositing is the combining of visual elements from separate sources into single images, often to create the illusion that all those elements are parts of the same scene. Live-action shooting for compositing is variously called "chroma key", "blue screen", "green screen" and other names. Today,...

and XVideo/OpenGL applications are properly managed.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK