Radeon vs. RadeonHD Drivers In H1'08
For Linux distribution vendors, right now is proving to be an awkward time for them as they decide which ATI driver will ship as the default choice in their spring distribution refresh. The problem used to be whether to ship a binary-only driver in the distribution in order to provide "out of the box" support for all available graphics hardware, but on the ATI/AMD side the software distributors are now facing the challenge of which open-source driver they should call the de facto standard. In this article we are briefly looking at the matter of the xf86-video-ati vs. xf86-video-radeonhd drivers, the highly political issue of AtomBIOS, and what some of the popular Linux distributions are deciding to use this spring.
The issue at this time really comes down to which driver should be the default for those using ATI R500/600 graphics processors (Radeon X1000, Radeon HD 2000, and Radeon HD 3000 series). The xf86-video-ati "Radeon" and xf86-video-radeonhd "RadeonHD" drivers are the two open-source options, not counting the "fglrx" binary-only driver found in the AMD Catalyst Linux package. While the developers behind these two drivers don't exactly see eye-to-eye, both teams have the same goal of creating a fully open-source 2D and 3D driver for the latest ATI/AMD hardware, but their paths to attaining this goal are quite different with each side believing their method is superior, and this has led to fragmentation. Between the two driver teams, right now there is little cooperation. For the end-user and Linux distribution vendors, this has just led to confusion.
If you have been keeping up with all of the graphics driver articles at Phoronix, you will know that the RadeonHD driver was conceived last year and was publicly unveiled in September. The RadeonHD driver is the joint work of AMD and Novell. AMD is sponsoring the developers and providing the specifications and most of the graphics hardware, while the Novell/SuSE engineers are doing the actual development work. This driver was written from scratch to support the Radeon R500/600 series and future ATI GPUs. The short-lived Avivo driver (xf86-video-avivo), which was reverse-engineered from the fglrx driver, was technically the first open-source driver providing support for the R500 series, but the RadeonHD driver was the first at providing both R500 and R600 open-source support. In fact, the high-end Radeon HD 2900XT had worked with the RadeonHD driver from day one.
On the other hand, the Radeon (xf86-video-ati) driver has been around for years and its product support originates with the R100 (Radeon 7200) GPUs and has been built up over time to support all Radeon (and FireGL) product families. Portions of this driver have been written with specifications ATI had released under Non-Disclosure Agreements for the R200 (Radeon 8500 - 9250) while other areas had to be reverse-engineered. The Radeon driver is the only open-source driver supporting the R100-400 ASICs and its feature-set includes hardware 2D and 3D acceleration along with X-Video and the recent TexturedVideo addition as well as Xinerama and RandR 1.2 support. AMD wasn't intending on the Radeon driver to be extended yet again to support the Radeon R500 and R600 product families, but it had just sort of happened with the work being done by David Airlie and Alex Deucher. Alex has been a long-time Radeon driver contributor, but last year he joined AMD to help John Bridgman in AMD's open GPU documentation efforts. This Radeon driver R500/600 support had started out as branches in the xf86-video-ati and DRM git trees, but soon enough it was merged to master.