ATI R300 Gallium3D Driver Seeing A Big Performance Fix After Being Regressed For Years

Written by Michael Larabel in Radeon on 5 June 2019 at 11:35 AM EDT. 15 Comments
RADEON
For those still running decade and a half old ATI Radeon graphics hardware like the Radeon Xpress 200M found in numerous notebooks back in the day, a performance regression in the R300 Gallium3D driver is being sorted out after concerned users on this vintage hardware began bisecting and testing patches for a regression to this old ATI open-source driver that appears to have been adversely affected back in 2017.

Not only is the R600 Gallium3D driver seeing some recent attention around OpenGL 4.5 support, the R300 Gallium3D driver for the Radeon X1000 series and older has also been seeing some attention thanks to some users still relying upon this open-source OpenGL driver in old systems.


For the past week has been this bug report talking of a "heavy R300 performance drop" between Mesa versions 11 and 19. Yes, a wide span of releases but the reporting user ultimately bisected the problem. There is a 50~100% slowdown and very high CPU usage when using the newer versions of Mesa with the likes of the Mobility Radeon 200M when running classic open-source games like Extreme Tux Racer. The CPU usage skyrocketed from ~30% to 100% CPU usage while the frame-rate performance was also down.

The problematic commit was ultimately tracked down to a change made to the newer RadeonSI Gallium3D code for setting a per-buffer flag to disable interprocess sharing for lower overhead in the command submission ioctl. That change had been responsible for other regressions too and was made back in 2017. But in the case of R300g, that open-source Radeon code change ended up hitting hard on the old R300g driver that rarely sees any new development work or even testing by the developers at large.


Thanks to the bisecting and further analysis and patch testing by at least two users still relying on R300g, it looks like a proper solution is inbound. The issue appears to stem from the driver not handling GTT and vRAM domains at the same time. Well known AMD Linux developer Marek Olšák is now involved and providing patches for testing, so needless to say, I'd write the work as resolved shortly for Mesa 19.2. There's also talk in that thread of enabling the GLSL disk cache for R300g as another separate optimization for those on the Radeon X1000 (R500) series and older.
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