Enabling amdgpu on Fedora 31 for using Vulkan with R7 and R9 Radeon cards

For the AMD Radeon R9 390, Fedora will, by default, use the open source driver ‘radeon’ – which is generally sufficient for average workloads, but if you want to game, or want to use Vulkan, you probably want the AMD-written open source driver ‘amdgpu’. It is not just a matter of installing the driver, and some extra configuration will be required to utilize this driver for graphics cards in the Southern Islands and Sea Islands family of AMD cards, since support for these models is considered experimental.

The solution also varies depending on whether your card is Southern Islands or Sea Islands.

Card FamilyModelsModule Parameter
Southern IslandsHD7750-HD7970, R9 270, R9 280, R9 370X, R7 240, R7 250amdgpu.si_support=1
Sea IslandsHD7790, R7 260, R9 290, R7 360, R9 390amdgpu.cik_support=1

First, determine which kernel driver is currently in use: lspci -k | grep -EA3 'VGA|3D|Display'

If your Kernel driver in use result says amdgpu you’re working, there’s nothing for you to do except install Vulkan (if that’s your goal). If your result says radeon, read on.

  1. Install the amdgpu driver, along with Vulkan (both x64 and x86): sudo dnf install xorg-x11-drv-amdgpu mesa-vulkan-drivers.x86_64 mesa-vulkan-drivers.i686 vulkan-loader.x86_64 vulkan-loader.i686 vulkan-tools
  2. If you plan to use Vulkan with Wine: sudo dnf install wine-dvxk.x86_64 wine-dvxk.i686
  3. The GRUB Bootloader needs to be modified to (a) disable the ‘radeon’ driver for your card and (b) enable the module parameter for amdgpu. Edit /etc/default/grub append one of the following inside the quotes on the GRUB_CMDLINE_LINUX line:
    • For Southern Island cards: radeon.si_support=0 amdgpu.si_support=1
    • For Sea Island cards: radeon.cik_support=0 amdgpu.cik_support=1
  4. Build the GRUB config:
    • For EFI systems: sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
    • For BIOS systems: sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  5. Reboot.

If everything went according to plan, after reboot you should be able to login and run vulkaninfo without errors. Now you can install Lutris, use Proton on Steam, or do any of the other things that Vulkan allows.
If your GUI doesn’t load after reboot, you can restore your machine back to the previous configuration by pressing CTRL+ALT+F2, logging in, editing /etc/default/grub to remove the added text, and running grub2-mkconfig like before.

These instructions are intended for Fedora Linux, but with some minor modification to the grub2-mkconfig command, and substituting your package manager for dnf, you can probably adapt them to other Linux distributions.

For additional information, refer to the Arch or Gentoo wikis.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.