How to install official AMDGPU linux driver with kernel 4.19.x on Stretch and Buster

This page recommends potentially unsafe practices

This page documents non-recommended practices such as installing packages meant for other GNU/Linux distributions and manually patching files provided by packages.

My system is made of an AMD Athlon 200GE with Radeon Vega Graphics CPU/APU on a B450M motherboard (Asus PRIME B450M-A). This APU uses the amdgpu driver provided by the linux kernel.

Although I upgraded to linux 4.19 on stretch, the system freezes during boot-up and until now the only way to make it boot was either to use kernel >= 4.20 or use the "nomodeset" kernel parameter.

However it is possible to make that system boot with the AMDGPU driver provided by AMD on a linux kernel 4.19 (which is currently backported on Stretch and also the linux kernel version of Buster).

I guess that could help also those having a AMD Ryzen 2200G (or any AMD Raven Ridge APU) if they face a similar issue, or anyone who may want to have a more up-to-date amdgpu driver.

It tested this with the following versions of amdgpu : v19.10, v19.20 & v19.30.
- For version 19.10 and 19.20 it was necessary to apply patches to allow compilation on kernel 4.19,
- but with 19.30 patching is not needed any more.

Steps in brief (detailed procedure below)

  1. Get the linux driver from amd's website
  2. Install amdgpu-dkms & amdgpu-core packages

  3. Skip this step if you use version 19.30 (it now builds without patching). But if you still want to use 19.10 or 19.20 you will have to apply a patch to the amdgpu-dkms source so that it does compile with linux 4.19 on debian.

  4. Reconfigure amdgpu-dkms
  5. Reboot & it's done

Notes:

What you need/Prerequistes

Procedure

This procedure is detailed for version 19.30, please adapt it for version 19.10 or 19.20 if you prefer to use that one.

  1. Extract the archive downloaded from AMD

    • ~$ tar -xvf amdgpu-pro-19.30-855429-ubuntu-18.04.tar.xz

  2. Install only these 2 packages : amdgpu-dkms & amdgpu-core. This will fail at the end because it cannot compile on 4.19 without applying my patch.

    • ~# dpkg -i amdgpu-core_19.30-855429_all.deb amdgpu-dkms_19.30-855429_all.deb

  3. Skip this step if you use version 19.30. Do this ONLY if you want to use 19.10 or 19.20 : Apply the patch to the amdgpu source code (please adapt yourself for 19.20)

    • ~# cd /usr/src/amdgpu-19.10-785425
      ~# patch -p1 < 01-amdgpu_19.10_on_linux_4.19-v4.patch

  4. Skip this step if you use version 19.30. Do this ONLY if you want to use 19.10 or 19.20 : Reconfigure the amdgpu-dkms package so that it does compile against 4.19

    • ~# dpkg-reconfigure --force amdgpu-dkms

  5. Normally, building & installation should have succeeded

  6. Reboot
  7. Check which version is loaded during boot (for me with amdgpu 19.30 it says "version: 5.0.73")

    • ~# dmesg | grep "amdgpu version"

Additional notes


CategoryProposedDeletion