With Mesa 7.1 having been released this week and the open-source R600/770 3D support just around the corner, we've taken this opportunity to see how the open-source Mesa 3D stack compares to AMD's monthly-refined Catalyst Linux Suite with the fglrx driver performs for the Radeon X1000 (R500) series. In this article are Mesa 7.1 and Catalyst 8.8 benchmarks for the Radeon X1300PRO and X1800XL graphics cards.
Back in February AMD had released the R500 3D programming documentation with the R300 3D register guide being published openly just a few weeks after that (previously the R300 documentation was only available through signing NDAs for the past few years). In March AMD had also released their microcode for all Radeon GPUs. A combination of these documentation and code dumps from AMD plus the great work of the open-source community had led to the first R500 3D milestone about a month later: hardware-accelerated glxgears. After reaching the first-step with glxgears, it only took two months until the R500 3D support had become widespread. In late May they achieved 3D success that was in a usable state even for end-users. Compiz had worked too at that time. Many games also worked with this open-source stack.
Since May, the open-source community has continued working on improving the R500 Mesa and DRM components as well as continuing to work on the xf86-video-ati and xf86-video-radeonhd DDX drivers. While this R500 work has been going on, in private AMD has been working on the R600 3D support along with help from Red Hat's David Airlie and the RadeonHD Novell group. The Direct Rendering Manager (DRM) component for the R600 GPUs has been published, but there is no 3D support yet. Though in the coming weeks the first bit of open-source R600 3D support will arrive. For those not up to speed on AMD's open-source support, however, there is already mode-setting support for the R600 series and even the newer Radeon HD 4850, HD 4870, and HD 4870 X2 graphics cards.
The R500 3D support isn't 100% complete yet, but it's now usable to most Linux desktop users and makes it a great time to begin benchmarking. We had used Catalyst 8.8 (fglrx 8.52) driver for the proprietary testing and on the open-source side we had used the xf86-video-ati, DRM, and Mesa 7.1 code all checked out on August 27, 2008 from their git master branches.
The ATI Radeon X1300PRO 256MB and ATI Radeon X1800XL 256MB graphics cards were used in this driver comparison. We had intended on using a Radeon X1800XT and X1950PRO too, but we had run into problems there. With the X1800XT we had experienced mode-setting problems with the DDX driver while with the X1950PRO the X Server had crashed after any OpenGL test was running for a few minutes.
The other hardware making up this test system was an AMD Phenom 9500 quad-core processor, Gigabyte 790FX-DS5 motherboard, 2GB of OCZ DDR2-800MHz memory, Corsair TX750W power supply, and Seagate 300GB SATA 2.0 hard drive. On the software side was Ubuntu 8.04 32-bit with the Linux 2.6.24 kernel and X Server 220.127.116.11. Once again, we were using the latest xf86-video-ati, DRM, and Mesa git code while the proprietary driver in use was Catalyst 8.8.
For benchmarking Mesa and Catalyst we had used Phoronix Test Suite 1.2.0 Beta 3, our premiere GPLv3-based benchmarking software for Linux, OpenSolaris, and BSD operating systems. The tests we used were Nexuiz, Warsow, Tremulous, Urban Terror, Enemy Territory, Unreal Tournament 2004 Demo, and the Java 2D Microbenchmark (j2dbench). The Java 2D Microbenchmark was kindly provided by Sun Microsystems and this test profile will premiere with Phoronix Test Suite 1.2.0. With each of these tests we had run them at a variety of resolutions and other settings.
On the following pages are our results looking at the ATI R500 performance between the Mesa and Catalyst drivers.