This Is What Started AMD's Open-Source Strategy
(Pardon some formatting problems when exporting the letter...)
Proposal to Advanced Micro Devices for the Implementation of a Driver for its ATI Radeon (tm) HD 2000 Family of Graphics Hardware (R600).
Today two separate and independent drivers exist for ATI graphics hardware:
The open source driver presently supports all generations of ATI RADEON chipsets up to the R400 series chips. This includes basic mode setting for multiple outputs, 2D acceleration, and hardware cursor and video overlays.
Accelerated OpenGL support for the open source implementation is provided by the DRI Project (Direct Rendering Interface) which develops plug-in modules providing accelerated drivers to the OpenGL library libGL as shipped by the Mesa Project. It can be considered stable for all chipset generations up to R200. Support for later generations up to the R480/481 family is available -including basic support for programmable shaders. This however is still experimental due to the lack of programming documentation available to the open source community. Furthermore it does not cover all series of chips of these generations. This code is mainly the result of reverse engineering efforts by the open source community.
For any generation including and later than R500 the open driver offers no support at all.
Unfortunately the open source driver is not in a state that offers consistent quality across releases. Regressions are not an exception.
The proprietary driver features all 2D functionalities that are also supported by the open driver. Additionally it provides an AMD proprietary interface for altering modes and output parameters through 'atieventsd' and a GUI both of which are installed along with the driver.
The proprietary driver offers an enterpriese grade OpenGL implementation with shader support. It used to be based on the framework provided by the Mesa project so that this driver plugged into Mesa's libGL seamlessly like other DRI drivers. Today however AMD ships its own version of libG, requiring distributors to exchange the existing library depending on which driver is installed.
Today the ATI driver supports chipset generations ranging from R300 to R500. AMD undergoes huge efforts to work with Linux vendors to track issues about this driver reported to them. Older generations of ATI chips are supported by a separate proprietary driver. AMD does not provide maintenance for this driver any more.
The ATI proprietary drivers are somewhat hampered by ongoing changes in the kernel-internal ABI and changes in the behavior of kernel subsystems.
Linux vendors are unable to include proprietary drivers as shipped by AMD in any of their products, to avoid violating the General Public License v2 (GPLv2) of the Linux kernel. This license disallows creation of derived work from code under it if the source code of binary modules to be linked with cannot be made public under conditions compatible with it.
To accommodate customers who need to rely on the proprietary driver, NOVELL designed a third party
installation/update mechanism which allows to load this driver from a web server on the Internet which is not hosted by NOVELL.
In the past ATI has supported the development efforts of the open source community and provided some documentation under NDA to develop the open source driver. Explicit permission was given to publish the derived code. This practice has been discontinued since the release of the R300 chipset generation.
The decision to no longer provide any specifications for open source driver development has led to some criticism by the open source community. The lack of availability of an open driver for AMD's latest chipset generation is partially to blame for the decreasing market share of ATI products in the Linux market.
Latest Linux Hardware Reviews
Latest Linux Articles
Latest Linux News
Latest Forum Discussions