Features/DRI2

= Improve Direct Rendering Infrastructure =

Summary
Improve Direct Rendering Infrastructure

Owner

 * Name: Kristian Høgsberg
 * Email: FOLLOW THE LINK

Current status

 * Targeted release: Fedora 11
 * Last updated: 2009-03-02
 * Percentage of completion: 100%

Detailed Description
The Direct Rendering Infrastructure (DRI) was written ~10 years ago and its feature set was based on the graphics cards' capabilities at that time. It is time to update the infrastructure to take advantage of today's graphics cards' capabilities. DRI2 enables several new features including:
 * Accelerated rendering to offscreen pixmaps
 * Support for GLXFBConfigs
 * Support for Pbuffers and Framebuffer Objects (FBOs)
 * Software cursors and DRI are now compatible - great for MPX

Benefit to Fedora
We'll be one step closer to be able to ship a compositing manager by default.

Scope
The work has been done upstream and the packages are built. The feature is present and work, we just need to fix the remaining bugs at this point.

How To Test
We hope to enable DRI2 on as much hardware as possible for Fedora 11. At this point, DRI2 is working for all Intel graphics hardware and there's a good chance we'll support a good range of ATI Radeon chipsets as well. We might even get nVidia support through nouveau, but that's a slim chance.

If your hardware is supported DRI2 will be enabled. To check whether that's the case look for a line like this in /var/log/Xorg.0.log:

(II) intel(0): direct rendering: DRI2 Enabled

To test that it's working correctly, first verify that the desktop renders correctly. Enable compiz or another compositing manager and try running glxgears from the glx-utils rpm. The gears should render normally and you should be able to put other windows on top of the gears. If you compositing manager of choice provides a spinning cube, the gears should follow the cube around as you spin it. More details here: http://hoegsberg.blogspot.com/2007/08/redirected-direct-rendering.html.

User Experience
When running a compositing manager 3d applications will no longer be broken. On the other hand, if not using 3d the X server won't allocate the DRI buffers, and more video memory will be available. More here: http://hoegsberg.blogspot.com/2007/08/redirected-direct-rendering.html

Dependencies
DRI2 has been a dependency for correctly working compiz and other composited desktops for as long as they have been available. We've just shipped them with broken 3d anyway.

Contingency Plan
DRI2 co-exists with the original DRI. Individual drivers can have support for either one (or both).

Documentation
Links to related documentation:
 * http://www.x.org/wiki/DRI2
 * http://hoegsberg.blogspot.com/2008/03/i-just-committed-last-bit-of-dri2-work.html

Release Notes
For the hardware where DRI2 is supported we ship it on by default. If the feature doesn't work correctly it can be disabled in /etc/X11/xorg.conf.

TODO: Need to mention how to create /etc/X11/xorg.conf if it doesn't exist.