Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vulkan Initialization Problems #52

Closed
irondeau opened this issue Aug 28, 2022 · 3 comments
Closed

Vulkan Initialization Problems #52

irondeau opened this issue Aug 28, 2022 · 3 comments

Comments

@irondeau
Copy link

Just recently installed the latest version of conty (1.21) and am trying to use it to execute multilib applications such as Steam. Upon running ./conty.sh steam, I encounter the following error:

vkEnumeratePhysicalDevices failed, unable to init and enumerate GPUs with Vulkan.
BInit - Unable to initialize Vulkan!

Steam itself loads right up and everything works as expected. However, upon launching a game it will begin launching and then immediately crash. Take DS3 for example, which launches to a white screen while the cursor changes color and then immediately crashes. The error log includes the following lines:

ERROR: ld.so: object '/home/irondeau/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/irondeau/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/irondeau/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/irondeau/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/irondeau/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.

which also happens to be thrown when I run the game Hollow Knight (which is supposed to run natively on Linux). I am unsure if the two errors above are related.

The next most natural debugging step is to run ./conty.sh vulkaninfo whose ouput is this:

ERROR: [Loader Message] Code 0 : loader_scanned_icd_add: Could not get 'vkCreateInstance' via 'vk_icdGetInstanceProcAddr' for ICD libGLX_nvidia.so.0
ERROR: [Loader Message] Code 0 : setup_loader_term_phys_devs:  Failed to detect any valid GPUs in the current config
ERROR at /build/vulkan-tools/src/Vulkan-Tools-1.3.217/vulkaninfo/vulkaninfo.h:231:vkEnumeratePhysicalDevices failed with ERROR_INITIALIZATION_FAILED

The glxgears command works fine, so I assume the driver configuration is correct (using nouveau drivers). Firefox also works perfectly fine.

I appreciate your help, and thank you for building this awesome tool.

Distro Void Linux with Musl
Display Server Xorg
Window Manager dwm
@Kron4ek
Copy link
Owner

Kron4ek commented Aug 29, 2022

The glxgears command works fine, so I assume the driver configuration is correct (using nouveau drivers).

Hi. The problem is that Nouveau does not support Vulkan currently, only the proprietary driver does. I understand that the proprietary driver does not work with musl, but that's the only way to use Vulkan on Nvidia for now (assuming your GPU supports Vulkan at all).

There is also a software implementation of Vulkan (called lavapipe or vulkan-swrast), which works with any videodriver and with any GPU, but it is very slow and has its own issues.

I would also suggest you to check ./conty.sh glxinfo -B to see if nouveau is actually used instead of llvmpipe (which is software implementation of OpenGL).

@Kron4ek
Copy link
Owner

Kron4ek commented Aug 29, 2022

By the way, for Hollow Knight you can force it to use OpenGL renderer by adding -force-opengl to its launch options in Steam. And to make Proton to use OpenGL instead of Vulkan, run Steam with PROTON_USE_WINED3D=1:

PROTON_USE_WINED3D=1 ./conty.sh steam

Not all games will work this way though (for example, DX12-only games won't).

@irondeau
Copy link
Author

Both of the proposed solutions fixed my problems. I was able to launch both Hollow Knight and DS3 properly. However, upon testing my Steam controller in both games, I found that the button mappings were off. I don't think I'm going to pursue trying to get Steam running under Void any longer since it's not really a huge priority for me. I dual boot my computer anyways so I can play games on Windows if I so choose.

I ran ./conty.sh glxinfo -B as you suggested, and I am in fact using the nouveau driver. I hope this helps other people facing similar problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants