Vulkan drivers come as part of Mesa, which would already be part of Linux Mint. Unless you have an Nvidia GPU, or a GPU that's somehow too modern for Mint 21.3.
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
My GPU shouldn't be too modern because it just recently became EOL. The only thing I know is that when ever I try to run something that requires Vulkan in Linux, it defaults to using Lavapipe instead of my GPU and if it try to disable Lavapipe, it acts like Vulkan isn't installed.
What GPU are you using? What influenced you to add “Oibaf PPA” instead of using the default built in Mesa drivers that came with Mint? No judgement, just trying to figure out what led you here, so we can unravel it. Because as the other poster mentioned, Vulkan for Amd should have worked out of the box on a fresh install.
Edit, to clarify, did you add the repo because you thought that mint didn’t have drivers and that was the way to get them? Or was there a different reason you needed to add the repo?
Because Vulkan has never worked out of the box for me in either Ubuntu nor Linux Mint and every single search result on every single search engine states that Ubuntu and it's derivatives need that PPA for Vulkan to work. I would have tried other solutions if there was even a single mention of another way to get Vulkan working.
What is the GPU?
The GPU is an AMD Radeon R2 Graphics. It was a bit hard for me to find and I have no idea if it's accurate but it should support at least Vulkan 1.2.170.
Try running a command like vulkaninfo --summary
.
Then try running VK_DRIVER_FILES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json vulkaninfo --summary
(alternatively, just try running whatever else it is you use that reports you only have lavapipe available). See if there's a difference and if it finally reports the hardware being used.
For some reason, I can't get Lemmy's "code" fuction to work properly in this reply but both commands give the same information:
`j@j-HP-Notebook:~$ vulkaninfo --summary WARNING: [Loader Message] Code 0 : terminator_CreateInstance: Failed to CreateInstance in ICD 2. Skipping ICD. ERROR: [../src/amd/vulkan/radv_physical_device.c:1877] Code 0 : Device '/dev/dri/renderD128' is not using the AMDGPU kernel driver: Invalid argument (VK_ERROR_INCOMPATIBLE_DRIVER)
VULKANINFO
Vulkan Instance Version: 1.3.204
Instance Extensions: count = 20
VK_EXT_acquire_drm_display : extension revision 1 VK_EXT_acquire_xlib_display : extension revision 1 VK_EXT_debug_report : extension revision 10 VK_EXT_debug_utils : extension revision 2 VK_EXT_direct_mode_display : extension revision 1 VK_EXT_display_surface_counter : extension revision 1 VK_EXT_swapchain_colorspace : extension revision 4 VK_KHR_device_group_creation : extension revision 1 VK_KHR_display : extension revision 23 VK_KHR_external_fence_capabilities : extension revision 1 VK_KHR_external_memory_capabilities : extension revision 1 VK_KHR_external_semaphore_capabilities : extension revision 1 VK_KHR_get_display_properties2 : extension revision 1 VK_KHR_get_physical_device_properties2 : extension revision 2 VK_KHR_get_surface_capabilities2 : extension revision 1 VK_KHR_surface : extension revision 25 VK_KHR_surface_protected_capabilities : extension revision 1 VK_KHR_wayland_surface : extension revision 6 VK_KHR_xcb_surface : extension revision 6 VK_KHR_xlib_surface : extension revision 6
Instance Layers: count = 7
VK_LAYER_INTEL_nullhw INTEL NULL HW 1.1.73 version 1 VK_LAYER_MESA_device_select Linux device selection layer 1.3.211 version 1 VK_LAYER_MESA_overlay Mesa Overlay layer 1.3.211 version 1 VK_LAYER_VALVE_steam_fossilize_32 Steam Pipeline Caching Layer 1.3.207 version 1 VK_LAYER_VALVE_steam_fossilize_64 Steam Pipeline Caching Layer 1.3.207 version 1 VK_LAYER_VALVE_steam_overlay_32 Steam Overlay Layer 1.3.207 version 1 VK_LAYER_VALVE_steam_overlay_64 Steam Overlay Layer 1.3.207 version 1
Devices:
GPU0: apiVersion = 4206847 (1.3.255) driverVersion = 1 (0x0001) vendorID = 0x10005 deviceID = 0x0000 deviceType = PHYSICAL_DEVICE_TYPE_CPU deviceName = llvmpipe (LLVM 15.0.7, 256 bits) driverID = DRIVER_ID_MESA_LLVMPIPE driverName = llvmpipe driverInfo = Mesa 23.2.1-1ubuntu3.1~22.04.2 (LLVM 15.0.7) conformanceVersion = 1.3.1.1 deviceUUID = 6d657361-3233-2e32-2e31-2d3175627500 driverUUID = 6c6c766d-7069-7065-5555-494400000000 `
ERROR: […/src/amd/vulkan/radv_physical_device.c:1877] Code 0 : Device ‘/dev/dri/renderD128’ is not using the AMDGPU kernel driver
This is the smoking gun, btw.
I see you've got it working, so I'll just add a bit of explanation.
AMD GPUs used to use a driver called radeon
. It was replaced with the current amdgpu
driver. For a while, you had devices that were supported by both drivers and you could choose between the stable radeon
driver that was missing features like Vulkan and HDMI audio or the brand new amdgpu
driver that had the newest features but was unstable and not well tested.
The kernel has a policy of not unnecessarily breaking things with kernel changes so even though amdgpu
has been well tested in the years since, devices from that era still default to the radeon
driver and need to be forced onto the amdgpu
driver.
What if you do have an Nvidia GPU...?
I'm not a Mint user but according to this page https://www.linuxmint.com/rel_wilma.php
- Run the Driver Manager
- Choose the NVIDIA drivers and wait for them to be installed
- Reboot the computer
Oh... I thought there'd be more to it than that.
Lol, sorry. xD
I mean, there is, but people have worked hard to set it up so you can just click the button and it all happens.
Could you post the output of vulkaninfo
including any errors that it might also print.
If it's not shown, what GPU do you have?
Also run lspci -k
, is your GPU using amdgpu or the old radeon driver?
My computer has an AMD Radeon R2 Graphics. It seems like both the radeon and the amdgpu modules are installed but the kernel driver in use is radeon. I'd show the output of "vulkaninfo" but it doesn't seem to show the full thing, is there a way I can get it to show the full output?
Cool, you're going to have to enable Sea Islands (CIK) support for amdgpu. You should just have to add radeon.cik_support=0 amdgpu.cik_support=1
to your kernel parameters. You're probably using GRUB so to do that you'll need to run sudo nano /etc/default/grub
to edit it's config file, then add the above to the end of GRUB_CMDLINE_LINUX_DEFAULT
(keep it in the quotes, but space seperated from the previous parameter). Then reboot and hopefully Vulkan works!
Alternatively, there's a section on the Arch Wiki for this, it should work fine for Mint too: https://wiki.archlinux.org/title/AMDGPU
Did I do it correctly? GRUB_CMDLINE_LINUX_DEFAULT="quiet splash radeon.cik_support=0 amdgpu.cik_support=1"
After saving, is there anything else I have to do it get it to work?
Oh whoops yeah there is, run sudo update-grub
.
But otherwise that config looks correct.
Ok, do I need to restart my computer now?
Yep!
Ok, it seems to have worked as the game I was using for testing seems to be working fine.
Although, I keep getting the error message (WARNING: radv is not a conformant Vulkan implementation, testing use only.)
, is that to be expected?
Epic!
I've never seen that on modern AMD stuff that uses radv, but I'm sure it's probably fine.
Did you manage?
Yeah it seems like it's working now.
Sorcery.
You must commune with the machine spirit.
Try using Pop OS or Zorin.
I would but I'm actually using Linux Mint because the Xfce edition has low ram usage. My computer's ram is very slow and it's only 4GB.
It is preinstalled as it is natively supported by Linux (thanks AMD)
Your issue lies elsewhere and will not be solved by installing random PPAs
Ok, what is my solution then? Right now, the only thing I know is that when ever I try to run anything in Linux that requires Vulkan, it defaults to Lavapipe instead of using my GPU and if I try to disable Lavapipe, it acts like Vulkan isn't installed.
What's the GPU?
This is the setup I use in debian, it might give you a hint (no PPAs, standard repos):
sudo apt install mesa-vulkan-drivers mesa-vulkan-drivers:i386 libvulkan1 libvulkan1:i386 vulkan-tools vkd3d-demos mesa-opencl-icd clinfo libxrandr2 libxrandr2:i386 libvulkan-dev libvulkan-dev:i386 libgl1-mesa-dri libgl1-mesa-dri:i386 vkmark glmark2-x11 firmware-amd-graphics radeontop xserver-xorg-video-amdgpu
This is what I get when I try to run that set of commands:
`j@j-HP-Notebook:~$ sudo apt install mesa-vulkan-drivers mesa-vulkan-drivers:i386 libvulkan1 libvulkan1:i386 vulkan-tools vkd3d-demos mesa-opencl-icd clinfo libxrandr2 libxrandr2:i386 libvulkan-dev libvulkan-dev:i386 libgl1-mesa-dri libgl1-mesa-dri:i386 vkmark glmark2-x11 firmware-amd-graphics radeontop xserver-xorg-video-amdgpu
[sudo] password for j:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package firmware-amd-graphics is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Unable to locate package vkmark E: Unable to locate package glmark2-x11 E: Package 'firmware-amd-graphics' has no installation candidate `
You need to activate contrib, non-free, non-free-firmware repos:
sudo nano /etc/apt/sources.list
You should have something like deb http://URL_OF_THE_REPO DISTRIBUTION main
, you need to add contrib non-free non-free-firmware
to the end of those lines like:
deb http://URL_OF_THE_REPO DISTRIBUTION main contrib non-free non-free-firmware
then you do sudo apt update
and try installing the packages again.
I don't know if I need to do that because Vulkan seems to be working now but is that correct? My sources.list file is empty and it states the wrong version of Linux mint. Should I actually edit "/etc/apt/sources.list.d/official-package-repositories.list", seeing that that has the actual list of repositories?