Moving to the ATI/AMD side, there are a few more choices. The official closed-source ATI Linux driver is named "fglrx" and it currently supports the R300 GPUs (Radeon 9500) up through the R600-based Radeon HD 2900XT. Support for the R200 generation of ATI GPUs was previously dropped in the fglrx 8.28 driver release and this driver is no longer maintained for new X.Org or kernel compatibility. A new fglrx driver is released on a monthly basis via the ATI website and can be found in a number of distribution repositories -- including the Ubuntu Restricted Driver Manager. It was also just recently that the fglrx driver received a major overhaul with AIGLX support. Like the NVIDIA driver, the fglrx driver is limited to x86 and x86_64 Linux.
On the open-source driver side for ATI graphics processors, there's a number of different options. The xf86-video-ati driver supports the Radeon R100/200/300/400 series as well as Mach 64. This driver supports all ATI Radeon graphics processors up to the X850 series. The R100/200 support was mostly written with specifications that were released by ATI Technologies under a Non-Disclosure Agreement with several developers a few years back. More information on that is available in ATI Has Open-Source Drivers Too and our other Linux graphics articles. However, a number of features had to be reverse engineered for areas where the NDA documentation hadn't covered. Most of the R300/400 work also had to be reverse engineered. This open-source ATI driver supports 3D as well as TV-Out, AIGLX, and other features, but it is slower than the fglrx driver in both the AIGLX performance and OpenGL gaming performance.
On the open-source side for newer ATI R500/600 (Radeon X 1000 and Radeon HD 2000) GPUs, there are two different drivers in existence: the Avivo and RadeonHD drivers. The Avivo driver is reverse-engineered from the fglrx driver and only supports 2D along with basic functions like ShadowFB support and RandR 1.2 support. The Avivo driver is no longer in development, because of the RadeonHD driver.
The RadeonHD driver is an open-source ATI R500/600 display driver, but unlike the rest, it is developed in part by specifications that AMD had openly published. To date, AMD has released over 900 pages of R500/600 GPU specifications. However, that is only their first batch of documentation they had released without any NDAs, but there is still much more information that's needed by the open-source community. AMD has committed to releasing their R500 and R600 GPU documentation along with publishing their specifications for past generations. However, they have limited resources devoted to getting this information out into the public domain and it's unknown when their next document drop will be. With support from AMD and the released documentation, Novell is developing the RadeonHD driver. Novell hopes to have stable 2D done by the end of this year, but the roadmap beyond that is unknown. The RadeonHD driver interfaces with the AtomBIOS and will support new ATI graphics processors in the future. The RadeonHD driver is available by checking out xf86-video-radeonhd from FreeDesktop.org and is not yet included by default in any Linux distributions.
While the RadeonHD is the open-source ATI/AMD driver for the future, there's much work left to be completed before it's ready for primetime. AMD still has to release much more documentation (or the community do more reverse engineering) and when they will next do that is anyone's guess. However, if you are using an older graphics card, such as ATI Radeon 9200 or Radeon X800, there is a viable open-source solution through the xf86-video-ati driver. This open-source ATI driver isn't as fast as the fglrx driver, but if you're just using a standard desktop and Compiz/Compiz Fusion and watching videos, this driver should suit you well. For Radeon X1000 and Radeon HD 2000 owners, stay tuned to Phoronix for the latest developments on the RadeonHD driver.
If you are committed to free software drivers for your ATI or NVIDIA graphics card, one possible avenue to help is by providing reverse engineering dumps. Among the reverse engineering utilities are RENouveau (for NVIDIA), Revenge (fglrx), and Vbespy.
If you're new to Linux or are still understanding the different Linux graphics drivers available, we hope this article was of help to you. If you have any questions or would like to discuss this article, stop by the Phoronix Forums. You can also find more information in our other Linux graphics articles.
Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.