Over the weekend in the Phoronix Forums were comments by AMD's John Bridgman regarding the HDMI audio driver support still missing for the Radeon HD 5000 series and newer. He explained it was tied up in legal review, etc. Of course, it was just days later that the Evergreen HDMI audio support was reverse-engineered to enable HDMI stereo support within the open-source Linux Radeon DRM driver. Being a very frequent contributor to the Phoronix Forums, John Bridgman followed up to reader inquiries and answered some more questions. This is where we learn of new Trinity and GCN information.
John Bridgman commented on the AMD open-source Linux road-map (fear not, AMD PR, it was not any product/hardware or Catalyst road-maps).
In terms of roadmap it's basically the stuff we talked about at XDC recently - next generation hardware (GCN), changes to memory management, OpenCL, more work on trying to open up UVD, along with ongoing support & bug fixing.
In terms of what is working and what isn't, Trinity is basically working and the focus now is building up the GCN acceleration stack. Kernel driver for GCN has been working for a while although changes to memory management are continuing, and work is ramping up on shader compiler and 3D acceleration. We're working in a slightly different sequence from what we used on previous new generations -- command submission before display, and 3D before 2D -- in order to align better with some other projects.
A good chunk of the shader compiler work is common between GCN and OpenCL, so you can choose which of those you want to think Tom is working on. Tom is also the first contact for android-x86 issues.
It was easier to talk about this stuff when we were catching up, and working on hardware which had already been released. This "get ahead of the game and work on unreleased hardware" stuff is a bit of a pain, in the sense that there's much less we can talk about while the work is being done. We are trying to release portions of the work early wherever possible (eg the multi-ring support pushed out recently), hoping to get the revised memory management code out into the light next so that other devs can have a chance to review & comment before it goes upstream.
I guess it's fair to say that a lot of the work so far has been foundation technology which is optional on current chips but which is an essential pre-requisite for the next round of hardware support. I'm not talking about UVD here because I still don't know what the endgame is going to be, but there is a fair amount of work going on there as well.
So in terms of AMD's future plans, it's not much different from what was shared at XDC2011 Chicago. AMD's small open-source development team is focusing on new hardware enablement, improving the memory management, enabling OpenCL support over Gallium3D, some work towards UVD video acceleration, and the other ongoing support and maintenance.
The new information is about the state of open-source driver support for next-generation hardware. Namely, Trinity is working and GCN is coming up. Trinity, which we have already seen Trinity under Linux back in October, is basically working on the open-source stack right now (it's functioning on Catalyst too, there's also some follow-up comments like the Linux 2D support right now as "works good"). The key focus for the open-source driver is on GCN (Graphics Core Next), a.k.a. the Radeon HD 7000 series.
In terms of the Radeon HD 7000 series with open-source AMD graphics drivers, Bridgman's comments confirm that the kernel (Direct Rendering Manager) driver is working, but they are still tackling 3D acceleration (via Mesa's Gallium3D). It's also nice to see them working on 3D acceleration prior to 2D acceleration, since that could theoretically be done using Gallium's Xorg state tracker. His comments also seem to imply that there are significant revisions pending to the kernel (TTM/GEM) memory management for the Radeon driver.
The Radeon HD 7000 series should be introduced next month and already has initial Catalyst driver support in place, as talked about in my earlier Radeon HD 7000 series support article. However, unlike Intel, AMD doesn't publish any of their open-source driver code (or documentation) prior to launching next-generation hardware.
Chatting and drinking with John Bridgman and others over Phoronix-sponsored beer at XDC2011. Prost!
We could potentially see the Radeon HD 7000 series open-source support land in the Linux 3.3 kernel, but with Bridgman signalling that the 3D support is still a work in progress, we could very well not see a proper Southern Islands implementation land until the Linux 3.4 kernel. In other words, the summer of 2012 is when all of the mainline components would be in place for a pleasant "out of the box" Linux desktop experience. Mesa 7.12/8.0 is expected to be released in January, so on the user-space side for the Gallium3D driver, that will likely not officially surface until the Mesa 8.0/8.1 release also in mid-2012 (the Mesa versioning is still up in the air based upon when the OpenGL 3.0 support level is met). There's no word yet whether AMD will port these Radeon HD 7000 series changes to an open-source Windows Radeon driver.
At least the open-source Trinity support is functioning and will hopefully be a target for the Radeon DRM in the Linux 3.3 kernel. The next question though will be whether Canonical back-ports the Linux 3.3 DRM to their Linux 3.2 kernel in Ubuntu 12.04 LTS and the accompanying Gallium3D driver changes from Mesa Git, in order to provide a suitable experience when the Precise Pangolin ships in April.
For the Radeon HD 7000 series and Trinity, it will likely be several more months before seeing the open-source OpenCL support and compliance with OpenGL 3.1+. Next year the Mesa/Gallium3D drivers will finally feature OpenGL 3.0 compliance. If and when there will be UVD acceleration support is also up in the air, but at least some video playback acceleration can be done using shaders with Gallium3D and VA-API/VDPAU.
At the end of the day, at least AMD is actively supporting an open-source graphics driver alternative while NVIDIA stands by idle and leaves the community with no choice but to reverse-engineer open-source GeForce/Quadro support via the Nouveau driver project. At least there will be reliable launch-day AMD Catalyst driver support on Linux and Windows...