Features/DRI2DriversOnly

From FedoraProject

< Features(Difference between revisions)
Jump to: navigation, search
(update)
(done!)
 
(One intermediate revision by one user not shown)
Line 14: Line 14:
  
 
* Targeted release: [[Releases/F17 | Fedora 17 ]]  
 
* Targeted release: [[Releases/F17 | Fedora 17 ]]  
* Last updated: 2011-12-15
+
* Last updated: 2012-2-24
* Percentage of completion: 90%
+
* Percentage of completion: 100%
  
Feature is essentially complete.  DRI1 drivers are no longer built, kernel support has been dropped, and various support packages like Glide have been retired. Remaining work items:
+
Feature is complete.  DRI1 drivers are no longer built, kernel support has been dropped, and various support packages like Glide have been retired.
  
* Disable DRI1 at build time in the X server
+
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.
* Disable building DRI1 support in 2D drivers
+
 
* Set 2D driver defaults for llvmpipe performance
+
Some tuning remains to be done for llvmpipe performance, which will be addressed under [[Features/Gnome_shell_software_rendering]].
  
 
== Detailed Description ==
 
== Detailed Description ==
Line 39: Line 39:
 
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.
 
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.
+
[[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.
 
To be clear, this removes only the DRI1 3D support for older chipsets.  Native 2D drivers will still be provided for the affected hardware.

Latest revision as of 17:09, 24 February 2012


Contents

[edit] DRI2 Drivers Only

[edit] Summary

Ship only DRI2 3D drivers in Fedora 17

[edit] Owner

[edit] 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.

[edit] 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.

[edit] 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.

[edit] Scope

[edit] Kernel

DRM drivers for affected hardware will be disabled.

[edit] Mesa

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

[edit] 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.

[edit] 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.

[edit] User Experience

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

[edit] Dependencies

None.

[edit] Contingency Plan

None.

[edit] 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

[edit] Comments and Discussion