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.

How to block a DNF package update on Fedora

You know the new version of a package is a buggy mess and you don’t want to update, or you manually install an rpm that exists in the repos but you really want to keep the version you installed. There’s an easy way to do that!

Edit (as root) /etc/dnf/dnf.conf and add this line:

exclude = packagename1
exclude = packagename2

Save it. The next time DNF updates, your package won’t be updated! This will work with any distribution that uses DNF (Mageia, future versions of CentOS).

Error Upgrading Fedora 27 to Fedora 28 with Cinnamon desktop

When attempting to upgrade my Fedora 27 to Fedora 28 running the Cinnamon desktop, I received the following error:

dnf system-upgrade download --releasever=28
Before you continue ensure that your system is fully upgraded by running "dnf --refresh upgrade". Do you want to continue [y/N]: y
Last metadata expiration check: 0:00:00 ago on Wed 02 May 2018 11:19:35 PM CDT.
Error:
Problem: package gstreamer1-plugins-bad-1:1.12.4-3.fc27.x86_64 requires libchromaprint.so.0()(64bit), but none of the providers can be installed
- libchromaprint-1.2-8.fc27.x86_64 does not belong to a distupgrade repository
- problem with installed package gstreamer1-plugins-bad-1:1.12.4-3.fc27.x86_64

It turns out the name for this gstreamer plugins package has changed names, and it’s goofing up the dependencies path for libchromaprint. Minor issue, but it stops my upgrade cold.

I came up with this workaround: upgrade libchromaprint and gstreamer1-plugins-bad-free before trying to update the entire distro. So:

sudo dnf install libchromaprint-1.4.2-2.fc28.x86_64 gstreamer1-plugins-bad-free --releasever=28 --allowerasing

You can now proceed with your regular upgrade process.

VLC missing title bar and window decorations on Fedora 27

Recently, VLC Media Player on my Fedora 27 installation running the Cinnamon desktop has been missing the title bar and window decorations, resulting in VLC not being a proper window and only a full-screen application. For me, this behavior is undesirable.

VLC without title bar

To restore normal functionality it’s easiest to simply delete the VLC configuration:

rm -r ~/.config/vlc

Now, VLC will function normally. Preferences will have to be recreated, but if you’re like me, you don’t need much more than the ability to play media.

x11vnc – stack smashing detected

My x11vnc on Fedora has recently started crashing with the following error:

*** stack smashing detected ***: terminated

This issue seems to come and go for a lot of people with x11vnc. Bugs have been reported, but nobody seems to be able to pin it down. One workaround is to recompile it from source with some memory protections disabled, but that is a lot of work .

This workaround takes care of it: launch x11vnc with¬†¬†-noxrecord on the end. That’s it!