1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

ATI Has Open-Source Drivers Too

Michael Larabel

Published on 5 May 2007
Written by Michael Larabel
Page 1 of 1 - Comment On This Article

Since late last year the open-source Linux community has been ecstatic about the growing progress made by the Nouveau developers. Nouveau is an X.Org and FreeDesktop.org project for developing an open-source 2D/3D display driver for NVIDIA graphics cards. With NVIDIA Corporation not providing hardware specifications, this driver is being written through reverse-engineering NVIDIA's binary display driver. While the developers of Nouveau are making great strides and this driver is taking shape, the open-source ATI driver must not be forgotten.

For those that may be new to the Linux scene, ATI Technologies had released specifications to the Radeon R200 (8500 to 9200) series to X.Org developers quite a while ago. For those graphics cards, there is an excellent stable and open-source driver built into X.Org and since then ATI discontinued R200 support in their fglrx binary driver. However, support for the Radeon R300 series had to be reverse-engineered in order to construct a supportive driver (due to ATI not providing the needed specifications). The R300 driver now is nearly complete for desktop users wishing to play older games or simply benefit from Beryl and Compiz, but the driver is certainly not perfect. For instance, RS480 support with the R300 driver was only started recently and still has a way to go. Some of the other work left to tackle includes general optimizations, implementing the TTM memory manager, smooth/alpha shading, anisotropic filtering, and fixing a number of different bugs.

Last year David Airlie had written a very rudimentary 2D driver for the R500 series, however, to write the driver he had used a utility that he was not permitted to run on the R500 series and is under a Non-Disclosure Agreement with ATI/AMD. With Airlie being in violation of the agreement, ATI/AMD has not and will not permit him to release the code. However, this driver did not support 3D rendering and contained only limited functionality. Recently, however, there has been work on reverse-engineering ATI's R500 (Radeon X1000) series. There is no dummy driver available yet or even a Wiki page, but I have covered some of the progress made on my blog at MichaelLarabel.com. Among the developers working on this project are Jerome Glisse and Daniel Stone. This driver is still in its infancy but in the coming months there should hopefully be some good news to report back.

When it comes to the open-source ATI development efforts, work has been done on porting renouveau (the extremely handy utility used for reverse-engineering the NVIDIA driver) to work on ATI graphics cards. Some of the ATI tools currently available to assist in reverse-engineering the fglrx driver include Radeondump, libsegfault, kmmio tracer, and Revenge (along with Piglit for that matter). Shortly the R500 driver developers will be in need of plenty of card dumps, however, dumps and testing for the R300/400 series still may prove to be useful.

Talking with Jerome Glisse, he believes that the open-source developers know basically everything they need to know and have implemented everything for reverse engineering the ATI Radeon graphics cards. The issue basically comes down to having qualified developers work on the driver and writing it properly. Jerome Glisse had stated the Radeon driver really need some experienced developers to think about the driver's design and to cleanup the code. He also states, "The true be told the driver code (r300 especially) are a big mess and definitely need to be reworked". There has been much talk about the TTM memory manager and it offering a big boost when it comes to the graphics performance, but Jerome had later expressed fear among Radeon developers with this solution. TTM ultimately has drawbacks that outweigh the memory management capabilities. On an unrelated note to the TTM memory manager, he fears that a majority of the DRM infrastructure will need to be rewritten.

As far as the R500 driver goes, there are currently some initialization issues with the Radeon X1600 and X1900, which require loading the fglrx kernel module first. Taking place with the unreleased driver is also cleaning up some code to ensure that the driver to be released first does not have a "broken design". Taking this time in the beginning to properly engineer the R500 driver should cause a greater number of benefits down the road.

I am not trying to tell you to not support the Nouveau project, as those developers should have whatever they need in order to get their driver completed and ready for public consumption. However, the ATI driver must not be lost in this action. Linux users must continue to embrace the fabulous work done by these developers on the open-source ATI driver and this work must continue in order to provide R500 (and eventually, R600) support. At this time the open-source ATI driver is the only option for ATI Linux users wishing to use Beryl or Compiz without needing to use XGL. The major area, however, lacking with the open-source Radeon driver is in the area of TV-Out support due to Macrovision. For the normal desktop user that is not experienced at X.Org hacking, the best and most effective way to help out these developers are to provide card dumps and then testing the latest drivers. However, the open-source ATI team is in desperate need of more skilled developers.

Phoronix has more information on the Nouveau driver along with news and articles on the Radeon happenings. Your comments on this article are welcome in the Phoronix Forums.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. Intel Xeon E5-1680 v3 & E5-2687W v3 Compared To The Core i7 5960X On Linux
  2. Intel 120GB 530 Series SSD Linux Performance
  3. Btrfs/EXT4/XFS/F2FS RAID 0/1/5/6/10 Linux Benchmarks On Four SSDs
  4. AMD's Windows Catalyst Driver Remains Largely Faster Than Linux Drivers
Latest Linux Articles
  1. NVIDIA vs. Nouveau Drivers With Linux 3.18 + Mesa 10.4-devel
  2. Is The Open-Source NVIDIA Driver Fast Enough For Steam On Linux Gaming?
  3. Linux 3.18 File-System Performance Minimally Changed But Possible Regressions
  4. AMD Radeon Gallium3D Is Catching Up & Sometimes Beating Catalyst On Linux
Latest Linux News
  1. Linux 3.18-rc6 Released, A Worrisome Regression Remains
  2. HandBrake 0.10 Brings H.265 & VP8 Encoders
  3. Gngr: A New Web Browser Focused On Privacy
  4. Linux 3.18 Kernel: Not Much Change With Intel Haswell Performance
  5. More File-System Tests Of The Linux 3.18 Kernel
  6. Using NVIDIA's NVENC On Linux With FFmpeg
  7. There's Talk Again About An "Open To The Core" Ubuntu Laptop
  8. PowerVR SGX Driver Code Gets Leaked
  9. V2 Of KDBUS Published For Linux Kernel Review
  10. VirtualBox 4.3.20 Arrives, Still No Sign Of VirtualBox 4.4
Latest Forum Discussions
  1. PulseAudio 6.0 Is Coming & Other Linux Audio Plans For The Future
  2. Debian Developer Resigns From The Systemd Maintainership Team
  3. Roadmap to Catalyst 14.10 ?
  4. Updated and Optimized Ubuntu Free Graphics Drivers
  5. Cant get working Kaveri APU - A10-7850k
  6. Script for Fan Speed Control
  7. Debian Init System Coupling Vote Results
  8. The Slides Announcing The New "AMDGPU" Kernel Driver