Radeon RX Vega On Linux: High-Performance GPUs & Open-Source No Longer An Oxymoron

Written by Michael Larabel in Graphics Cards on 14 August 2017 at 09:00 AM EDT. Page 1 of 14. 119 Comments.

The Radeon RX Vega is shipping today and for Linux gamers this is a serious AMD offering for being able to handle modern Linux games. But it goes beyond that in the RX Vega launch easily being the most successful launch ever for a GPU backed by open-source drivers on launch day. I've been spending the past several days testing the Radeon RX Vega 56 and RX Vega 64. The RX Vega 56 is a very competent graphics card for $399 USD while those wanting to reach peak performance for Linux gaming on a open-source system can find the RX Vega 64 for $499 USD. The open-source support for Vega isn't without some initial setup hurdles and some growing pains along the way, but it's looking very good for launch-day and the best DRM+Mesa support we have ever seen at-launch for the premiere of a new discrete GPU architecture.

Preface: Thanks to AMD for demonstrating Linux interest with this launch and supplying the Radeon RX Vega 56 and Vega 64 review samples for benchmarking. As usual at Phoronix, this review is mainly targeting the Linux use-cases and what Linux users/gamers need to know about the RX Vega rather than going on at length about all the architectural details of Vega and other general information that you can read on the dozens of other Windows review websites this morning. In fact, going to jump right into the Linux driver details of interest to you all and make things clear right away about the Linux support and performance where our content provides its value. There will also be many more articles in the days ahead including a lot of OpenCL testing, Radeon RX Vega SteamVR Linux VR gaming, more Mesa Git tests, and other tests as a result of premium reader feedback.

The Radeon RX Vega 64 (air-cooled) costs $499 and boasts 4096 shader cores, 1247MHz clock speed with 1546MHz boost clock speed, 8GB of HBM2 memory, 483GB/s of memory bandwidth, and 10.2~12.6 of single-precision TFLOPS compute power. The Radeon RX Vega 64 has a TDP of 295 Watts. At least under Windows, the Radeon RX Vega 64 is aimed at competing with the GeForce GTX 1080 series.

The Radeon RX Vega 56 comes with a $399 price-tag and at least under Windows should exceed the GeForce GTX 1070. The Radeon RX Vega 56 is cut down to 3584 cores, comes clocked in at 1156MHz with a 1471MHz boost clock speed, and still has 8GB of HBM2 memory but at 410GB/s memory bandwidth. The Radeon RX Vega 56 should yield 8.2~10.5 of single-precision TFLOPS compute power. The TDP on this slightly cut down card is 210 Watts while both RX Vega models require two 8-pin PCI Express power connectors.

Great Open-Source GPU Driver Support On Launch Day

If you are behind on your Phoronix reading, this weekend I summarized the Linux driver requirements for Vega and how to setup both the AMDGPU-PRO hybrid driver as well as the "pure open-source" AMDGPU+RadeonSI driver stack. Via both the hybrid driver and open-source driver models there is launch-day support for the Radeon RX Vega on Linux with OpenGL 4.5, Vulkan 1.0, and OpenCL 1.2. While the code is available, it's not yet all mainlined so it's important to check that article to familiarize yourself with the requirements for what work is needed to get the driver support in place on Linux.

About the only way the Radeon RX Vega launch could be smoother for Linux users were if the AMDGPU DC display stack had been mainlined already, but that is not the case for Vega but will hopefully be all squared away for making an even better Radeon Navi launch next year. But with any new GPU launch, you generally want to be running the latest Linux + Mesa Git code anyways for the latest bug fixes, feature enhancements, and performance optimizations. Unfortunately a shortcoming of Linux in general is that driver installation isn't as straight-forward as under Windows.

Highlights of today's Vega Linux driver support include:

- RadeonSI OpenGL is outperforming the closed-source AMDGPU-PRO OpenGL driver for Vega 64 and Vega 56. Yes, you read that right; the open-source driver stack on launch-day is faster than the hybrid driver for OpenGL! This is something that has never been seen before in the history of AMD's open-source driver stack for new hardware on launch day! And is not something ever seen on the NVIDIA side either where the open-source, unofficial Nouveau driver lags behind the official NVIDIA Linux (proprietary) driver. In fact, it's only the GeForce Kepler cards that have decent open-source driver support right now on the NVIDIA side via Nouveau (of course, their proprietary driver is high performance and fully supports all modern GPUs). Only in recent weeks has the open-source driver even begun outperforming AMDGPU-PRO by large margins for Polaris/Fiji hardware and in some cases even faster than the Radeon Software Windows OpenGL driver. AMDGPU-PRO remains catered towards workstation customers like those applications relying upon OpenGL compatibility contexts, etc.

- Another use-case for the AMDGPU-PRO driver is if wanting to use the official Vulkan driver. AMD has yet to open-source their official Vulkan driver while RADV remains the alternative, community-backed, open-source Radeon Vulkan driver. RADV does have basic support for Vega, but notably it's missing support right now for geometry and tessellation shaders. When trying RADV from Mesa Git in the few Vulkan Linux games, I didn't get much further than the loading screen. So today, AMDGPU-PRO's Vulkan driver is best for Vega. Stay tuned to Phoronix though to see how the Vega Vulkan support matures.

- Once the initial enablement is in good shape for Vega on RADV, it's possible we could be seeing this open-source Vulkan driver outperform the official driver. Coming with Linux 4.14 DRM code will be 2MB page support in AMDGPU. The RADV Vulkan driver will automatically start being able to use it while AMDGPU-PRO users will be needing to wait for an official update for that.

- The results you see for launch-day are basically worst-case numbers, in that they are very promising for where they are starting from but -WILL- be getting better. AMD developers do acknowledge more tuning will be happening for squeezing greater performance of Radeon RX Vega hardware under Linux. One of the AMD Linux staff members had explained while they did start on the open-source driver work for Vega much earlier than with past generations and spent more time on this Vega hardware enablement, the architecture changes are much larger than for Polaris on the open-source driver stack. So they are ready for launch-day with a full-functioning open-source driver, but performance tuning is to come in the days/weeks/months ahead.

- The OpenCL driver support is a bit rough. The ROCm OpenCL driver for Vega should be working, but in my early testing, my OpenCL test applications were crashing. I will be working on more Vega OpenCL tests in the days ahead.

- Of upcoming optimizations, the 2MB page support should really benefit Vega on Linux. Linux has been using 4KB pages everywhere while AMD Windows uses larger vRAM pages where possible. With the larger page support is of similar concept to "huge pages" on the CPU. It's possible to see 10~15% performance improvements in select compute and Vulkan workloads with the 2MB page support being mainlined in AMDGPU for Linux 4.14. In select cases, the gains have been measuring in at larger.


Related Articles