Classic Radeon Drivers Are On Their Deathbed

Written by Michael Larabel in Radeon on 20 October 2011 at 01:04 PM EDT. 18 Comments
RADEON
The classic Mesa Radeon (R300/R600) drivers that provide open-source OpenGL support on Linux instead of the Gallium3D alternatives are likely to be dropped in the coming days.

Intel's Eric Anholt last night mentioned his desire to strip the DRI1 code from the Radeon drivers, since DRI2 is used by the Radeon drivers now and has been well supported for quite a while. Why he's interested in removing the Radeon DRI1 support though is due to his MapRenderBuffer code and it depends upon linear mapping of arbitrary render-buffers, but the legacy Radeon DRI1 support is blocking that support, so Anholt suggests just stripping out the DRI1 code. He's already proposed a Mesa branch that's called radeon-kill-dri1 that does what he suggests. The work is mentioned in this mesa-dev email.

Michel Dänzer, now back at AMD and working on the open-source stack, suggests just outright removing the classic R300 and R600 drivers if the DRI1 code is to be removed. Alex Deucher, the main open-source Linux graphics contributor at AMD, also doesn't mind. "I don't see AMD doing any more work on DRI1." The only concern he brings up is that it would mean dropping support for *BSD operating systems (and Solaris), since these other operating systems are in a poor graphics driver situation. Right now the BSDs and Solaris are mostly (there's un-merged porting projects, etc) still in the user-space mode-setting era and largely lack in-kernel memory management (GEM/TTM), DRI2, and DRM drivers that match what's upstream in the mainline Linux kernel. So when these classic drivers are removed and their operating systems are not up to speed with KMS/DRI2, users will just need to stick to Mesa 7.11, which will be the last series with this legacy support.

David Airlie of Red Hat responded with, "Hell yes, drop r300c and r600c as well." In the Linux world, all new Linux distributions are shipping with Radeon KMS/DRI2 as the default for some time already (and in the new enterprise Linux distributions they have also migrated over), so killing off the non-Gallium3D Radeon support shouldn't be much of a loss. Most are using the Radeon Gallium3D drivers.

This is good timing for this to happen with Mesa 7.11 being the last release that supports many other older graphics processors, thanks to removing a whole bunch of code recently that did away with the i810 Intel driver, Mach64, ATI Rage 128, Matrox, Savage, SiS, and even 3dfx Voodoo support. This trimmed up over 85,000 lines of code in Mesa. While the next release scheduled to happen is Mesa 7.12 in January, it might be Mesa 8.0 if OpenGL 3.0 is completed before year's end.

The Radeon Gallium3D drivers are faster (in nearly all OpenGL tests), more feature complete, still actively developed, and on the newer driver architecture than classic Mesa. Removing these classic drivers would really just mean Intel is the only major driver in the Mesa tree that's still using the Mesa classic DRI driver architecture.

Intel ended its user-space mode-setting and DRI1 support a while ago. The Nouveau driver also is KMS-only, Gallium3D-only (aside from some simple but not really maintained classic drivers for the very oldest of NVIDIA hardware). Hopefully removing the classic Radeon drivers in Mesa will be followed by cleansing the xf86-video-ati DDX driver of any user-space mode-setting support.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week