Fedora 12 provides "out of the box" support for kernel mode-setting with ATI R600/700 series graphics hardware, but it does not provide 3D acceleration by default. However, Red Hat's X developers have made it very easy to enable this 3D support for the ATI Radeon HD 2000, 3000, and 4000 series hardware by just installing a special Mesa package from yum. In this article we are taking a quick look at where the R600/700 3D support is at in Fedora 12.
The necessary DRM code for kernel mode-setting and 3D support for the ATI R600/700 ASICs has landed in the Linux 2.6.32 kernel, but that has been back-ported into Fedora's 2.6.31 kernel. The Mesa code for the Radeon DRI driver that has the R600/700 3D support has been in Mesa's master Git repository for some time, but that is not enabled by default in Mesa 7.6. To enable the open-source R600/700 3D support under Fedora 12 one must simply run yum install mesa-dri-drivers-experimental and then reboot their system. This experimental DRI drivers package is derived from the Mesa 7.6 branch. For our testing we had done a clean installation of Fedora 12 Beta and then installed mesa-dri-drivers-experimental. The ATI Radeon hardware we used for testing included a Radeon HD 4870, Radeon HD 4650, and a Radeon HD 3870.
First off, we would like to note that the ATI kernel mode-setting support by default in Fedora 12 has been working quite well from our testing. Even when using a dual-link DVI monitor running at 2560 x 1600, KMS has worked and properly mode-set to the right resolution. With a variety of hardware and different monitors, it has all worked quite well from this beta installation. When installing the mesa-dri-drivers-experimental package, upon rebooting we were able to immediately enable Compiz support without any problems. Compiz was running well with no visual defects and the performance was suitable for the Linux desktop.
The first game that was tested using this experimental R600/700 Mesa 3D support in Fedora 12 was Nexuiz. The game had started up just fine and was running reasonably well, but there were plenty of visual defects and rendering problems. Below are a few screenshots showing the current state, which is playable but not exactly pleasant.
Next up was the ioquake3-based World of Padman game. This game not only had a respectable frame-rate of usually at least 50 frames per second, but also, from our testing the rendering was correct and we ran into no problems. World of Padman had run fine with this Mesa-based support.
The third game that was tested was Urban Terror. With Urban Terror there was reasonable Mesa 3D performance with the R600/700 hardware and the rendering was correct, but no text was displayed within the game or on the heads-up display. Besides that issue everything else appeared to run correctly.
If you are just after Compiz support and have an ATI Radeon HD 2000/3000/4000 series graphics card, the experimental Radeon driver should actually be quite stable and work out well. If you want to use mesa-dri-drivers-experimental though for gaming, your support may vary substantially at this time. However, by the time that Fedora 13 rolls around next year, this support will more than likely be enabled by default. Once this open-source 3D driver support does mature a bit more, we will be back around with some benchmarks. Additional notes on the status of the open-source R600/700 3D support are available on the X.Org Wiki from the Radeon Program area.