AMD Radeon RX 6800 Series Linux Performance

Written by Michael Larabel in Graphics Cards on 18 November 2020 at 09:00 AM EST. Page 2 of 16. 100 Comments.

The Open-Source Route

Aside from very fresh rolling-release Linux distributions, most distributions today don't have the necessary upstream components already for providing Big Navi support. The main version requirements are Linux 5.9 or newer, Mesa 20.2 or newer, and LLVM 11.0 or newer for the AMDGPU LLVM back-end. While some distributions like Ubuntu 20.10 have Mesa 20.2, it misses out because of using the older Linux 5.8 kernel. Others meanwhile have not upgraded to LLVM 11.0 yet for their Mesa build or have other older package versions.

The other requirement is also having the Sienna Cichlid firmware binaries present on your system as needed by the AMDGPU DRM driver for hardware initialization. As of writing those Sienna binaries haven't landed into linux-firmware.git and thus no Linux distributions are shipping them out-of-the-box yet. Those Sienna firmware files will presumably be merged today but in the interim (and for my early access hardware testing) it required downloading the packaged driver to extract those 20.45 firmware files and deploy them to /lib/firmware/amdgpu/ and then rebuilding the kernel initrd.

So right now those wanting to have the fully open-source route without the packaged driver will have a few hoops to jump through but by the time of the next round of distribution releases like Ubuntu 21.04, Fedora 34, etc, all of those bits should be out-of-the-box for having good Big Navi support. The state today is at least better off than past hardware generations where either the AMDGPU support wasn't yet in a stable version of the Linux kernel or even still pending on mailing lists. Or there have been times where AMD had the support merged but either the experience was quite buggy or had issues in dealing with the retail boards due to last minute vBIOS changes and the like.

So today with the Radeon RX 6800 series the open-source support at launch is the best we have seen from AMD, but hopefully moving forward will be even better. In an ideal world they would have published the Sienna Cichlid patches earlier in the summer so there would have been time for seeing the support out-of-the-box in the likes of Ubuntu 20.10 to provide a pleasant initial experience.

RADV+ACO Support Is There

While the Mesa RADV driver is not officially endorsed by AMD and there is also the "ACO" compiler back-end that is developed by Valve and other stakeholders outside of AMD, the initial RX 6800 series support is there and actually in good shape with Mesa 20.3. The support is built off their existing Navi support, following the other open-source driver Sienna Cichlid work and making similar changes to RADV, etc. The RADV/ACO developers don't "officially" have any Big Navi hardware but it's surprisingly in robust shape for launch. This is also the first major GPU launch where the ACO back-end is working at launch day.

Linux 5.9+

All of the initial Radeon RX 6800 series enablement landed for Linux 5.9. Though when testing Linux 5.9.8 I did encounter some display problems. AMD reproduced and found it to be related to a combination of the Linux kernel and Mesa. Such that if using the stable Mesa 20.2 (and found on Ubuntu 20.10) paired with Linux 5.9 it works well but Mesa 20.3/21.0-devel was having issues. So for my testing I went with Linux 5.10 Git for the benchmarking. So either stick to stable versions or jump all the way forward to Linux 5.10 Git if using Mesa Git, but hopefully any compatibility quirk/fix will be back-ported to a later 5.9.x point release. Last I heard from AMD they were still narrowing down the precise issue.

Mesa 20.2+

Both Mesa 20.2 stable and 20.3-devel were tested for this benchmarking. Both versions have been working out well for the RX 6800 and RX 6800 XT granted with newer Mesa Git there is always more extensions, performance work, etc. Benchmarks in this article will show both to illustrate how they compare. Especially in regards to RADV/ACO it generally pays off being on the newer Mesa Git state for new hardware.

There is also a last-minute Mesa fix that is important if you are running on the Radeon RX 6800 (non-XT) model. For the non-XT model with less compute units, the Mesa fix is important otherwise only a subset of the compute units may be utilized. This merge request is pending with that fix though the packaged AMDGPU-Open code already has it merged. (Those fixes have now been merged this very morning.)

If AV1 accelerated video playback is important to you, it was just yesterday that initial AV1 support was merged but not yet supporting the common VA-API video acceleration interface. That initial AV1 acceleration on Big Navi is limited to the OpenMAX interface.

Now with those Linux driver details covered, let's see how these different open-source AMD Radeon RX 6800 series Linux driver options compare before putting the hardware up against NVIDIA on Linux.


Related Articles