Edit: I think I’ve figured it out, it seems like Linux Mint defaulted to the wrong Kernel driver and I was able to switch it to the correct one.
I’ve already tried searching for this online but there is a reason I’m posting about it here. The last time I tried to install Vulkan drivers in Linux Mint, there was an update to the oibaf PPA that completely broke my Linux Mint installation and I had to manually reinstall it. I’ve read that, at least in the past, the oibaf PPA causes problems in Ubuntu but I can’t find another solution to installing Vulkan drivers in Linux Mint. Is that the only way to install the Vulkan Drivers in Linux Mint, or is there another way?
Also, yes, Vulkan works in Windows and it did work in my previous installation of Linux.
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.
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 `
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 currentamdgpu
driver. For a while, you had devices that were supported by both drivers and you could choose between the stableradeon
driver that was missing features like Vulkan and HDMI audio or the brand newamdgpu
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 theradeon
driver and need to be forced onto theamdgpu
driver.