AMDGPU Help

Sorry in advance if this post is long, I’m trying to give as much information as possible. I’m having issues getting the AMD GPU drivers working on any kernel above 5.10.0-8, which appears to no longer be available, and am looking for help getting everything running properly. I have messed with the driver install on both kernels 5.14.0-9 and 5.16.0-12 with limited success.

In kernel 5.14.0-9 (from a fresh install using the 4.11.3 ISO), I can use nomodeset at boot to get to the desktop, add the i386 architecture, update the sources (but not upgrade yet), and follow the AtiHowTo guide on the Debian wiki install the following:

sudo apt install firmware-amd-graphics libgl1-mesa-dri libglx-mesa0 mesa-vulkan-drivers xserver-xorg-video-all
sudo apt install libglx-mesa0:i386 mesa-vulkan-drivers:i386 libgl1-mesa-dri:i386

With those installed, I ran the amdgpu v21.50 for Ubuntu 20.04.4 installer from AMD’s website, modified /bin/amdgpu-install to add “parrot” as a valid OS (which I did not have to do in kernel 5.10.0-8), and ran:

sudo amdgpu-install --usecase=graphics --vulkan=amdvlk --opencl=legacy,rocr

Everything completes without errors and on reboot I am now able to get to the desktop without nomodeset, making it appear that everything is working properly. I installed Portal to test, but I am getting 5-10fps tops in the main menu with frequent freezes. The outputs of the lspci, inxi -Gx, and xrandr commands are listed below. Returning to the AtiHowTo guide, I created the “20-amdgpu.conf” file exactly as shown in that guide and restarted. The computer would boot to Grub then show a blank screen with a blinking white line. Rebooting to recovery mode, I removed the TearFree line and rebooted once more, but rather than the graphical desktop I was sent to the terminal. all of the previously mentioned commands show the same output. Changing “Device” to “Device-1” in “20-amdgpu.conf” does not have any effect, nor does changing “AMD Graphics” to just “AMD”. Deleting this file completely allows me to get back to the graphical desktop. Upgrading to 5.16.0-12 from here does not make any difference in terms of function, but now shows the following error when booting (both into recovery and very briefly on normal boot):

[drm:amdgpu_pci_probe [amdgpu]] ERROR amdgpu requires firmware installed
amdgpu: See `https://wiki.debian.org/Firmware` for information about missing firmware

Attempting to reinstall “firmware-amd-graphics” simply tells me the firmware is already installed and up to date. Uninstalling and reinstalling the firmware then rebooting has no effect.

If from a fresh install I upgrade to kernel 5.16.0-12 first instead of adding the i386 architecture and installing the drivers in 5.14.0-9 then upgrading, I am able to get up to the point of running sudo amdgpu-install --usecase=graphics --vulkan=amdvlk --opencl=legacy,rocr but get errors:

Error! Bad return status for module build on kernel: 5.16.0-12parrot1-amd64 (amd64)
Consult /var/lib/dkms/amdgpu/5.13.11.21.50-1373477/build/make.log for more information.
dpkg: error processing package amdgpu-dkms (--configure):
installed amdgpu-dkms package post-installation script subprocess returned error exit status 10
Errors were encountered while processing:
 amdgpu-dkms
E: Sub-Process /usr/bin/dpkg returned an error code (1)

I have posted the contents of make.log below. If I instead use amdgpu-install --usecase=graphics --vulkan=amdvlk --opencl=rocr --no-dkms the install succeeds, but now I am back to where I was before when I installed everything on kernel 5.14.0-9 then upgraded with the “20-amdgpu.conf” file and Portal behaving exactly the same.

Is there a step I missed or something that is not documented that I need to do to get things working correctly? Any help from someone who has managed to get this working on either kernel version would be greatly appreciated. I tried to give as much information as I thought would be useful, but more information can be provided if needed. I am certainly no expert with this, so you may need to tell me where/how to get any supplemental information.

Thank you


  • Parrot version in use 5.0 installed using the 4.11.3 ISO

  • Kernel version 5.14.0-9, 5.16.0-12

  • Logs/Terminal output

lspci -nn | grep VGA
0b:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:743f] (rev c1)
inxi -Gx
Graphics:
 Device-1: AMD vendor: ASRock driver: N/A bus-ID: 0b:00.0
 Display: x11 server: 'X.Org' 1.20.11 driver: loaded: ati,vesa
 unloaded: fbdev,modesetting,radeon resolution: 1920X1080~77Hz
 OpenGL: renderer: llvmpipe (LLVM 13.0.1 256 bits) v: 4.5 Mesa 22.0.0-devel
 direct render: Yes
xrandr --verbose | grep TearFree
xrandr: Failed to get size of gamma for output default
dmesg | grep -E 'drm|radeon' | grep -iE 'firmware|microcode'
[drm:amdgpu_pci_probe [amdgpu]] ERROR amdgpu requires firmware installed

/var/lib/dkms/amdgpu/5.13.11.21.50-1373477/build/make.log

> DKMS make.log for amdgpu-5.13.11.21.50-1373477 for kernel 5.16.0-12parrot1-amd64 (amd64)
> > Thu 24 Mar 2022 07:09:23 PM EDT
> > make: Entering directory '/usr/src/linux-headers-5.16.0-12parrot1-amd64'
> > /bin/sh: 1: /usr/source/linux-headers-5.16.0-12parrot1-common/scripts/pahole-flags.sh: not found
> > /bin/sh: 1: /usr/source/linux-headers-5.16.0-12parrot1-common/scripts/pahole-flags.sh: not found
> > warning: the compiler differs from the one used to build the kernel
> >  The kernel was built by: gcc-11 (Parrot 11.2.0-16parrot1 11.2.0
> >  You are using: gcc-11 (Parrot 11.2.0-18really16parrot1) 11.2.0
> > /bin/sh: 1: /usr/source/linux-headers-5.16.0-12parrot1-common/scripts/pahole-flags.sh: not found
> > /var/lib/dkms/amdgpu/5.13.11.21.50-1373477/build/Makefile:16: *** dma_resv->seq is missing., exit.... Stop.
> > make: *** [/usr/src/linux-headers-5.16.0-12parrot1-common/Makefile:1870: /var/lib/dkms/amdgpu/5.13.21.21.50-1373477/build] Error 2
> > make: Leaving directory '/usr/src/linux-headers-5.16.0-12parrot1-amd64'

Has anyone gotten this working? I am completely out of ideas about how to proceed and I would really like to actually use my computer instead of it just sitting around collecting dust

 Device-1: AMD vendor: ASRock driver: N/A bus-ID: 0b:00.0

this tells us you have a licenced version of amd graphics put out by Asrock , it also tells us that the driver is N/A  [not available]
I cannot see anywhere which version on amd/ati Radion you have installed, you should be able to find this in the handbook/specifications that came with the computer/motherboard, once that is known then we can possibly advise you which drivers you require

Sorry, I probably should have included the hardware in the original post.
Motherboard: ASRock B550M-C (BIOS v1.30)
CPU: AMD 5600X
GPU: ASRock/AMD RX 6500 XT

Everything was working perfectly on kernel 5.10.0-8, but I had to wipe my hard drive and that kernel/headers are no longer available it seems.

Here is some more information that may be useful. I created a partition with a blank installation of Debian (the current version available on the website with the Mate desktop) and installed the amdgpu driver using the following steps:

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install firmware-amd-graphics libgl1-mesa-dri libglx-mesa0 mesa-vulkan-drivers xserver-xorg-video-all
sudo apt install libglx-mesa0:i386 mesa-vulkan-drivers:i386 libgl1-mesa-dri:i386
Ran the amdgpu v21.50 for Ubuntu 20.04.4 installer from AMD’s website (did not edit /bin/amdgpu-install as Debian is already a valid OS in that file)
sudo apt update
sudo amdgpu-install --usecase=graphics --vulkan=amdvlk --opencl=legacy,rocr
Reboot

I did not need to create the “20-amdgpu.conf” file listed in the Debian wiki AtiHowTo guide. After some quick testing (by installing and running Portal), it appears that things are working correctly in Debian and everything looks and runs as it did before in the older Parrot kernel. I have attached a screenshot of the lspci, inxi, and xrandr commands as well as uname for reference. I hope this information is useful.

As far as I am aware It should work with Kernal drivers 5.14 or higher, although some odd reports of it being slow/choppy

It does seem to work partially. I can run the install without any errors in 5.14 (5.16 does give an error for DKMS as shown above) and after the install I am able to boot without needing to add nomodeset to Grub, so the absolute most basic functions appear to be there. The issues seem to come up when trying to do anything 3D or anything with a lot of motion (scrolling through a website too fast, some videos, and 2D games like Don’t Starve cause some severe screen tearing). I suspect these may have something to do with the driver not being detected/loaded and the renderer being “llvmpipe” rather than “AMD BEIGE_GOBY” as it was in 5.10 and Debian (per inxi -Gx). I have run through the install exactly the same in 5.14, 5.16, and Debian as I did in 5.10, so I am not sure what happened between 5.10 and 5.14, but it appears that something either broke or changed…

I had time to do some more testing with various Parrot ISOs last night (RIP SSD lifespan lol). It appears that the AMD GPU drivers do not install/function correctly on:
Parrot-home-4.11.3_amd64 (kernel 5.14, 5.16)
Parrot-xfce-4.11.3_amd64 (kernel 5.14, 5.16)
Parrot-kde-home-4.11.3_amd64 (kernel 5.14, 5.16)
Parrot-home-5.0_amd64 (kernel 5.16)
Parrot-architect-5.0_amd64 (kernel 5.16)

The drivers do work correctly on:
Parrot-home-4.11.2_amd64 (kernel 5.10.0-6)

I ran through the driver install process exactly the same on all versions of Parrot I tried, so unless I did something wrong, it appears that the drivers are just not fully working on kernels 5.14 and 5.16. I am also unsure if this is specific to newer AMD GPUs or all AMD GPUs, as I only have the one and do not feel like spending the money to buy more just for testing. For now I am content using the 5.10 kernel from the 4.11.2 ISO, though I do not feel that this is the best solution in the long term. It would probably be helpful if someone with a much better understanding of the internal workings of things could do a deeper dive into this on the newer kernels to see if there may be a workaround to get full function out of the GPUs. Of course, the issue could also be on AMD’s end and the driver available now may just not yet support kernels 5.14 and 5.16 (Ubuntu 20.04.4, which is specifically mentioned on the AMD website, is apparently using kernel 5.13, though I have not actually done any testing with Ubuntu…)

1 Like