protonscr

failed create vulkan instance when using vendored libraries

steamopen runtimeDistro Family: Arch
ValveSoftware/steam-for-linux#12483 · opened 2025-11-25 by spievniev · updated 2026-01-07 · 9 comments · github
Sspievniev 2025-11-25 github

Your system information

  • Steam client version (build number or date):
    Steam Beta Branch: Stable Client
    Steam Version: 1763795278
    Steam Client Build Date: Sat, Nov 22 2:00 AM UTC -08:00
    Steam Web Build Date: Sat, Nov 22 1:35 AM UTC -08:00

  • Distribution (e.g. Ubuntu): Arch

  • Opted into Steam client beta?: No?

  • Have you checked for system updates?: Yes

  • Steam Logs: steam-logs.tar.gz

  • GPU: AMD Radeon 780M Graphics (RADV PHOENIX)

Please describe your issue in as much detail as possible:

Steam fails to start with the following message:

Running query: 1 - GpuTopology
CVulkanTopology: failed create vulkan instance: -9
CVulkanTopology: failed to create vulkan instanceFailed to query vulkan gpu topology

Failed to query vulkan gpu topology
Response:
Exit code: -2

Full steam log: https://pastebin.com/G86eYh75

I previously tried to resolve the issue on Arch forums, the post.

I found that the error comes from .local/share/Steam/ubuntu12_32/steamsysinfo.
Currently, I work around it by forcing steam to use system libraries LD_LIBRARY_PATH="/usr/lib:/usr/lib32" instead of the vendored ones.

For reference, here's what LD_LIBRARY_PATH normally looks like (without overriding):

LD_LIBRARY_PATH="/home/tx/.local/share/Steam/ubuntu12_32:/home/tx/.local/share/Steam/ubuntu12_32/panorama:/home/tx/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32:/home/tx/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_64:/usr/lib:/home/tx/.local/share/Steam/ubuntu12_32/steam-runtime/lib/i386-linux-gnu:/home/tx/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu:/home/tx/.local/share/Steam/ubuntu12_32/steam-runtime/lib/x86_64-linux-gnu:/home/tx/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/x86_64-linux-gnu:/home/tx/.local/share/Steam/ubuntu12_32/steam-runtime/lib:/home/tx/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib:/usr/lib:/usr/lib32"

It seems to me that one of the vendored libraries uses a system library of incompatible version.

Kkisak-valve maintainer 2025-11-25 github
Sspievniev 2025-11-25 github

Steam Runtime Diagnostics (from the workaround version of steam since I cannot launch it)
STEAM_LINUX_RUNTIME_VERBOSE=1 steam log
What else should I run?

For some reason, I cannot redirect steam's output.
Even STEAM_LINUX_RUNTIME_VERBOSE=1 steam 2>&1 | tee ~/slr.log from the docs doesn't work.
The file is created but it is always empty.

Kkisak-valve maintainer 2025-11-25 github

Thanks, https://gist.github.com/spevnev/e0db0d5a155994762ce19e688c3ed051#file-gistfile1-txt-L82 seems like a starter hint. You asserted that you need to set LD_LIBRARY_PATH before starting Steam for it to make progress, and that tells us that Steam's doing the normal setup of the LD_* style Steam runtime. Perhaps something outside of Steam is setting LD_LIBRARY_PATH, and you're overriding it with your manual intervention? I'd run env from a terminal and check if LD_LIBRARY_PATH shows up there. Alternatively, it might be interesting to completely close Steam, then try unset LD_LIBARARY_PATH && steam in a terminal.

Sspievniev 2025-11-25 github

LD_LIBRARY_PATH is not set (from env)
unset LD_LIBARARY_PATH && steam same error

In my first message I've listed the LD_LIBARARY_PATH variable steam runs with (got it by checking at runtime using gdb).
Is that an expected value?

AAlephNought0 2025-11-25 github

I am having the same issue on NixOS with ryzen 9 5980hx (no dgpu). Running unset LD_LIBARARY_PATH && steam did not work for me. Since I am on NixOS, there isn't really a way for me to manually set LD_LIBRARY_PATH. Here are the logs of STEAM_LINUX_RUNTIME_VERBOSE=1 steam logs,

I am also unable to redirect Steam's output to a file with the command STEAM_LINUX_RUNTIME_VERBOSE=1 steam 2>&1 | tee ~/slr.log, I only get an empty file.

Running anything else works for me, even vkcube and vkinfo outputs appropriate info.

Sspievniev 2025-12-20 github

Ok, so I've decided to investigate this myself. Using VK_LOADER_DEBUG=all I've found incompatible library versions:
Steam ships libvulkan of version 1.3.239
It requires newer versions (than the ones steam provides) of the following libraries: libgcc_s, libstdc++, libxcb, libxcb-dri3, libxcb-present, libxcb-randr
After updating all of them, steam works.

It seems there was a similar fixed issue https://github.com/ValveSoftware/steam-for-linux/issues/4816, so it seems that the libraries need updating again.
This time, however, it seems to be more obscure as none of the error messages indicate incompatible library versions or missing symbols.

You should probably add running with VK_LOADER_DEBUG=all to debugging steps/additional logs, especially when issue is vulkan related.

LLaithAlshakhs 2026-01-06 github

Does your fix still work, and did you change both 32 and 64 versions of the libs

Sspievniev 2026-01-06 github

I replaced only 32 bit libs (in /.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu)
If you want a workaround, I would suggest trying steam-native (on arch, not sure what it is called on other distros) or LD_LIBRARY_PATH="/usr/lib:/usr/lib32" steam

LLaithAlshakhs 2026-01-07 github

Yeah I'll propably try to mimic how steam-native package does it
thanks for bringing that up

and I hope it gets fixed soon so no one has to deal with this hassle