(more of the same) |
(Moved to FeatureAcceptedF17 - feature was accepted.) |
||
Line 89: | Line 89: | ||
* See [[Talk:Features/DRI2DriversOnly]] for discussion of the feature itself | * See [[Talk:Features/DRI2DriversOnly]] for discussion of the feature itself | ||
[[Category: | [[Category:FeatureAcceptedF17]] | ||
<!-- When your feature page is completed and ready for review --> | <!-- When your feature page is completed and ready for review --> | ||
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler --> | <!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler --> |
Revision as of 13:29, 1 December 2011
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: 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
- See Talk:Features/DRI2DriversOnly for discussion of the feature itself