The Direction Of ATI Radeon Graphics In Ubuntu 11.04
With Ubuntu 11.04 arriving in a little more than a month, the key packages to be found in this "Natty Narwhal" release are nearly settled. For those concerned about the open-source ATI graphics stack, the packages to note are the Linux 2.6.38 kernel, Mesa 7.10.1, and xf86-video-ati 6.14.0. What does this mean for the conventional user? This article provides a brief look at the state of open-source ATI in Ubuntu 11.04.
Ubuntu 11.04 has the Linux 2.6.38 kernel, which means all of the Radeon DRM (Direct Rendering Manager) improvements we have talked about in recent weeks and months will be found in the default Natty kernel. Among other features, this includes the KMS page-flipping support, Radeon HD 6000 series KMS support (Northern Islands; pre-HD-6900 series ASICs), AMD Fusion KMS support, and the DRM bits needed to support Wayland on Radeon. The page-flipping support in particular is noteworthy as it can lead to some serious performance improvements. What is not in the Natty kernel at this time, since it is not in the mainline 2.6.38 tree, is AMD Radeon HD 6900 series KMS support for these Cayman GPUs. This work will be merged in the Linux 2.6.39 kernel, but it's not clear at the moment whether Ubuntu will backport this to the 2.6.38 Radeon DRM for Ubuntu 11.04. Otherwise, those with these highest-end AMD GPUs will need to wait for Ubuntu 11.10, use the Catalyst binary driver, or roll their own kernel.
On the user-space side, Ubuntu 11.04 will ship with the Mesa 7.10 series rather than Mesa 7.11, which is presently in development and will be released in the coming weeks. Added in Mesa 7.11 is the Radeon HD 6000 series support, various performance optimizations, more OpenGL 3.0 extensions, better Radeon HD 5000 series tiling support, and R600g instanced drawing, among other core and Radeon-specific changes to both the classic Mesa DRI drivers and Gallium3D. Mesa 7.10 was released at the beginning of January while Mesa 7.10.1 was just released days ago as the bug-fix, stable version. The Ubuntu Natty daily LiveCD as of 7 March is still shipping with Mesa 7.10.1-devel, but the final version should be pulled in shortly.
Besides the Radeon work, in Mesa 7.11-devel is also much better Intel Sandy Bridge support, including a major performance fix, potentially some patented work (OpenGL floating point, render buffers, and S3TC), various Nouveau improvements, and enhanced Gallium3D state trackers. For those wishing to use Mesa 7.11 on Ubuntu 11.04, there is the xorg-edgers PPA or it can also be built from source. Ubuntu 11.04 is using libdrm 2.4.23 while Mesa 7.11-devel presently requires libdrm 2.4.24, so this user-space DRM library must also be updated.
Ubuntu 10.10 shipped with Mesa 7.9, but besides upping the version to 7.10.1, there is another fundamental change with Natty's Mesa stack for Radeon graphics. Those using this open-source ATI/AMD driver on the Radeon HD 2000 series (R600) and newer, the default Mesa driver is now the R600 Gallium3D (R600g) driver rather than the classic Mesa (R600c) driver. This means performance improvements over classic Mesa, support for state trackers, and all around better support is found with R600g over R600c. It was with Ubuntu 10.10 where those with R300~R500 ASICs (up through the Radeon X1000 series) changed their default to a Gallium3D driver over classic Mesa. We are very happy to see Ubuntu now default to using ATI Gallium3D across the board for supported Radeon graphics processors.
For those not using the open-source ATI driver but rather the proprietary Catalyst driver in order to benefit from much faster performance, OpenGL 3/4 support, and other features like OpenCL and CrossFire, there will obviously be a driver upgrade there too. Right now there is no publicly released Catalyst driver that supports the Linux 2.6.38 kernel and X.Org Server 1.10 as used by Ubuntu 11.04, but this will come with the Catalyst 11.3 or 11.4 releases. If the necessary kernel/xorg-server support does not arrive in this month's Catalyst 11.3 release, AMD once again will be seeding Canonical with a pre-release of Catalyst 11.4 to provide the necessary binary driver support before the Ubuntu 11.04 Beta.
Over the default Catalyst 10.10 driver found in Ubuntu 10.10, improved in the Catalyst driver since has been support for the new Radeon HD 6000 series chipsets, official OpenGL 4.0 support, fixes for desktop tearing, and various bug-fixes.
Once Ubuntu 11.04 Beta is out there with near-finalized packages along with a compatible Catalyst driver, we will do our usual job of delivering various graphics benchmarks across the leading generations of ATI/AMD graphics processors and for Intel and NVIDIA too. For now though, in this article are some quick benchmarks for a Radeon HD 4670 graphics card. The Radeon HD 4670 benchmarks in this article are for a clean Ubuntu 10.10 installation (using the stock Mesa 7.9 R600c driver), Ubuntu 10.10 when switching to the Catalyst 10.10 / fglrx 8.78.30 default binary blob, and then a clean install of Ubuntu 11.04 daily from 2011-03-07. Lastly, there are also results from Ubuntu 11.04 2011-03-07 when pulling Mesa 7.11-devel master Git on 2011-03-07. Each of these tests were done with their stock/default settings.
This Radeon HD 4670 Ubuntu testing was done with an AMD Phenom II X3 710 CPU, MSI 890GXM-G65 motherboard, 4GB of DDR3 system memory, and a 250GB Seagate HDD. Additional system information, logs, and all of the test results are available on OpenBenchmarking.org. The benchmark results from these different Ubuntu configurations under World of Padman, OpenArena, Warsow, Nexuiz, and Urban Terror are on the following pages.