From Fedora Project Wiki

Revision as of 19:28, 28 November 2011 by Ajax (talk | contribs) (more of the same)


DRI2 Drivers Only

Summary

Ship only DRI2 3D drivers in Fedora 17

Owner

Current status

  • Targeted release: Fedora 17
  • Last updated: 2011-11-17
  • Percentage of completion: 80%

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.

Scope

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

As a stop-gap, we might package an older Mesa release as a compatibility package, and use it solely to build DRI1 drivers. This would need a very convincing argument to consider since it undermines baseline platform functionality, and would not persist for more than a release at most.

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