How To Install The Latest AMDGPU-PRO Drivers On Linux
Installing the official AMDGPU-Pro drivers on Linux has always been a bit of a pain. Furthermore, the company behind these graphics cards (until recently) hasn’t paid much attention to Linux users. As a result Radeon users have had to deal with terrible Linux gaming support, substandard performance and etc. Recently, AMD abandoned those ways, and re-made the entire Linux driver system for newer Radeon cards. Here’s how to install the latest AMDGPU-Pro drivers on Linux.
The AMDGPU-PRO drivers only officially support Ubuntu, RHEL and CentOS. This means Debian, Arch, Gentoo, SUSE and etc are unofficial operating systems. If you’ve got a new AMD Radeon card, it is best to use one of the supported Linux distributions. The drivers will likely still work on these systems, but AMD will not be there to give you product support, or software updates.
User Groups
Installing a proprietary driver at the system level on Linux isn’t like Windows. Nothing is automatically set up by the system, and if steps aren’t followed exactly, the driver might not work right or install correctly. When getting the AMD GPU drivers working, it’s critical to add all users that will use the video group.
When using traditional, open source AMD video drivers, your user may already be added to this group. If your user isn’t added to this group, you’ll need to add it as well every user that will use the driver manually. Here’s how to do that.
First, open up a terminal, and gain root access with: sudo -s
Then, print out the entire list of groups on the system, and look through for “video”.
cut -d: -f1 /etc/group
Note: if you can’t find the video group, filter it out with cut -d: -f1 /etc/group | grep "video"
Add the user to the video group with:
usermod -a -G video username
Be sure to change “username” with your username. Run the usermod command with as many users as you need.
Installation
To start off, go to the AMD website. Unfourtunatly, Linux distributions can’t directly distribute AMD drivers because they are not open source. Instead, to get the latest driver you’ll need to browse the driver detector tool.
On the driver page, look at the right-hand column to the manual selection area. Under “step 1”, select “desktop graphics”, or whatever the exact type of graphics you have.
Under the “step 2” box, select the product family of your AMD GPU, and then move on to “step 3”.
With the “step 3” box, go through and select the exact GPU model.
The “step 4” section is where users select the operating system version of the driver. When it comes to Linux, AMDGPU-PRO has two distinct versions. If you are using an Ubuntu/Debian based operating system (Mint, Elementary and etc) you should select “Ubuntu x86_64”. Select “RHEL x86_64” if you use a Fedora/Redhat (or SUSE and etc) based system. Alternatively, select the CentOS option.
Note: Arch Linux users should know that AMD doesn’t officially support their operating system. To get this driver working, install the Arch patched driver via the AUR.
With the driver downloaded, navigate a terminal to the TMP directory, with:
cd /tmp
Using the root terminal, move the downloaded driver from ~/Downloads
to the /tmp
directory to get it ready for the installation process.
mv /home/username/Downloads/amdgpu-pro-*.tar.xz /tmp
Inside the TMP folder, extract the drivers.
tar -Jxvf amdgpu-pro-*.tar.xz
With the driver out of the archive file, enter the directory with the CD command:
cd amdgpu-pro*
Run the installation tool in the terminal window with:
./amdgpu-pro-install
Uninstalling The Driver
Want to get rid of the AMDGPU-PRO driver? There’s some things you should know. The driver tool runs in the temporary folder on the Linux filesystem. Keep in mind that each time you reboot your Linux PC, the /tmp
directory is empty.
To get rid of the AMD drivers entirely from the Linux system, first open a terminal window. Then, gain root with: sudo -s
Inside of the root shell, run the driver uninstall tool with:
amdgpu-pro-uninstall
This tool will automatically purge all configuration files, packages and misc library files that the AMDGPU-PRO driver requires. When the uninstall tool completes, reboot the system.
Conclusion
AMD has always had difficult and overly complicated drivers for Linux. Back in the days of Catalyst Control Center, users had to go through dozens of steps, downgrade versions of Xorg on newer systems, and even use custom repositories due to the slow updates. In 2017, things have mostly changed, and drivers are much more readily available to install (and not just on Ubuntu).
If you’ve been sticking it out with the open source AMD drivers, and you’ve got an AMDGPU-PRO supported card, do follow these instructions to get the latest proprietary driver. The performance is much better on Linux and you won’t regret it.
What I want to know is how to make this work with latest mainline kernel.
I need the absolute latest kernels for Thunderbolt support.
Yet this driver is not compatible.
On Thunderbolt 3, with my Fiji XT (AMD Radeon R9 Nano / Fury X), I get some Atom BIOS loop with amdgpu.ko driver.
It works fine with Tahiti XT (AMD Radeon R9 280X / HD 7970) which might still load the radeon.ko driver.
But both crash the kernel hard when surprise removed (pull Thunderbolt cable), which is something AMD needs to fix. Windows can handle surprise removal. Hence they should do the same thing on Linux.
Once the GPU overheated and the GPU cut off (still investigating how this is possible) – equivalent of surprise removal and completely crashed the kernel.
Figure anything out Bit Art? I am running into this now and can’t get anything done. Now even my apt isnt running right because it always throws errors non stop.
sudo dpkg –add-architecture i386
AMD insists on installing ia32 stuff…
I could not install amdgpu-pro-17.40-492261 by the following reasons:
The following packages have unmet dependencies:
amdgpu-pro-dkms : Depends: dkms (>= 1.95) but it is not installable
amdgpu-pro-lib32 : Depends: libdrm-amdgpu-pro-amdgpu1:i386 (= 1:2.4.82-492261)
Depends: libgbm1-amdgpu-pro:i386 (= 17.40-492261)
Depends: libgl1-amdgpu-pro-glx:i386 (= 17.40-492261)
Depends: libgl1-amdgpu-pro-dri:i386 (= 17.40-492261)
Depends: libegl1-amdgpu-pro:i386 (= 17.40-492261)
Depends: libgles2-amdgpu-pro:i386 (= 17.40-492261)
Depends: vulkan-amdgpu-pro:i386 (= 17.40-492261)
Depends: libvdpau-amdgpu-pro:i386 (= 1:17.0.1-492261)
Depends: libopencl1-amdgpu-pro:i386 (= 17.40-492261)
Depends: opencl-amdgpu-pro-icd:i386 (= 17.40-492261)
E: Unable to correct problems, you have held broken packages.
My OS is:
=======
Linux bwminer 4.10.0-38-generic #42~16.04.1-Ubuntu SMP Tue Oct 10 16:32:20 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
sudo apt-get install dkms