Features/DRI2DriversOnly

= DRI2 Drivers Only =

Summary
Ship only DRI2 3D drivers in Fedora 17

Owner

 * Name: Adam Jackson
 * Email: ajax@redhat.com

Current status

 * Targeted release: Fedora 17
 * Last updated: 2012-2-24
 * Percentage of completion: 100%

Feature is complete. DRI1 drivers are no longer built, kernel support has been dropped, and various support packages like Glide have been retired.

The X server still builds the DRI1 extension code because the remaining DRI2 drivers rely on some of the utility code therein. This is a larger upstream cleanup project and will not make F17. In addition the openchrome driver is still built with DRI1 enabled since the XvMC support requires it; again, fixing this is a larger upstream project. All other formerly-DRI1 drivers are now built with DRI1 disabled.

Some tuning remains to be done for llvmpipe performance, which will be addressed under Features/Gnome_shell_software_rendering.

Detailed Description
Upstream Mesa has dropped all DRI1 driver support. To wit, the following 3D drivers are no more:


 * i810
 * mga
 * r128
 * savage
 * sis
 * tdfx
 * unichrome

As a practical matter, all of these drivers have been unmaintained for several years already. The hardware covered by these drivers corresponds to, at best, DirectX 7 and OpenGL 1.5, often with severe hardware limitations on rendering surface size and texturing functionality.

Since modern desktop environments place increasing demands on the 3D stack, it is desirable to cut off "native" acceleration support for older chipsets. Instead these chips will be supported by the llvmpipe driver in Mesa, which features robust OpenGL 2.x support and a high-performance JIT based on LLVM for the rendering pipeline.

Features/Gnome shell software rendering details additional work planned for F17 to enable the llvmpipe driver to perform adequately for devices without native DRI2 support. This will require additional X driver performance work, and consequently the above drivers will be among the first ones so modified.

To be clear, this removes only the DRI1 3D support for older chipsets. Native 2D drivers will still be provided for the affected hardware.

Benefit to Fedora
Users of older DRI1-only hardware will gain significant OpenGL functionality, and will be using a driver that can be tested (and fixed) on any machine without needing to search out old hardware, improving the support experience.

Libraries and applications developed on F17 and above can assume a baseline functionality of approximately OpenGLES 2.0.

Kernel
DRM drivers for affected hardware will be disabled.

Mesa
The mesa-dri-drivers-dri1 subpackage - not installed by default in F16 - will be dropped.

X11
The X server and DDX drivers will be built without DRI1 support.

Many drivers, including former DRI1-enabled drivers, will be modified for improved performance with llvmpipe.

How To Test
Compare runs of 'glxinfo' on affected hardware before and after. The OpenGL renderer string will change to that of llvmpipe. Functionality of llvmpipe should be essentially identical across all non-DRI2 hardware.

User Experience
Affected hardware may perform better or worse, depending on the specific application and CPU power.

Dependencies
None.

Contingency Plan
None.

Documentation / Release Notes
The i810, mga, r128, savage, sis, tdfx, and unichrome DRI drivers are no longer supplied, as Mesa no longer includes them. Users with this hardware are instead supported with the llvmpipe software 3D driver. Affected hardware includes all variants of:


 * Intel i810 and i815 motherboard chipsets
 * Matrox MGA G200, G400, G450 and G550 cards
 * ATI Rage 128 cards
 * S3 Savage 3D and Savage 4 cards
 * SiS 300, 540, 630, and 730 chipsets
 * 3dfx Voodoo 3, Voodoo 4, and Voodoo 5 cards
 * VIA Unichrome and Unichrome Pro chipsets

Comments and Discussion

 * See Talk:Features/DRI2DriversOnly for discussion of the feature itself