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

Crash when launching on Ubuntu with an nVidia GeForce GTX 765M #61218

Closed
michael-nischt opened this issue May 20, 2022 · 6 comments
Closed

Crash when launching on Ubuntu with an nVidia GeForce GTX 765M #61218

michael-nischt opened this issue May 20, 2022 · 6 comments

Comments

@michael-nischt
Copy link

michael-nischt commented May 20, 2022

Godot version

4.0.alpha8.official.cc3ed63af

System information

Ubuntu 2022.04, GeForce GTX 765M

Issue description

Crash on launch.

The nvidia driver for the dated GPU (GeForce GTX 765M) supports OpenGL 4.6 core profile.
But the linux driver isn't updated anymore I believe. At least update doesn't show anything beyond 418.226.00.

So it might be unsupported by Godot but in case not:

Godot Engine v4.0.alpha8.official.cc3ed63af - https://godotengine.org
MESA-INTEL: warning: Haswell Vulkan support is incomplete
Vulkan API 1.2.0 - Using Vulkan Device #1: NVIDIA - GeForce GTX 765M

================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.0.alpha8.official (cc3ed63af68ea9262bf8015d34aa6dd6327112e8)
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x42520) [0x7f0f82356520] (??:0)
[2] /lib/x86_64-linux-gnu/libnvidia-glvkspirv.so.418.226.00(+0x403744) [0x7f0f74203744] (??:0)
[3] /lib/x86_64-linux-gnu/libnvidia-glvkspirv.so.418.226.00(+0x3e0460) [0x7f0f741e0460] (??:0)
[4] /lib/x86_64-linux-gnu/libnvidia-glvkspirv.so.418.226.00(+0x3efcba) [0x7f0f741efcba] (??:0)
[5] /lib/x86_64-linux-gnu/libnvidia-glvkspirv.so.418.226.00(+0x3f0972) [0x7f0f741f0972] (??:0)
[6] /lib/x86_64-linux-gnu/libnvidia-glvkspirv.so.418.226.00(+0x3f2743) [0x7f0f741f2743] (??:0)
[7] /lib/x86_64-linux-gnu/libnvidia-glvkspirv.so.418.226.00(+0x3f2afd) [0x7f0f741f2afd] (??:0)
[8] /lib/x86_64-linux-gnu/libnvidia-glvkspirv.so.418.226.00(_nv005nvvm+0x9d) [0x7f0f7422cb1d] (??:0)
[9] /lib/x86_64-linux-gnu/libnvidia-glcore.so.418.226.00(+0x11c4f33) [0x7f0f765c4f33] (??:0)
[10] /lib/x86_64-linux-gnu/libnvidia-glcore.so.418.226.00(+0x1190bf8) [0x7f0f76590bf8] (??:0)
[11] /lib/x86_64-linux-gnu/libnvidia-glcore.so.418.226.00(+0x119142d) [0x7f0f7659142d] (??:0)
[12] /lib/x86_64-linux-gnu/libnvidia-glcore.so.418.226.00(+0x11ce066) [0x7f0f765ce066] (??:0)
[13] /lib/x86_64-linux-gnu/libnvidia-glcore.so.418.226.00(+0x11ceedc) [0x7f0f765ceedc] (??:0)
[14] /lib/x86_64-linux-gnu/libnvidia-glcore.so.418.226.00(+0x11701db) [0x7f0f765701db] (??:0)
[15] /lib/x86_64-linux-gnu/libnvidia-glcore.so.418.226.00(+0x11984e3) [0x7f0f765984e3] (??:0)
[16] /lib/x86_64-linux-gnu/libnvidia-glcore.so.418.226.00(+0x11988e7) [0x7f0f765988e7] (??:0)
[17] /lib/x86_64-linux-gnu/libnvidia-glcore.so.418.226.00(+0x119a490) [0x7f0f7659a490] (??:0)
[18] ./Godot_v4.0-alpha8_linux.64() [0x198ca3c] (??:0)
[19] ./Godot_v4.0-alpha8_linux.64() [0x3c37b7e] (??:0)
[20] ./Godot_v4.0-alpha8_linux.64() [0x380f83b] (??:0)
[21] ./Godot_v4.0-alpha8_linux.64() [0x38167cc] (??:0)
[22] ./Godot_v4.0-alpha8_linux.64() [0xd86277] (??:0)
[23] ./Godot_v4.0-alpha8_linux.64() [0x3750b41] (??:0)
[24] ./Godot_v4.0-alpha8_linux.64() [0xd6820a] (??:0)
[25] /lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x7f0f8233dd90] (??:0)
[26] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80) [0x7f0f8233de40] (??:0)
[27] ./Godot_v4.0-alpha8_linux.64() [0xd7d07e] (??:0)
-- END OF BACKTRACE --
================================================================
Aborted (core dumped)

Steps to reproduce

Run godot alpha 8 on a similar old GPU on Linux.

Minimal reproduction project

No response

@michael-nischt
Copy link
Author

If Godot 4 requires Vulkan 1.2 it's that since vkconfig logs 1.1.95 as version for the nVidia GPU.

 Physical Devices:
    - GeForce GTX 765M (Discrete GPU) with Vulkan 1.1.95
    - Intel(R) HD Graphics 4600 (HSW GT2) (Integrated GPU) with Vulkan 1.3.204
    - llvmpipe (LLVM 13.0.1, 256 bits) (CPU) with Vulkan 1.2.204

@Calinou
Copy link
Member

Calinou commented May 20, 2022

Godot's Vulkan renderer requires Vulkan 1.0 support (with optional usage of Vulkan 1.1 and 1.2 features). Unlike desktop GPUs, NVIDIA mobile Kepler GPUs do not have official Vulkan support. This is because mobile Kepler GPUs went end-of-life before the desktop GPUs did.
From a technical point of view, mobile Kepler GPUs could have modern Vulkan support, but NVIDIA chose not to support it.

Intel Haswell IGPs only have partial Vulkan support, with essential features required by real world applications missing. There's a message warning about this on startup whenever a Vulkan application is started on such an IGP.

Therefore, I'd close this as a duplicate of #57622.

@akien-mga
Copy link
Member

Unlike desktop GPUs, NVIDIA mobile Kepler GPUs do not have official Vulkan support. This is because mobile Kepler GPUs went end-of-life before the desktop GPUs did.

It does seem to have some drivers at least since it reports support for Vulkan 1.1.95 and it has a Vulkan library: libnvidia-glvkspirv.so.418.226.00.

Therefore, I'd close this as a duplicate of #57622.

I don't think it's the same, because here the drivers do claim to support Vulkan and Godot is crashing trying to use this claimed support. It's the not the same as #57622 which happens when there is no confusion about not having support.

So this requires better validation of the driver capabilities before trying to use them, or an exclusion list for specific models if that can't be done. (But Vulkan provides a lot more options to get info on hardware/drivers so there might be a way to properly detect if the GPU/drivers are compatible with what we need.)

@Zireael07
Copy link
Contributor

More proof that we need a GPU whitelist/blacklist which has been proposed before (back before Vulkan)

@michael-nischt
Copy link
Author

michael-nischt commented May 20, 2022

FYI, I can confirm that Vulkan 1.1 works on the notebook.

I can run vkcube (which also picks the nVidia driver over the intel one with partial support) and my handwritten rendering app built only on top of Vulkan and SDL2 works fine as well up to Vulkan 1.1.

What is strange that Godot seems to assume it's Vulkan 1.2 capable?

That said, the legacy driver has some bugs. Might be reasons enough to put the GPU on a some kind of 'deny list'.

@michael-nischt
Copy link
Author

After I read the Godot 4 beta 8 release notes I noticed:

Rendering: Vulkan: Fix incorrect handling of various Vulkan version numbers (GH-69322)

And tried again. Now all works. Thx for the fix!

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

No branches or pull requests

4 participants