Yesterday when talking about the new ATI Linux driver, AMD's press release had stated: "In the coming months AMD also plans to accelerate efforts to address the needs of the open source community as well." A few hints were dropped yesterday, but what we didn't tell you is that the announcement wouldn't be in a few months, but really just a few hours. The embargo is lifted so we can now share with you what AMD's new open-source strategy for ATI GPUs is all about. You may be in for a real surprise!
Rumors and speculations have been flying around for months about ATI/AMD opening up the source-code to their Linux display driver or providing their GPU specifications to community developers. This for the most part had started after Henri Richard's statement at the Red Hat Summit earlier this year. Well, those rumors can finally be put to rest. AMD will be providing NDA specifications, an open-source library, and there is a new open-source graphics driver as a result. AMD will continue producing a closed-source proprietary driver; however, they are opening the source-code to a critical library with accompanying GPU specifications for X.Org developers. To get the ball rolling, AMD is also funding the development of a new open-source R500/600 driver.
Key members of the X.Org driver community have been involved for the past few weeks including David Airlie, the Linux kernel developer who once constructed a very basic 2D display driver for the R500 series but was never allowed by ATI/AMD to release the code. David Airlie and Alex Deucher had worked with AMD on this current strategy, while the new AMD sanctioned driver that's open-source is initially being written by Novell. Novell/SuSE was given the same documents that will be released to the community. The aim of this open-source driver is not to overtake the fglrx driver but rather is designed for those who just want a working desktop with 3D capabilities and basic video playback. This new driver is ideal for FOSS enthusiasts and those wishing to run the latest development kernels and versions of X.Org. The fglrx driver will continue full steam ahead with their monthly releases and will be for those who want a stable driver with top-notch performance, all of the bells and whistles, and avoid checking out the latest git code in order to get the latest fixes and features.
This new driver is being written from scratch and is not based upon the R500 Avivo driver, which will likely spell an end to this reverse-engineered X.Org driver as Jerome Glisse will be contributing to this new driver. This driver will not directly impact the open-source Radeon driver for the older generation of ATI graphics cards, as this work is focused on the Radeon X1000 (R500) and Radeon HD 2000 (R600) generations and future classes of AMD graphics processors. AMD is sponsoring the developers to work on both the 2D and 3D components and do as much work as possible "in the open".
The library that is being open-sourced by AMD is for their ATOM BIOS. The ATOM BIOS is shared between the video BIOS and the proprietary driver to act as an interpreter for handling some calls across their newer generations of graphics cards. As described by Matthew Tippett of the AMD Graphics Products Group, "The library reads tables from the BIOS and provides effective firmware processes for programming hardware". The use of the ATOM BIOS in the open-source driver will make it much easier for community developers to support newer-generations of GPUs upon their release so it won't take years for proper support. Though AMD does realize that the ATOM BIOS isn't a miracle "write once, run everywhere" layer and that some areas will still be hard-coded.
Unlike the R200 Weather Channel specifications (you may want to check out our R200 Linux Driver Redux), the specifications that are being handed out to X.Org developers under Non-Disclosure Agreements are through a formal AMD program. However, the specifications and other programming documents are not the silver bullet. With AMD's chips not being designed for third-party programming, not everything is well documented so in some areas AMD will be providing sample code. Some documentation will still be blocked if it involves third-party licensing or intellectual property they don't wish to expose, but this does appear to a very genuine effort by AMD.
A baseline driver should be available next week and there is already a community of developers in hand with AMD's GPG documentation. The driver that will be made available is comparable to the Avivo driver, but it should be excelling at a much faster rate. These efforts by AMD are certainly exciting if everything pans out and we will be covering this more once AMD makes their official announcement and we will be paying close attention to this new driver. This move by AMD shows that they are looking to further embrace the Linux platform and that they realize the value of open-source software while remaining competitive.
What do you think about AMD's new strategy? Tell us in the Phoronix Forums.