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'