DRI2 Drivers Only
Ship only drivers and support for DRI2 in Fedora 17
- Name: Adam Jackson
- Email: firstname.lastname@example.org
- Targeted release: Fedora 17
- Last updated: 2011-11-17
- Percentage of completion: 80%
Upstream Mesa has dropped all DRI1 driver support. To wit, the following 3D drivers are no more:
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.
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.
DRM drivers for affected hardware will be disabled.
The mesa-dri-drivers-dri1 subpackage - not installed by default in F16 - will be dropped.
The X server and DRI1 drivers will be built without DRI1 support.
Many drivers, including former DRI1 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.
Affected hardware may perform better or worse, depending on the specific application and CPU power.
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.
Comments and Discussion
- See Talk:Features/DRIDriversOnly for discussion of the feature itself