The Novell developers behind the xf86-video-radeonhd driver have yet to receive their hardware samples from AMD for the Radeon HD 4850 or Radeon HD 4870, but there is already AtomBIOS-based support for these next-generation graphics processors. This open-source driver now has basic mode-setting support, but the 2D and 3D work is still to come.
Last month even before publishing our ATI Radeon HD 4870 Linux review we had delivered news that the open-source xf86-video-ati driver was already working with the Radeon HD 4850 as well as the flagship Radeon HD 4870 (and that's in addition to both cards having official same-day support within the proprietary fglrx driver). The way that the xf86-video-ati was able to support these high-performance graphics cards on the same day as their release was using AtomBIOS. For those that may be new to the ATI graphics world or first-time Phoronix readers, AtomBIOS is ATI's video BIOS abstraction layer that conceals many of the architectural differences between the Radeon GPUs and provides an interface for programming the graphics processor without directly accessing the hardware registers.
The RadeonHD developers have long preferred the AtomBIOS-limited approach of hard coding a majority of the driver and only using this video BIOS abstraction when necessary -- for technical reasons or the lack of programming documentation at the time of development. However, as we shared last week, under pressure from AMD, the Novell-based RadeonHD developers are turning to use AtomBIOS to a much greater extent. Their AtomBIOS-ized driver is currently found within a git branch of their main xf86-video-radeonhd development repository, but soon it will become the default.
With this AtomBIOS support within the RadeonHD driver, it's now possible to use the RV770-based Radeon HD 4850/4870 with this open-source ATI driver. However, as this AtomBIOS support is still young, it wasn't as easy as just adding in the new PCI IDs and chip names (as we had done when creating the xf86-video-ati RV770 patch). AtomBIOS corrections for the pixel clock restoration, device connections, and other areas were first needed for this RV770 support. However, the RV770 support has officially landed today with the addition of the PCI IDs for the HD 4850 and HD 4870 and the fixing of the last show-stopping bug, which dealt with a frame-buffer location offset and MC code.
Once checking out this latest git code, we experienced open-source success with both Radeon HD 4800 graphics cards. There is no 2D, 3D, or video playback acceleration yet, but it's coming soon with the open-source R600 support. Like the xf86-video-ati driver with the RV770 driver, we had also experienced DDC issues with the default resolution being incorrect. In addition, with the xf86-video-radeonhd driver it had taken a longer time for the mode-setting process and several screen flashes. Even so, this close to same-day open-source support is a sight to see. In the past R500/600 Linux owners had to wait months for Linux support in even ATI's proprietary driver and the time long ago when ATI had even blocked David Airlie from releasing a basic open-source R500 mode-setting driver.
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.