AMD Radeon Software For Linux 21.10 Is Released
A new proprietary AMD GPU driver package for Linux is out and it is not a very exciting release. The only highlights mentioned in the release notes are "full support for Ubuntu 20.04.2" and "preview of the Vulkan Ray Tracing Extensions supported on compatible AMD RDNA 2 based graphics products". The actual driver package appears to be a mix of Mesa drivers, the OpenCL library from Radeon Open Compute, an older "legacy" OpenCL library, a AMD-specific LLVM fork, the free AMDVLK Vulkan driver and "Pro" Vulkan driver, and some tools.
A AMD graphics card.
"Radeon™ Software for Linux®" is a proprietary driver package for Linux-based operating systems released by AMD. It contains "AMD Proprietary OpenGL, OpenCL™, and Vulkan™ drivers" according to the Radeon™ Software for Linux® 21.10 Release Notes.
The announcement page states that "clicking the Download button, you are confirming that you have read and agreed to be bound by the terms and conditions" in their horrific and morally unacceptable End User License Agreement. It is therefore best to download the package without clicking their silly download button - thus ignoring their unacceptable EULA. The following OS-specific tarballs are available:
amdgpu-pro-21.10-1247438-ubuntu-20.04.tar.xz- Ubuntu 20.04.2
amdgpu-pro-21.10-1244864-ubuntu-18.04.tar.xz- Ubuntu 18.04.5 HWE
amdgpu-pro-21.10-1247438-rhel-7.9.tar.xz- RHEL/CentOS 7.9
amdgpu-pro-21.10-1247438-rhel-8.3.tar.xz- RHEL/CentOS 8.3
amdgpu-pro-21.10-1244864-sle-15.2.tar.xz- SLED/SLES 15 SP 2
AMD really does not want you to download these files without clicking on their stupid download button, thus agreeing to their completely unacceptable End User License Agreement which goes on about AMD's imaginary property rights (IP) before it stats that:
"The Software, including all Intellectual Property Rights therein, is and remains the sole and exclusive property of AMD or its licensors, and You shall have no right, title or interest therein except as expressly set forth in this Agreement. You agree to prevent any unauthorized copying of the Software. All title in and to the Software, all copies thereof (in whole or in part, and in any form), and all rights and Intellectual Property Rights therein shall remain vested in AMD. Except as expressly provided in Section 2 herein, AMD does not grant any express or implied right to You under AMD patents, copyrights, trademarks, or trade secret information."
The document is also full of silly restrictions. You can, for example, supposedly not:
"decompile, reverse engineer, disassemble or otherwise reduce the Software to a human-perceivable form (except as allowed by applicable law);"
The simple trick to downloading the "Radeon™ Software for Linux®" without agreeing to any EULA is to use good old
wget. AMD does not like
wget, so you can't tell their website you are using it. And they check if it looks like you clicked a link on their website by checking the HTTP referrer field. Thus, the driver packages, shown above, needs to be downloaded this way:
wget -U "Mozilla/5.0 (iPhone; CPU iPhone OS 12_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.1 Mobile/15E148 Safari/604.1" \ "https://drivers.amd.com/drivers/linux/amdgpu-pro-21.10-1244864-ubuntu-18.04.tar.xz" \ --referer "https://www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux-21-10"
tar.xz with the appropriate file for your operating system.
The driver file contains the MIT-licensed Radeon Open Compute OpenCL compute library. This is now the default OpenCL library for the AMDGPU-Pro package on Linux. That library is available as free software, the AMDGPU-Pro driver is not. Thus, you should visit rocmdocs.amd.com/en/latest/index.html and learn how to install ROCm directly, without having to deal with the proprietary AMDGPU-Pro package, if you just want OpenCL support.
#!/bin/bash script included in the AMDGPU-Pro package lists a
--opencl=legacy option for installing "legacy OpenCL support". That would be the older OpenCL library that used to be the only one, and the default, in prior AMDGPU-Pro packages. The older OpenCL library is in a package named
opencl-orca-amdgpu-pro-icd. It may be a better option if you are mostly using desktop OpenCL software like Davinci Resolve, ROCm does not play nicely with most desktop applications. AMD is primarily developing it with desktop users in mind.
The AMDGPU-Pro 21.10 package contains a ton of Mesa packages from Mesa 20.3.4. These are free software packages that are not developed by AMD. There is also a LLVM fork called llvm-amdgpu-pro in there and two Vulkan packages called
vulkan-amdgpu-pro. We should probably test those, but we are not about to agree to any AMD EULA so we are not sure if we should install them or not. We strongly suspect, but have not verified, that the
vulkan-amdgpu is the same library AMD releases separately as AMDVLK on a regular basis. The license information in the package says it is MIT licensed, so it is extremely likely. The Mesa RADV Vulkan library GNU/Linux distributions ship with is superior to AMDVLK in terms of performance, so it is probably not worth installing AMDGPU-Pro just to get worse Vulkan performance. The
vulkan-amdgpu-pro library looks distinctively different. It is named
amdvlk64.so, just like AMDVLK and the library in the AMDGPU-Pro
vulkan-amdgpu package, but it's not the same. The AMDGPU-Pro Vulkan package is tagged with a non-free
AMD GPU PRO EULA license.
vulkan-amdgpu-pro lists apiVersion 1.2.169 and
vulkan-amdgpu lists apiVersion 1.2.168. Both have "conformanceVersion" 184.108.40.206. The latest AMDVLK 2021.Q2.1 release lists apiVersion 1.2.173 and conformanceVersion = 220.127.116.11.
vulkan-amdgpu from this brand new AMDGPU-Pro release is, in other words, older than the free software licensed AMDVLK version (if they are, indeed the same code-base as we suspect).
There's also a proprietary
libgl-amdgpu-pro OpenGL library in the "Radeon Software" package. The Mesa RadeonSI OpenGL driver Linux distributions ship with has been really good and solid for years, so it does not seem all that exciting. We could run benchmarks and see if it has any performance advantages, but the license tag in it says
AMD GPU PRO EULA and we would rather not agree to it.
You can read the two bullet-point "release notes" and download the AMDGPU Pro at www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux-21-10 if you really want to agree to their EULA and you really want to download from there. The only "release notes" listed are "Introducing full support for Ubuntu 20.04.2" and "Developer preview of the Vulkan Ray Tracing Extensions supported on compatible AMD RDNA™ 2 based graphics products, to enable developing and testing applications that target these extensions", and you can acquire the driver package using
wget without clicking on their download page. You may be better off if you don't go to AMD's website if you want the "Radeon™ Software for Linux®".
There does not seem to be any compelling reason to get the "Radeon Software", the Radeon Open Compute OpenCL library is available separately and so is the AMDVLK (non-Pro) library. There may be some advantage to having the proprietary "PRO" version of the AMDVLK library, so the proprietary driver package may be worth it if your really want that.
We have not actually installed any of the "Radeon™™™™ Software for Linux®®®®®®" software since that would probably require us to agree to the EULA. We're not about to do that so we just looked at the various files in a hex editor.