After years of development work by Tungsten Graphics (now VMware) and the open-source community at large, the Gallium3D driver architecture is finally getting ready to really enter the spotlight of the normal Linux desktop user. With the recent Mesa 7.9 release, the open-source ATI developers switched their R300 driver (that supports up through R500 ASICs, the Radeon X1000 series) from the classic Mesa to their newer Gallium3D driver as the default choice. Vendors are now preparing to do the same as well within Fedora and other distributions, and it was just agreed upon this week Ubuntu 11.04 will use R300g. There will finally be a real, common hardware driver that is based upon Gallium3D and is used by mass amounts of people on a daily basis in a production environment.
Along with the benefits of being easier to develop and maintain a driver within the Gallium3D architecture than a classic Mesa DRI driver and being able to extend its features and capabilities in a somewhat generic manner by state trackers, it's also commonly said that Gallium3D drivers will be faster than the old Mesa drivers. We have looked at the R300 Gallium3D driver (R300g) performance a few times comparing it to classic Mesa, results showing R300g is still catching up to the proprietary AMD Catalyst driver, and that the rate of changes it was going through this summer was quite impressive. Where though is it performing now in post-Mesa-7.9? Here is a new round of tests comparing the classic Mesa and Gallium3D driver performance for R300 using the very latest kernel and Mesa code.
The latest Mesa / Gallium3D code was pulled on the morning of 2010-10-27. This code was from master where Mesa is currently at Mesa 7.10-devel and the Gallium version is still 0.4 with a reported OpenGL 2.1 version support. The Linux 2.6.37 kernel was also pulled on 27 October, which includes the big 2.6.37 DRM pull request. For these new tests, a Lenovo ThinkPad T60 notebook was used with an ATI Radeon Mobility X1400 128MB (RV515) graphics processor. Other hardware specifications on the ThinkPad included an Intel Core Duo T2400, 1GB of system memory, and an 80GB Hitachi HTS541080G9SA00 HDD. Besides running the latest Mesa and Linux kernel development versions, the rest of this OS installation was Ubuntu 10.10 with GNOME 2.32.0, X.Org Server 1.9.0, xf86-video-ati 6.13.1, GCC 4.4.5, and the EXT4 file-system. Compiz was left enabled during testing.
The tests ran this time around included OpenArena, World of Padman, Smokin Guns, Urban Terror, Warsow, and Nexuiz, since they are at least capable of running with the open-source Linux GPU drivers. This testing was done via the Phoronix Test Suite. This testing today is just centered on the R300 Gallium3D driver, but in recent months, there has also been a plethora of work going into the R600 Gallium3D driver that supports the Radeon HD 2000 series through the Radeon HD 5000 "Evergreen" series. The R600 Gallium3D driver could also go on to supporting the brand new AMD Radeon HD 6000 series. In another article soon, we will be looking at the R600g driver.