Most Vulkan applications broken due to LLVMPIPE

Hi there and sorry if the title will be misleading in the end.

Basically all programs which use vulkan where you can't pick a GPU are broken (Retroarch/Proton). Through Dolphin (the emulator) i discovered that the default option was LLVMpipe. So i ran retroarch -v (with vulkan set as the renderer) and i got this:

[INFO] RetroArch 1.9.3 (Git 122be0cc64)
[INFO] === Build =======================================
[INFO] CPU Model Name: AMD Ryzen 9 3900X 12-Core Processor            
[INFO] Fähigkeiten:  MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE4.2 AES AVX AVX2
[INFO] Built: May 16 2021
[INFO] Version: 1.9.3
[INFO] Git: 122be0cc64
[INFO] =================================================
[INFO] [Input]: Found input driver: "x".
[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.
[INFO] Version der libretro-API: 1
[INFO] Kompiliert gegen API: 1
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [Video]: Video @ 960x720
[WARN] [Wayland]: Compositor doesn't support zwp_idle_inhibit_manager_v1 protocol!
[WARN] [Wayland]: Compositor doesn't support zxdg_decoration_manager_v1 protocol!
[INFO] [Vulkan]: Vulkan dynamic library loaded.
[INFO] [Vulkan]: Found vulkan context: vk_wayland
[INFO] [Vulkan]: Detecting screen resolution 0x0.
WARNING: radv is not a conformant vulkan implementation, testing use only.
[INFO] [Vulkan]: Found GPU at index 0: llvmpipe (LLVM 11.1.0, 256 bits)
[INFO] [Vulkan]: Found GPU at index 1: AMD RADV SIENNA_CICHLID (ACO)
[INFO] [Vulkan]: Using GPU index 0.
[INFO] [Vulkan]: Using fences for WSI acquire.
[INFO] [Vulkan]: Using GPU: llvmpipe (LLVM 11.1.0, 256 bits)
[INFO] [Vulkan]: Queue family 0 supports 1 sub-queues.
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
error marshalling arguments for create_prime_buffer: dup failed: Bad file descriptor
Error marshalling request: Bad file descriptor
[ERROR] [Vulkan]: Swapchain is out of date, trying to create new one.
fish: Job 1, 'retroarch -v' terminated by signal SIGSEGV (Adressbereichsfehler)

If i am not mistaken "Found GPU index 0 LLVMpipe" and "Using GPU Index 0" prove me right.

So now to the question... How do i disable LLVMpipe or How do i rearange the GPU index so RADV is the default option?

Thanks in advance.

Did you configure your system in any particular way, or add any additional software that would provide a “virtual output”?

2 Likes

No this was the default set up i got from installing Garuda Gnome like 3-4 days ago

Someone on Reddit found the right solution.

You can just under

/usr/share/vulkan/icd.d

rename the lvp_icd.x86_64.json

or use export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json:/usr/share/vulkan/icd.d/radeon_icd.i686.json to force the use of the RADV (or if you are using it the AMDVLK) driver

3 Likes

This is a good bit of detective work!

However, the better option would be to remove the package that has installed the additional profile.

Let’s find out which package owns the file:

$ pacman -F lvp_icd.x86_64.json
extra/vulkan-swrast 21.1.0-1
    usr/share/vulkan/icd.d/lvp_icd.x86_64.json

and then remove it:

$ sudo pacman -R vulkan-swrast

If you install multiple Vulkan profiles then this is what happens. :wink:

5 Likes

strange i don't remember installing that. Still thanks for this more adequate solution.

1 Like

It might be included by default - no idea. Replace “you” with “one” in my sentence above. :wink:

3 Likes

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.