[GUIDE] Installing AMDGPU on Arch Linux

When you're installing the AMDGPU driver, you've got the choice between the normal one and AMGPU Pro. They both use the same kernel driver, but Pro uses proprietary userspace components, while the normal driver is fully open source.

AMDGPU (Open Source)
If you've got a GCN 1.2 or a Polaris card, installing this driver is very easy. In order to get support for polaris cards, you need to be running linux 4.7 or higher, while GCN 1.2 cards require kernel 4.2 (you can check by running 'uname -r'). If your system fulfills these requirements you simply need to intstall the 'xf86-video-amdgpu' package

If you're running GCN 1.2 or 1.0 the installation is slightly more complicated. GCN 1.1 requires kernel 4.5 or higher, while initial GCN 1.0 was added in kernel 4.9. This support is not enabled by default, however. You need to compile a custom kernel (a guide for that is coming later) and enable "DRM_AMDGPU_CIK" for GCN 1.1 or "DRM_AMDGPU_SI" GCN 1.0. If you are unsure whether these are already enabled in your kernel or not, run the command 'zcat /proc/config.gz | grep AMDGPU'. After that, you just need to install xf86-video-amdgpu.

AMDGPU Pro (Semi-Proprietary)
The pro driver uses the same kernel components as the open source driver, therefore it requires the same kernel preparation.
Now you can either install the aur package 'amdgpu-pro-installer' using your aur manager of choice, manually. I have found the manual method to work better. For this you need fetch the aur package by either downloading and extracting the tarball from https://aur.archlinux.org/packages/amdgpu-pro/ or clone the git repository from the same page. Then you need to go the directory of the unpacked tarball or the git repo and run the command 'makepkg -sri'. This command installs the buildtime dependenciesy builds the packages, removes the buildtime dependencies, and installs the package afterwards.

After installing the drivers, you simply need to reboot and you're done.

4 Likes

If you don't know how to enable the components to enable amdgpu-support for older GPUs, this will be the guide for you. There are two ways to get the support. The first one is arguably simpler but if you want a really stable system, the second way is probably a better idea. The first way is to install the linux-git package from the AUR, which already has the proper components for amdgpu support enabled. The second way is to modify the config of the stock arch kernel. Note that, at the time of creating this guide, you will need to use linux-git for GCN 1.0 (280, HD 7000 series) as the stock arch kernel is still on 4.8 (and it will be until 4.9 is fully released)

  1. Installing Linux-Git
    I'd recommend making a directory for AUR-packages if you haven't done that already (my is at ~/aur-builds). Navigate to your aur directory and run git clone https://aur.archlinux.org/linux-git.git. The go to the newly created linux-git and run makepkg -sri. Now it's going to take a while to compile and you will need to type in your password and confirm the installation but after that the package will be installed. Finally you will have to create a boot entry for your new kernel. I can't say how to do this, as it's different for every bootloader, but it pretty much always involves editing/creating a file in /boot. The boot entry should be similar to the standard linux entry that's already present

  2. Modifying the stock Arch Kernel
    This one is very similar to Linux-Git. First you should create an abs directory (mine is ~/abs) and go to that folder. Next you need to fetch the linux package, by running ABSROOT=. abs core/linux. After that go to core/linux and edit config if you're on 32 bit and config.x86_64 if you're on 64 bit. In that file, look for CONFIG_DRM_AMDGPU=m and put CONFIG_DRM_AMDGPU_SI=y and/or CONFIG_DRM_AMDGPU_CIK=y in the line(s) under it. Next you need to edit the PKGBUILD and change the packagebase to something you'll remember (like for example linux-custom as it says in the comment). Then save and exit. You may need to update the checksums by running updpkgsums. Now you can compile and install the kernel by running makepkg -sri and create a boot entry (same procedure as for Linux-Git)