In our article this morning entitled AMD Makes An Evolutionary Leap In Linux Support, we briefly touched on the fact that AMD would be continuing in their open-source support for the Radeon HD 4000 generation of GPUs. AMD will release register information for the RV770 and the code to TCore and KGrids will help the community developers when it comes to 2D and 3D acceleration. Though, with not much work at all, this afternoon we have the ATI Radeon HD 4850 512MB running with the open-source xf86-video-ati driver! The Radeon HD 4850 will not currently work with the xf86-video-radeonhd driver as it doesn't rely upon the AtomBIOS in these areas, but in this article we have enclosed our patch and other information for using this open-source driver on AMD's latest hardware.
Using the git code for xf86-video-ati and creating a trivial patch had allowed us to use this open-source driver on this just-released hardware in just a few minutes. The patch just adds in the identification data for the RV770 we were using (0x9442) and then creates the CHIP_FAMILY_RV770 and PCI_CHIP_RV770_9442. Our patch can be downloaded here.
Once installing the patched Radeon driver, it immediately began working with our Diamond Radeon HD 4850 (identified as a Wekiva RV770 B50102 Board through AtomBIOS). Granted, of course, there is no 2D or 3D acceleration yet for the Radeon HD 4800 series. Once the R600 series has 2D/3D support, it should be easily ported to the RV770. The only other issue we have run into is the driver not being able to read the EDID information from the monitor. We have tried with multiple monitors and with all of them reading the EDID had failed, which resulted in the X server defaulting to 1280 x 768.
This support is coming so easily due to the use of AtomBIOS within the xf86-video-ati driver. Check out our AtomBIOS articles, but for those not up to speed, it's essentially a video BIOS abstraction layer to conceal hardware differences between ASICs and thereby allowing the driver to work in a uniform way. As the RadeonHD driver is hard-coded and minimally uses AtomBIOS, this driver will not work with the RV770 until the Novell developers have manually written the support. None of the open-source developers have yet to receive documentation or any RV770 engineering samples.
It's great to see hardware from a brand new product generation work with an open-source driver -- using just a trivial patch -- on the same day it's released (well, actually six days before it was scheduled to launch). This is considering it took almost two years until the first ShadowFB-powered open-source support arrived for the R500 (Radeon X1000) series (by means of the now defunct Avivo driver) and a similar amount of time until the RadeonHD driver was released with R600 (Radeon HD 2000) support.
We'll be back shortly with more on the Radeon HD 4850 and Linux.