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.

    •  vortexal   ( @vortexal@lemmy.ml ) OP
      link
      fedilink
      1
      edit-2
      1 month ago

      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.

          • 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.

    •  vortexal   ( @vortexal@lemmy.ml ) OP
      link
      fedilink
      4
      edit-2
      1 month ago

      Yes but the problem for me was more complicated. Mesa is installed by default in Linux Mint and Vulkan should have worked out of the box but for some reason it defaulted to the wrong Kernel driver for the GPU. I didn’t know this before posting and, as I stated in other replies, every search result on every search engine told me the wrong information.

  •  IceVAN   ( @IceVAN@beehaw.org ) 
    link
    fedilink
    1
    edit-2
    1 month ago

    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.

          • You’re right, I don’t have mint/ubuntu installed nor that kind of hardware (anymore), so I can’t give precise instructions. I was just like: see that you’re not missing any of these packages/repos/firmware and adapt it to your needs. I had to deal with a laptop with dual gpu (intel+amd) and it was such a pain in the ass to get it working. I think you needed to have n packages installed, add grub flags, configure X11 to use amdgpu and blacklist radeon and even when I had it working, the amd gpu was only compatible with a limited amount of vulkan instructions so I had graphical glitches and games breaking. Old dual gpu setups are just a nightmare.

        • 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?