2013: A Good Year For Open-Source AMD?
For those disappointed by the results of the open-source vs. closed-source AMD Radeon graphics driver results on Linux at this time, you may be more pleased going forward and carry hope for open-source AMD advancements in 2013.
While catching up with the former RadeonHD developer in Darmstadt, Egbert and I of course were chatting about the open-source Radeon work -- both past and future work. While the SUSE employee is no longer directly involved with the open-source AMD Linux work, there is hope going forward into the next calendar year.
Aside from the performance being dramatically slower when using the open-source Radeon Linux driver rather than the binary-only AMD Catalyst driver, there's also issues in terms of features (UVD video acceleration, CrossFire, power management / dynamic re-clocking, etc). The feature parity is slowly being reached. Another issue has been new hardware enablement in terms of when new GPUs are launched with invasive architectural changes, i.e. the Radeon HD 7000 "Southern Islands" series that still are not supported in a usable open-source state for 3D.
Right now the open-source Radeon support is good enough if you're using an ATI/AMD graphics processor that's a few generations old and aren't into performance-intensive OpenGL3/4-needing demanding workloads or need any other functionality not supported by the open-source DRM/KMS + Gallium3D Linux driver stack.
As some hope for the future, below are some comments made by AMD's John Bridgman within the Phoronix Forums just a few weeks ago.
"The open source driver stack has picked up support for 9 years of hardware introductions in less than 5 years, with the 10th (SI) pretty close. New hardware already has launch time support when the GPU architecture doesn't change drastically (Ontario, Llano and Trinity for example) and by next year should have launch time support even on new GPU cores."
This is interesting, so hopefully the Radeon HD 8000 series will see good launch-day support. However, the HD 8000 "Sea Islands" series isn't likely to be a radically different architecture compared to GCN. And yes, there was launch-day support for AMD Trinity APUs, but the kernel / Mesa requirements aren't met by default in modern Linux distributions such as Ubuntu 12.04 -- meaning no "out of the box" support and manually needing to toy with the kernel and Mesa.
"None of this is news (and it's not obvious at all if you sample over a shorter period), it's just steady progress over 4-5 years and includes major improvements to the common code from Intel, Red Hat and community developers. Once we are done catching up with our hardware development and proprietary driver work (probably another year) we should be able to spend relatively more time on features / performance and relatively less time chasing new hardware."
The delta between the open and closed-source support is slowly closing, but at the same time there's still years of OpenGL catching up and fundamental features that have been around for years like PCI Express 2.0 is still not enabled (by default). OpenCL support is also only now on approach for landing. Radeon HDMI audio also isn't even enabled by default on modern kernels.
"It will get easier once open source driver development starts to happen at the same time as proprietary driver work and it becomes possible to use the big-ass RTL emulators to find out why the HW isn't behaving like we think it should. That's why we've focused so much on catching up with new HW."
When they are caught-up, yes, the open-source driver support for new generations of hardware should finally be developed in tandem with the closed-source Catalyst driver. Though in terms of the "big-ass RTL emulators" benefiting the open-source Radeon stack, evidently this has been a goal / TODO list item for several years. Egbert mentioned that even during the RadeonHD days that Bridgman was trying to gain access to the AMD emulators. (Note: the Intel open-source developers are already running on emulators when it comes to working on early hardware enablement.)
With the long post, Bridgman also doesn't recommend buying high-end AMD hardware if planning to use the open-source driver:
"I've said this a few times over the years so hopefully this won't come as a surprise, but I wouldn't be buying high end cards yet if I was only planning on using them with the open source drivers, even if I could magically run the Intel open source stack on AMD or NVidia hardware."
The Phoronix results also show that generally the low and mid-range AMD (and NVIDIA with Nouveau) graphics cards tend to perform the best relative to the official proprietary Linux graphics drivers.
"Intel could get shut down, or a meteor could fall on your home, or the NVidia driver team could be eaten by a pack of rabid weasels. Anything is possible, the question is what is likely. If anything I expect to see more developers working on the open source drivers in the future."
Of course, improvements aren't certain as anything could happen, but let's hope next year turns out better.