Last night we have pushed out the initial developers release of the RadeonHD driver for ATI's RADEON R5xx and R6xx chipsets. After a long dark period of no specifications AMD has decided to not only make code but also specifications available to the free software community.
So far we have seen specifications to do mode setting and possibly a little bit of video overlay. The specs cover most of what is needed to enable different outputs (VGA DAC, TMDA for DVI and LVDS for panels) TV out is not yet on the plate.
Also they allow to implement video overlays (classical color key overlays).
People are wondering if AMD's move was a one time PR blitz to muffle their biggest critics in the free software community.
My personal take on this is: I don't think so.
AMD has a long history of successful cooperation with the free software community. This cooperation was crucial for the success of their x86-64 project (we are only beginning to see versions of MS Windows appear which are 64bit capable).
In the past 4 month our X Developer Team at SUSE has worked extensively with AMD to make these things happen. We have only been dealing with people form AMD with technical background - no marketing people were involved.
Everyone involved has shown a great willingness and worked hard during long hours to do whatever it takes to open up the
specs and provide whatever it takes to get a free driver going.
Yes, we did encounter delays. Most of them were due to fact that what has happened here is a novelty in the graphics chipset
industry. Tools had to be implemented, processes had to be created, legal issues had to be resolved.
How did it all start?
Around mid of April (4 1/2 month ago) I have been contacted by AMD and asked to put together a proposal how an open source driver for the latest generation of ATI hardware could become reality. Our team wrote a proposal which included as two major goals:
- involving the free software community in the development process early on
- make chipset documentation available to the community with no strings (read NDA) attached.
To most Linux OS vendors like us at SUSE the unavailability of a free driver has created a huge burden. At SUSE we have made the conscious decision to not ship any non free software with out base product (even without this policy in place the GPL violation issue in the kernel would have prevented us as an OS vendor to ship the proprietary driver with our base product).
This however meant we were not able to ship a proper driver for a widely used range of hardware with our product.
We at Novell as a company we worked extensively with ATI and later on with our partner AMD to explain the dilemma and find ways to change this situation. Most of these discussions have not taken place in the public eye. After all it be bad style if business partners gave each other advice in public on how to do business.
Why did it happen right now?
Changes in paradigms like what we have seen here don't happen over night. As for any commercial entity there needs to be some business justification as such steps require effort and thus cost money.
Business justifications evolve either when the business model of a company or the business environment changes.
Here both things have happened:
- ATI has been purchased by AMD. AMD had a different business model in the Linux and free software market than ATI had.
- The business environment has changed: the b2b market (and this has been the market where conclusive data existed in terms of how much it is paying the bills) requires a free driver more than before.
To me AMD's move looks like a great opportunity. For the first time in many years graphics chipset documentation is made available to a broad public without the requirement of any NDA.
In fact I have a hard time to remember when I was able to download graphics chipset specs from a manufacturers web site without having to go through a pile of paper work.
AMD puts itself somewhat ahead of other graphics chipset vendors: In contrast to other free drivers for which only code but no documentation exists this approach allows a broad development community to poke bits and registers in crazy new ways to try out crazy things things that are not on the plate of those who are paying for the driver development.
Even if we won't see all results from these hacks appear immediately in the next release of the driver I expect it to kick off a lot of new development.
For a long time our community was somewhat cut off from the the information what state-of-the-art hardware was capable of. New features were limited to what hardware manufacturers - even those who developed free software drivers - considered to be a must-have for their drivers. This all is going to change now.