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-livedAvivo 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.