AMD Radeon VII Linux Benchmarks - Powerful Open-Source Graphics For Compute & Gaming
Today we can finally reveal the Linux performance details for the AMD Radeon VII graphics card... Especially if you are an open-source driver fan, it's quite a treat thanks to having fully open-source and fairly mature driver support, but can this $699 USD graphics card dance with the likes of the GeForce RTX 2080? Here is our initial look at the Radeon VII performance on Linux using fifteen different AMD Radeon and NVIDIA GeForce graphics cards for both OpenCL compute and Vulkan/OpenGL gaming on Ubuntu Linux.
The Radeon VII is AMD's recently announced 7nm gaming GPU. This is more than just a re-spin of Vega at 7nm but also now features 16GB of memory via four HBM2 stacks for offering an incredible 1TB/s of memory bandwidth and there are 3840 stream processors. The boost clock speed also tops out at 1750MHz compared to 1546MHz with the RX Vega 64. Thanks to transitioning from GloFo's 14LP to TSMC's 7nm FF process, the TDP on this more powerful Vega 20 graphics card is around 300 Watts, roughly in line with the RX Vega 64. Having a 300 Watt board power rating requires dual 8-pin PCI Express power connectors for sufficient power.
The Radeon VII doesn't have any ray-tracing cores like NVIDIA's RTX 2000 series line-up, but for Linux users that isn't really important considering there are no Linux games making use of the Vulkan ray-tracing extensions yet nor any support via Wine/Proton for emulated Windows games with RTX to run on Linux with this functionality. Likewise, no VirtualLink USB-C connections on the Radeon VII for next-generation VR head-mounted displays, but that likely won't impact much users either considering the virtual reality support on Linux lagging behind Windows in support and available games/software.
But what makes the Radeon VII special for Linux users is the open-source driver support... It's in very good support for launch-day and unprecedented for a high-end graphics card. Back during the original Radeon RX Vega launch, AMD had open-source support available but it wasn't yet fully mainlined and there it was obstructed and delayed by first needing to merge the AMDGPU DC display support in order to drive the display outputs. That all got squared away in the first few months and was good that the open-source code was at least available for those wanting to build their own kernel, still an improvement compared to past AMD GPU launches. Even with the recent Radeon RX 590 launch, there ended up being some last-minute vBIOS production changes that botched the launch until some new microcode files and kernel patches were pushed out weeks later. But in the case of Radeon VII? Everything should "just work" if you are on a sufficiently new software stack (or using the Radeon Software packaged driver).
From my testing, for those wanting to use the Radeon VII on the open-source Linux graphics stack should seek out at least the Linux 4.20 stable kernel series until the availability of Linux 5.0. I side with Linux 5.0 simply for always preferring the very bleeding edge graphics driver support particularly for new graphics cards, but the current 4.20 stable series should get by. The other benefit of moving to Linux 5.0 is the new FreeSync/VRR support at long last along with other AMDGPU DRM driver improvements. Linux 5.0 will be introduced as stable around the end of February if waiting until that point. Compared to pre-4.20 kernels, the Linux 4.20 kernel has performance improvements for Vulkan and other Vega improvements as for why I would recommend it over a 4.18~4.19 kernel that may still work but with the potential for issues or less than ideal performance.
From the Mesa side, I have tested the Radeon VII going back to at least Mesa 18.2 on Ubuntu 18.10, but of course recommend either the current Mesa 18.3 stable series or Mesa 19.0 near-final snapshots. Mesa 18.2 works -- and it's even what they are using for today's Radeon Software packaged driver with the open stack -- but with 18.3/19.0 you will find better performance for Vega in general, new RADV Vulkan extensions, the VRR/FreeSync user-space bits in Mesa 19.0, and other improvements over recent months.
Besides recommending Linux 4.20+ and Mesa 18.3~19.0, obviously make sure your Mesa AMDGPU is built against the AMDGPU back-end in LLVM 8.0 at least for optimal support and performance. Also make sure your AMDGPU firmware/microcode files are up-to-date. If you are on an older distribution, you can get the Vega 20 microcode files here and toss them into /lib/firmware/amdgpu before spinning your initramfs.
But long story short, if you are on the stable versions of all the latest Linux components, you should be in good shape. Rolling release distributions should be in good shape already while Ubuntu 19.04, Fedora 30, and other spring distribution releases should have good out-of-the-box support if you are not comfortable changing out these software bits. If you are an enthusiast or heavy gamer, I certainly endorse Linux 5.0 with Mesa 19.0 for the very newest features and performance.
If compute/OpenCL is of interest to you, the Radeon VII works with ROCm 2.0 and newer. There are initial OpenCL benchmarks later in this article. Now let's check out the performance.