Open-Source AMD Radeon Linux Graphics In Great Shape For Workstations, Handily Beating Proprietary Driver
With SPECViewPerf 2020 finally released for Linux I was curious to see how AMD's open-source "RadeonSI" Gallium3D driver within Mesa would compare to the performance offered by AMD's proprietary OpenGL Linux driver. After all, that longstanding proprietary driver, which is distributed as part of their Radeon Software for Linux driver package, has code in common with their Windows OpenGL driver and has previously been talked up as the preferred choice for workstation customers. Well, the latest open-source driver stack was outright kicking mud at that legacy binary blob for SPECViewPerf 2020 as well as the ParaView workstation visualization software.
In the early days of AMD's open-source Linux graphics driver initiative, as the code continued maturing it was repeatedly brought up how it was working well for Linux gaming though the proprietary OpenGL driver would continue for workstation customers with the driver being better optimized for their various workloads. Even when the RadeonSI OpenGL driver definitively became faster than the proprietary OpenGL driver, workstation graphics continued to be promoted as the use-case for that packaged OpenGL driver with its shared code-base to Windows. Now though after recent optimizations over the past number of months, it seems the proprietary OpenGL driver isn't even strong on that front.
Over the past two years we have seen significant strides made for RadeonSI with workstation graphics performance and in particular using SPECViewPerf as the reference benchmark. Back in late 2020 was a 2~5x improvement for SPECViewPerf, OpenGL threading improvements, overhead reductions, and other optimizations especially around driver overhead. While more Linux gaming is focused on Vulkan these days, AMD has clearly been very focused the past two years still on optimizing more RadeonSI performance for workstation / SPECViewPerf type workloads given OpenGL still being very common on that front.
Given the recent Linux release of SPECViewPerf 2020 (v3.0), I was eager to see how the RadeonSI vs. proprietary OpenGL performance compared on AMD Radeon graphics hardware with having this updated industry benchmark. This article provides the initial look at the AMD Radeon OpenGL driver comparison for SPECViewPerf 2020 plus also tossing in ParaView for fresh data there in that data visualization benchmark.
Atop Ubuntu 20.04.4 LTS the driver configurations benchmarked for this article included:
Ubuntu 20.04.4 Stock - The out-of-the-box graphics stack shipped by Ubuntu 20.04.4 LTS with its HWE stack providing Linux 5.13 and Mesa 21.2.6, which is back-ported from Ubuntu 21.10. This is notably better than the original non-HWE stack but representative of the state of the open-source Radeon Linux graphics driver from about six months ago.
AMDGPU-PRO 21.50 - Using the current Radeon Software for Linux 21.50 packaged driver while opting to install the "PRO" legacy/proprietary OpenGL driver for looking at that long-standing proprietary AMD OpenGL driver.
Linux 5.13 + Mesa 21.1-dev - Sticking to Ubuntu 20.04.4's Linux 5.13 kernel but enabling the Oibaf PPA for a snapshot of Mesa 22.1-dev as the latest RadeonSI OpenGL driver code as of a few days ago for a bleeding-edge look.
Linux 5.17 + Mesa 22.1-dev - On the Ubuntu 20.04.4 system running Linux 5.17 Git with the Mesa 22.1-dev Oibaf PPA for having both the very latest AMDGPU Linux kernel driver and RadeonSI OpenGL code available for the very freshest open-source AMD graphics driver stack.
All of the tests were carried out on the same system featuring a Radeon RX 6800 graphics card. Unfortunately AMD hasn't sampled me an Radeon Pro graphics card in a number of years (pre-GCN) and thus testing with the consumer RX 6800 for the hardware I available.