AMD Releases Open-Source R600/700 3D Code

Written by Michael Larabel in Display Drivers on 29 December 2008 at 03:30 PM EST. Page 3 of 3. 198 Comments.

In the past we have talked about CAT, KGrids, and TCore, which are all internal ATI/AMD software projects used by their driver developers, but these are no longer being open-sourced. Due to several reasons, the code isn't being published, but most of what has to be learned from it on how to program the 3D engine can now be gathered from this just released DRM and r600_demo code.

The aforementioned r600_demo program is used to demonstrate basic 2D and 3D operations atop the R600 and R700 series hardware. The r600_demo doesn't use OpenGL but communicates directly with the R600 hardware through the DRM. This code will be placed into a new Git repository. This is nice for demonstrating the basic acceleration is in place, but is not something for end-users to enjoy.

These 180 pages of specifications is a lot less than the 650+ pages that Novell has had their hands on since earlier this year. John Bridgman of AMD describes the documentation as being focused on using the 3D engine, but over time they will continue to add more register specifications. The documentation is focused solely around the 3D engine and thus there is no information at this time pertaining to the Unified Video Decoder or IDCT. Expect the 3D documentation to be out soon.

The microcode for all newer GPUs since their microcode GPU drop earlier this year is also being pushed out today into the respective Git repositories.

All of this work should be compatible with ATI GPUs up through the recent RV710 and RV730 GPUs. For those not familiar with the different core codenames, this code is supported on the R600 (Radeon HD 2000 / 3000 series) and then the different R700 GPUs that are in the Radeon HD 4000 series. This goes for both mobile and desktop GPUs.

For X.Org developers and enthusiasts, this is a very exciting gift from Advanced Micro Devices. There is now nothing (other than time) preventing open-source developers from enabling 3D support across all available ATI graphics processors -- even the newest just released graphics cards. For end-users, today's releases are a significant milestone in the step towards open-source ATI 3D support on the Linux desktop. John Bridgman estimates that by April there should be R600/700 support that matches what is currently available for the R500 series, but that could change depending upon community involvement, etc. There is a chance we may see some of this 3D support land in the second quarter refresh of major Linux distributions, which would certainly be ideal.

We are now in the process of checking out the just released R600/700 DRM and so you can expect more Phoronix articles in the coming days. The code can be found in branches of the different Git repositories housed at FreeDesktop.org.

If you enjoyed this article consider joining Phoronix Premium to view this site ad-free, multi-page articles on a single page, and other benefits. PayPal or Stripe tips are also graciously accepted. Thanks for your support.

Related Articles
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.