Hi,
I am new to linux and still learning. I do play games so I wanted to set up my PC for light gaming too. I tried to install all mesa drivers but could not get vulkan working. (Also installed steam). Tried to install official driver from AMD site still could not got it working. After that I uninstalled the driver and installed mesa again. This is the error I get with vulkan info command.
I’m no expert on Vulkan, but it looks like its running the VulkanInfo command with no errors. All I see are warnings. Which doesn’t mean that vulkan isn’t working. Is there an actual error message somewhere? How do you know vulkan is not working? Is there a specific game you can’t get working?
Can you post the full output from the vulkaninfo command?
It looks like you may be using a driver that is no longer supporting your GPU. You may need to install an older driver.
that is not an error, it is nearly a warning that lavapipe is installed. my vulkan works perfectly and i still get this warning. i have lavapipe installed and get the warning, but that doesnt mean that lavapipe is even being attempted to be used.
does vkcube work?
Eh not exactly, “Failed to create instance” isn’t good
To actually test vulkan I would rather use vkcube
though, which is part of the vulkan-tools package (or vulkantools, not sure on Ubuntu). Either way it should be installed already since it’s typically in the same package as vulkaninfo
. vkcube
should open a window with a spinning cube, similar to glxgears
for OpenGL.
That is AMDVLK, which is not a driver, but a Vulkan implementation. And this is also AMD’s implementation, not Mesa.
That said, the 200 series is a weird edge case that is supported in both the old radeon
driver and the new amdgpu
driver and since amdgpu
categorises the 200 series support as “experimental”, radeon
is loaded by default.
First, you should confirm which driver it’s using:
[tarulia@localhost]~% lspci -k | grep -EA3 'VGA|3D|Display'
0b:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 XL/XT [Radeon RX Vega 56/64] (rev c1)
Subsystem: Sapphire Technology Limited Device e37f
Kernel driver in use: amdgpu
Kernel modules: amdgpu
The second to last line is important (the last probably says amdgpu radeon
for you).
IF yours is saying radeon
, there is a kernel parameter you can use to make the radeon
driver ignore these cards and enable the amdgpu
driver to pick it up, but you’ll have to edit the grub config:
sudo nano /etc/default/grub
- find a line that says
GRUB_CMDLINE_LINUX_DEFAULT
- add
radeon.si_support=0 radeon.cik_support=0 amdgpu.si_support=1 amdgpu.cik_support=1
at the end of it
a. should look something like this using the example from arch wiki:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash radeon.si_support=0 radeon.cik_support=0 amdgpu.si_support=1 amdgpu.cik_support=1"
- Save it (Ctrl+X → Y)
- regenerate grub config:
grub-mkconfig -o /boot/grub/grub.cfg
- Reboot your PC
- After booting back up:
lspci -k | grep -EA3 'VGA|3D|Display'
This should get amdgpu
to be loaded on the card.
After that, try vulkaninfo
and/or vkcube
again.
edit: Funny side note on that AMDVLK link above:
Note: To run the Vulkan driver with AMDGPU upstream driver stack on SI and CI generation GPUs, amdgpu.si_support and amdgpu.cik_support need to be enabled in kernel
SI and CI are the 200 and 300 generation cards which are not listed in the supported cards anymore
I have a card from the same generation and use Debian (Ubuntu’s base).
Here is what you need to do.
1.) Install the current MESA from your distro’s branch. I caution using PPAs from unknown sources and PPA’s in general because you really easily can install from source and you don’t know what is going on under the hood in the PPA. It is very common for people to do this on Ubuntu but rare for people on Debian. It is like running random code on the internet, you should figure out what you are doing rather than sudo <run_random_code>
. (/philosophical_rant)
2.) Make sure you are running the latest stable kernel for your branch.
3.) Install the vulkan drivers and ICDs for youu card from your distro.
4.) Enable the amdgpu driver for your card. If you are using the radeon driver (Since you are on GNC 1.1, this is the default), you cannot use vulkan because it has not been backported to the radeon driver (this has been left to the community to fix).
Add the following to your kernel command line arguments radeon.cik_support=0 amdgpu.cik_support=1
5.) mkinitrd and reboot your system
6.) Test with vkcube et voila. (If you have issues at this stage, then we can assist further.)
The above works on Debian so you should not have any issues with Ubuntu.
Key point is to only install the stuff that is applicable to your system. You don’t need the nVidia or Intel or Software Renders. Also, the Arch Wiki will be you friend in this space. Even though the packages are differently named, you can still use it as a reference.
https://wiki.archlinux.org/title/AMDGPU
Also, you can search for packages here so that you know what to include in your apt install commands.
https://packages.ubuntu.com/
radeon.cik_support=0 amdgpu.cik_support=1
This solved the issue. It was using radeon drivers which does not support vulkan. Switching to amd one solves the vulkan related issue it seems. Thanks everyone for the help.
It looks like anything higher then proton 4.11 does not work. Proton 4.11 or under working perfectly. (Also newer DXVK do not work). Maybe this card has limited vunkan features support or I am missing another configuration.
That could be an issue with MESA or you may need to specify the ACO compiler as that is becoming the default for MESA but our unofficial cards don’t follow the defaults because… reasons.
https://wiki.archlinux.org/title/AMDGPU#ACO_compiler
According to the wiki is is now the global default starting with Mesa 20.2
As per the original post they are on Mesa 21.2.1 so ACO would already be the default.
That said, I expect exactly that to be the issue.
When Valve announced testing for ACO they also said that ACO only works with GCN 3.0+, so if it is indeed default, that would be an issue.
Although I thought that it would use ACO regardless of Proton or DXVK version, I’m not entirely sure how that’s implemented.
Either way, you can disable ACO using a launch parameter for the game in steam (or before opening steam should also work):
RADV_PERFTEST=llvm %command%
edit:
Actually I think that is the old Environment variable and it is now
RADV_DEBUG=llvm %command%
I did not know that. It has been while since I have fired up steam this year, but I was using ACO since last year by specifying it in an Environment variable. I did not have any issues with it on my GCN1.1 GPU, but I am not playing anything newer than say 2019, so maybe it really sees issues with newer games.
Thanks for the heads up. I cannot wait to get off of PoorDozer and GCN and get onto Zen3+ and RDNA2+.
Could be yea. Maybe it’s just one of those situations where they say a certain Generation but it’s only official support and the rest is on you (as basically all of Linux gaming on steam since “official” support is still Ubuntu 16.04 (lul))
Might also just be that not everything is implemented for all the GCN generations, who knows.