AMD Press Talks Up Major Open-Source Linux Driver Features
I was contacted on Monday afternoon by a member of AMD's global communications team to learn about their "recent driver developments from the Linux side of the house....Of late, we’ve committed the following changes to the X.ORG ‘radeon’ repository—our open source driver."
The mentioned new improvements to their open-source Linux stack include:
- Video Compression Engine (VCE) enabled for compatible GPU and APU products (e.g. GCN-based SKUs). Hardware-accelerated encode of H.264 now possible for 1080p60 content.
- Video decode (UVD) performance and efficiency improvements for the AMD R9 290/290X, R9 260X, "Kaveri" and "Kabini"
- X-Video hardware video acceleration via the GLAMOR library now supported.
- 2D acceleration via the GLAMOR library now enabled by default.
- Substantial improvements to overall video transcode times for hardware-accelerated transcoding apps.
- Tiling support now enabled on all GCN-based products.
- Substantial OpenGL feature level upgrade to v4.3.
- Major contributions to the Linux kernel 3.14 to improve dynamic power management, DisplayPort robustness and power efficiency on all GCN-based hardware.
- New programming guides and register specifications released for HD 5000, 6000, 7000 and R9/R7 Series GPUs. This will enable volunteer and professional developers to contribute to the X.ORG OSS Radeon driver, and can facilitate porting to other non-Linux platforms.
For frequent Phoronix readers, there's nothing new to this information besides the errata. When I first was reading this and learned of "Substantial OpenGL feature level upgrade to v4.3", I first got excited that I somehow missed some exciting announcement this week, but then quickly realized it's surely just a typo with only recently the driver having reached OpenGL 3.3 compliance. I estimate it will be at least another calendar year until having OpenGL 4.3 support. Even OpenGL 4.0~4.1 compliance for R600g and RadeonSI Gallium3D would likely be a stretch goal for 2014.
In terms of the non-errata changes, for those interested in more details on the other AMD open-source Linux driver changes talked about (that just aren't to their X.Org DDX but also to their Gallium3D R600g/RadeonSI drivers and Radeon DRM) include:
- A few weeks ago the open-source AMD video encode engine release that was first covered on Phoronix. It's like UVD but for accelerated video encoding, particularly H.264 low-latency video encodes. The support is exposed via the OpenMAX state tracker. This AMD VCE support is limited to only newer VCE 2.0 hardware and not the original VCE 1.0 GPUs; it's not known whether AMD will end up releasing open-source VCE 1.0 support. This initial AMD VCE support will appear in released form for not a few months until the debut of the Linux 3.15 kernel and Mesa 10.2.
- Improvements to the Unified Video Decoder support for accelerated video decoding using the Gallium3D VDPAU state tracker.
- GLAMOR X-Video support for those not using UVD+VDPAU and just wanting X-Video via OpenGL shaders. 2D acceleration via GLAMOR (the use of generic OpenGL shaders) is also now enabled by default for the Radeon HD 7000 series and newer with not implementing any dedicated EXA code-paths for the GCN hardware. It's been this way since the beginning of RadeonSI support and isn't anything particularly new.
- Tiling support is now enabled for GCN hardware. This is a performance-enhancing feature and I've already done RadeonSI tiling 3D benchmarks.
- The R600 and RadeonSI Gallium3D drivers in the forthcoming Mesa 10.1 release finally support OpenGL 3.3. There's also some new GL4 extensions implemented in core Mesa and for the R600/RadeonSI drivers, but it's still far from being able to support all of the GL 4.3+ extensions supported by the hardware itself. This will be a very long process and many months (likely 12+ months) before OpenGL 4.3+ support is reached.
- Radeon DPM is in great shape for the Linux 3.14 kernel and enabled by default for most GPUs. Dynamic Power Management is a big win for graphics performance while reducing heat output and lowering power consumption.
I write about the open and closed-source AMD Linux graphics drivers (and other Linux / open-source drivers in general) on a daily basis at Phoronix in covering all of the upstream development activity. There's also very regular benchmarks of all these drivers and hardware exclusively at Phoronix. For those curious about the current open-source driver state, read about Kaveri's open-source driver now being much faster, Radeon Gallium3D catching up to Catalyst for some tests, Radeon Gallium3D still failing for some hardware, the Radeon R9 290 still being bad with Catalyst on Linux, and AMD's Kabini doing good on Linux... These are just Phoronix articles written by myself in the past few days.
Most of these recent open-source Linux graphics driver improvements are terrific, but due to the structure of the open-source driver and the code being spread across multiple components with no easy and generic installation path (compared to the binary Catalyst driver on Windows and Linux being self-contained within a single binary file), it will be some months before most Linux users see these driver improvements. Ubuntu 14.04 LTS is carrying most of this new code but the Linux 3.14+ and other recent Mesa Git activity (VCE support, OpenMAX, etc), won't land until Ubuntu 14.10 in October. Only with rolling-release distributions will you really see these improvements in the near-term unless you resort to building the code yourself or relying upon unsupported, third-party repositories.
This AMD global communications email then went on to generically talk about improvements to be found in the Catalyst 14.2 driver... There was also a link to the soon-to-be-released Catalyst 14.2 Beta, but it ended up just being a Windows download link. When I then asked about a Linux build of Catalyst 14.2 driver and said thanks for the open-source driver change-log and that I already was aware of the changes, I was told, "sorry for the confusion, apparently there isn’t a 14.2beta for linux because – as you pointed out – all those changes have already been published."
Just confusion on the part of the AMD Global Communications team in not understanding the open and closed-source Radeon Linux graphics driver options and their completely separate code-bases? Or is Catalyst for Linux being secretly discontinued in favor of the open-source driver stack? Well, Phoronix readers can likely guess the correct answer. Going back to the RV770 days there's been communications like this, even talk of Tux appearing on graphics card boxes by their AIB partners to show their Linux support. We'll see though how AMD's Linux grasp grows as SteamOS and other Linux gaming initiatives take more hold of Linux on the desktop and in the living room.
UPDATE: I received another email this morning from another AMD Global Communications representative talking up their Linux support... Mentioning the same points (and errata) as above and also talking up Catalyst 14.2 Beta and the new THIEF game. The email ended with, "Overall, it's a big week for the Windows and OSS Linux Radeon drivers! We hope you'll join us in playing, testing and enjoying THIEF --- the latest AAA title optimized for AMD Radeon."
The Thief video game is powered by Unreal Engine 3 but there's been no indication of Linux support coming at all. Even if there were Linux support, the open-source Radeon driver would be extremely unlikely to be able to handle running Thief -- if it managed to even render the game correctly with its OpenGL implementation, the performance would likely be horrid with the open-source driver. Thief is also going to sport a Mantle renderer to complement OpenGL, but there's still no AMD Linux graphics driver (open or closed-source) that even supports Mantle. And again, their mentioned Linux driver changes to the open-source driver aren't exactly brand new and are completely unrelated to the Catalyst driver code-base. At the end of the day there doesn't appear to be anything new for Linux users either in terms of brand new, major open-source driver features nor any Catalyst 14.2 beta Linux driver.
UPDATE 2: Further contradicting the AMD Linux PR talk with saying no Catalyst 14.2 Beta for Linux would be released due to their open-source driver improvements, Catalyst 14.2 Beta for Linux is now available.