Ubuntu 20.10 + RX 6800 XT - How To Steam / Vulkan Up And Runing Guide [WIP]

For some reason resume on suspend has issues. Not only does my keyboard not work to type my password in again. If I force restart of X via shortcut commands the screen starts tearing up even tho tearfree is enabled.

Seems resume from suspend is a bit broken with amdgpu!

Note I’m not talking about sleep mode, but display suspend.

EDIT:

Seems changing resolution and back again should fix the bug. As for the lockup of the login screen when you resume, that may be related to setting amdgpu.dpm=1 so I’ve removed that option for now.

I’m one of those odd humans who finds all the bugs and problems. I don’t know why, but that’s me.

This did not fix the issue, on monitor suspend resume the login is frozen except for mouse cursor. :frowning:

Might be a KDE issue. I’ve had the entire screen freeze sometimes on modesetting with KDE hot plugging displays.

Yeah, perhaps. I am using plasma5.

The other annoying thing is the tearing that happens when you do manage to resume from lock screen. Changing to 30hz then back to 60hz solves that (or a different res).

These weird and annoying issues is why windows gets bonus points for easy driver install and gpu utilisation.

PS. There are numerous bugs like this that I can see. For example below. However the freeze I get isn’t generally a black screen but a lock screen freeze after display suspend resume, the mouse cursor does move and ctrl-alt-backspace to restart X works.

This is probably a unique variation introduced with navi cards that has yet to be fixed. Also its clear that kwin/compositor does not restore correctly as it introduces tearing until display mode is reset (or restart kwin perhaps?).

Wendal, thanks so much. This guide worked for me on Ubuntu 20.10 with Linux 5.10-rc6.

I had to copy the AMD firmware from git and rm etc/modprobe.d/blacklist-radeon.conf and /etc/modprobe.d/blacklist-amdgpu.conf.

2 Likes

I cannot thank you enough, I was worried I would have to reinstall ubuntu. All I did was upgrade from 20.04 to 20.10 (and upgrade to 5.10 kernel) and followed your guide. One thing tripped me up, when you made the fw directory you also kinda seemed to sneak in the linux firmware sub directory. This caused me to get an error there until I just did the same script with the fw directory since i didnt make the linux-firmware subdirectory. My vulkan applications are working again and i didnt even have to reinstall vulkan! Vulkan tool and sdk are perfectly intact inbetween os upgrade and driver upgrades.

1 Like

Excellent. I’m somewhat surprised the Ubuntu folks haven’t fixed this with a minor package tweak at this point.

Hi,

maybe this is not the right thread but, I recently got an RX6800 and I cannot get it to work with Ubuntu 20.04.1 for the life of me. The main issue is that Vulkan does not seem to work. I do get full resolution on my display after installing the drivers.

When I try to test Vulkan by running vulkan-info or vkcube I get a low-level error that I can’t really find anything on on the interwebs. I don’t have the error saved so I will edit this post later with the exact error.

Many google searches led me to this page (of the very few that are useful). The other one is this one:

Apparently there is a problem with the 5.4.0.56 kernel. I did what they describe in that thread and downgrade to the 5.4.0.54, but that made no difference.

After that I tried removing the drivers, but then the entire GUI fails to load after rebooting. I have to fix this with
sudo apt install --reinstall ubuntu-desktop

Then I tried the walkthrough in this thread, installing the latest kernel version I could find (rc6), but nothing seems to help.

Any ideas? I was hoping it would be a pretty straightforward experience when using 20.04.1

Ok, I went back to the 5.4.0.54-generic kernel and successfully reinstalled amdgpu without errors. I installed vulkan-utils and ran vulkaninfo. This is the error I get:

oere@niekpc:~$ vulkaninfo
ERROR: [Loader Message] Code 0 : loader_get_json: Failed to open JSON file amd_icd64.json
amdgpu: unknown (family_id, chip_external_rev): (143, 41)
/build/vulkan-tools-KEbD_A/vulkan-tools-1.2.131.1+dfsg1/vulkaninfo/vulkaninfo.h:477: failed with ERROR_INITIALIZATION_FAILED

Would it be a better idea to go for Ubuntu 20.10 or whatever the latest version is?

Yes. So the problem here isn’t a huuuuge deal to work around, but the amd stuff installs that file it’s looking for to /opt because there is a bit of a version mismatch.

This is what the linux for everyone folks ran into, I think, because The Kernel, Mesa and Vulkan are all interrelated. You can’t run arbitrary versions easily. If you update to a much newer kernel and update mesa/vulkan, 20.04 can work, or you can downgrade to an even older kenrnel that works better with older mesa/vulkan/etc but the best thing here is probably to go to 20.10 so you get newer supported mesa as well.

I’d really love to know from the developers involved how it all works as I’m not super confident in my own understanding of all the inter-related dependencies.

2 Likes

Thanks for the fast reply, I will try that and work through the steps in the OP. I’m kind of glad that you would like more info on how it works. I am a relatively experienced linux user but not for gaming (I thought I’d try it) and I really have no idea what is going on here.

The scenarios you mentioned about updating to a newer kernel and updating mesa/vulkan with it (or going to older versions), that’s kinda what I thought I was doing but apparently not correctly.

Has anyone here tried it with 20.04? It does seem it should have been working before but and update in the kernel bricked it (according to the thread I linked previously).

20.04 was my initial setup, but I had updated the kernel and mesa from git to sidestep these issues…

Wendell, you’re the man. I installed new mesa drivers with a ppa and it works! I refused to install 20.10 in the end, not because it would make a difference since it’s a completely new install anyway, but because I am stubborn and I wanted to fix it for 20.04.

I like to think I kind of understand now. At least, I understand better than I did it before asking in this thread. Thanks again!

Which ppa? It was a dumpster fire last time I checked after launch day

That one. I said in my previous post that it was working. Working in that case meant I can run vulkaninfo and vkcube.

I’m still in the process of downloading/installing some games to see if those properly work.

2 Likes

Hi!

Great guide!
Would these instructions work for Pop OS 20.10 as well?

Or would something different need to be done? (never upgraded a kernel before)

got a 6800 it’s an Asus TUF OC edition model.
this is my first PC build, and I’m a little out of my depth, but attempted these steps.
nothing broke attempting this, but I am still stuck at 1024x768.

When running vulkaninfo I get this error:

ERROR at /build/vulkan-tools-jYkto9/vulkan-tools-1.2.141.0+dfsg1/vulkaninfo/vulkaninfo.h:240:vkEnumerateInstanceExtensionProperties failed with ERROR_INITIALIZATION_FAILED

for anyone else that runs into this, it was the blacklist.

I didn’t know what the file should or shouldn’t look like, and didn’t have access to edit it (attempted to edit it without being root).

remove the “amdgpu” from the file

Huge thanks @wendell for this guide.

2 Likes

no prob thanks for updating us. It’s a bit bothersome that this still is basically needed as I would have expected the distros to catch up by now

BUT

it also points out an architectural “problem” with linux in that… you really are in a hard place to support modern hardware on non-bleeding-edge kernels for things like GPUs because so much underpinning is needed backporting just doesn’t make sense… unlike say a nic kernel module…

I get that some in the community wouldn’t understand that nuance. The only fix I see is to move to new kernels ASAP even on LTS-ish distros. which comes with some other uh… not great… side effects

Thanks for this guide!

It was one of the first results on Google and saved my ass when I couldn’t boot into Sway on my Ubuntu 20.10 system.

Since I already was using both Mesa Git and a Kernel 5.10.X all I had to do was follow this step here:

It may be worth editing the last step, as you clone into the fw directory but refer to it with the original name of linux-firmware in the last step.

git clone   git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git fw
ls fw
rsync -avh linux-firmwarefw/amdgpu/* /lib/firmware/amdgpu/
1 Like