Use amdvlk with Radeon HD7950 on ArchLinux

Recently I installed ArchLinux on an older computer. That computer had an Radeon HD7950 graphics card.

As I finished the install of ArchLinux with GNOME, I were not able to start a Wayland session. It turned out that I were using the radeon driver which is not able to run Wayland. Additionally it was impossible to get Vulkan running on this driver.

There is another driver for this graphics card named amdgpu. With this driver it is possible to get Wayland and Vulkan running on this graphic card.

I struggled a little bit to get this running, so I wanted to document here what to do to get it working. At this point I assume you have a running ArchLinux install with GNOME.

First install the packages with pacman -S mesa xf86-video-amdgpu amdvlk. Then it is important that the amdgpu driver is loaded before the radeon driver. For that write MODULES=(amdgpu radeon) in the file /etc/mkinitcpio.conf.

Then Southern Islands (si) support needs to be enabled in the driver. This can be done with writing the following in /etc/modprobe.d/amdgpu.conf:

options amdgpu si_support=1
options amdgpu cik_support=0

and in /etc/modprobe.d/radeon.conf:

options radeon si_support=0
options radeon cik_support=0

At last make sure that modconf is in the HOOKS array in /etc/mkinitcpio.conf. Then regenerate initramfs and everything is done and should work.

Reference: AMDGPU ArchLinux Wiki