ATI Radeon Driver Re-Write Still Has Work Left
To those running ATI Radeon graphics cards on Linux, this week has been very important with several key announcements having been made. The TTM memory manager is getting ready for inclusion into the Linux kernel, which finally will allow the open-source ATI driver (and soon the Nouveau driver too for NVIDIA hardware) to have kernel-based GPU memory management. With the memory management work set in the ATI driver via a mix of TTM and GEM, the ATI kernel mode-setting is also getting ready to be released as a staging driver within the Linux 2.6.31 kernel. The announcements this week have not been only about the GPU and Linux kernel, but the Radeon driver rewrite has also been merged to master. As we discussed in yesterday's news post, this Radeon Mesa re-write brings several key improvements immediately and there are still more features to come.
As can be seen from the many posts in the Phoronix Forums there are many excited individuals looking forward to an improved open-source ATI Linux graphics stack. Intel stole much of the attention last year when they introduced the Graphics Execution Manager in their driver for memory management and then rolled out kernel mode-setting along with support for DRI2, UXA, and other features, but now it is AMD's turn to push out their improvements. The invasive work within the Intel driver stack has caused a few pains and killed the netbook experience in Ubuntu 9.04, but they are still working their way out of these regressions.
With that said, on the open-source ATI/AMD side it does not immediately become a pleasant experience now that this new code has landed. We had tried out the latest Mesa (7.6) Git master code today, which contains the merged radeon-rewrite code-base, but we were quickly greeted with problems. The Urban Terror and World of Padman games would both run fine with Mesa 7.4, but when running the latest Mesa code on an ATI Mobility Radeon X1400 (R500) it would end up locking-up about half-way through the timed demo. While not a newly introduced problem, OpenArena still fails to run above 1~2 FPS with this ATI Mesa 3D driver. The Smokin' Guns and Warsow games also both failed to run properly.
This testing was done without the TTM memory management, but there were no real performance gains in the tests that would properly run (all of this testing was done through the Phoronix Test Suite). On this Lenovo ThinkPad T60 notebook with a Mobility Radeon X1400 running Ubuntu, the two tests that would actually run on both Mesa 7.4 and the current 7.6 development code was the Unreal Tournament 2004 Demo and Tremulous.
With the latest ATI Mesa code, the performance was better (circa 10%), but the game was still unplayable with this open-source driver and R500 hardware without the kernel memory manager.