godot: Vulkan: Godot crashes on startup with AMD graphics driver on Linux
Godot version: Godot Engine v4.0.dev.custom_build.948d95897
OS/device including version:
Endeavour OS (based on Arch Linux) Radeon RX 580
uname -a
Linux itx-dev 5.5.2-arch2-2 #1 SMP PREEMPT Wed, 05 Feb 2020 22:01:13 +0000 x86_64 GNU/Linux
Issue description: After compiling master, Godot crashes when starting with the following:
$ godot
Godot Engine v4.0.dev.custom_build.948d95897 - https://godotengine.org
VK_KHR_incremental_present extension NOT AVAILABLE
VK_GOOGLE_display_timing extension NOT AVAILABLE
Vulkan physical device creation success o_O
handle_crash: Program crashed with signal 11
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[1] /usr/lib/libc.so.6(+0x3bd70) [0x7fca79006d70] (??:0)
[2] /usr/lib/amdvlk64.so(+0x721987) [0x7fca716b4987] (??:0)
[3] /usr/lib/amdvlk64.so(+0x724116) [0x7fca716b7116] (??:0)
[4] /usr/lib/amdvlk64.so(+0x1f734c6) [0x7fca72f064c6] (??:0)
[5] /usr/lib/amdvlk64.so(+0x6d12df) [0x7fca716642df] (??:0)
[6] /usr/lib/amdvlk64.so(+0x582d1e) [0x7fca71515d1e] (??:0)
[7] /usr/lib/amdvlk64.so(+0x583e43) [0x7fca71516e43] (??:0)
[8] /usr/lib/amdvlk64.so(+0x583fcc) [0x7fca71516fcc] (??:0)
[9] /usr/lib/amdvlk64.so(+0x503d1b) [0x7fca71496d1b] (??:0)
[10] /usr/lib/amdvlk64.so(+0x57d36a) [0x7fca7151036a] (??:0)
[11] /usr/lib/amdvlk64.so(+0x562aa5) [0x7fca714f5aa5] (??:0)
[12] /usr/lib/amdvlk64.so(+0x54f409) [0x7fca714e2409] (??:0)
[13] godot() [0xfde6d4] (??:?)
[14] godot() [0x2c36715] (??:?)
[15] godot() [0x2b5f902] (??:?)
[16] godot() [0x2b0f287] (??:?)
[17] godot() [0x45c5bd] (??:?)
[18] godot() [0x2ac20a0] (??:?)
[19] godot() [0x44c9d4] (??:?)
[20] godot() [0x47d485] (??:?)
[21] godot() [0x47919b] (??:?)
[22] godot(main+0x7a) [0x44b00a] (??:?)
[23] /usr/lib/libc.so.6(__libc_start_main+0xf3) [0x7fca78ff2023] (??:0)
[24] godot() [0x44aece] (??:0)
-- END OF BACKTRACE --
Aborted (core dumped)
sha256sum 5f4b259ffeea46fbad717a7a7b5cdf2330755d42aa31aba8f0b797b663b01307 /usr/bin/godot
Steps to reproduce: Compile commit 948d95897 and try to open Godot
Minimal reproduction project: N/A
Summary. I will update this as I go.
Commit 948d95897
- Using AMDVLK (
amdvlk
version 2020.Q1.1-1 on Arch) on my RX 580, Godot immediately crashes when built withrelease_debug
- Using RADV (
vulkan-radeon
version 19.3.3-1 on Arch) Godot will start to open to a grey screen onrelease_debug
(see https://github.com/godotengine/godot/issues/36126#issuecomment-585028697) - Using RADV (
vulkan-radeon
version 19.3.3-1 on Arch) on thedebug
build, opens normally, though I didn’t have time to try out any demos or projects to test stability beyond that (see https://github.com/godotengine/godot/issues/36126#issuecomment-585033908)
Commit 951ecc4f7
With release_debug
. Windows begins to pop up, but crashes.
Godot Engine v4.0.dev.custom_build.951ecc4f7 - https://godotengine.org
ERROR: Cant find layer: VK_LAYER_LUNARG_standard_validation
at: _check_layers (drivers/vulkan/vulkan_context.cpp:158)
ERROR: Cant find layer: VK_LAYER_GOOGLE_threading
at: _check_layers (drivers/vulkan/vulkan_context.cpp:158)
handle_crash: Program crashed with signal 11
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[1] /usr/lib/libc.so.6(+0x3bd70) [0x7f774cf6dd70] (??:0)
[2] /usr/lib/libc.so.6(+0x164408) [0x7f774d096408] (??:0)
[3] /usr/lib/libvulkan_radeon.so(+0x8df8a) [0x7f77479ccf8a] (??:0)
[4] /usr/lib/libvulkan_radeon.so(+0x8e575) [0x7f77479cd575] (??:0)
[5] /usr/lib/libvulkan_radeon.so(+0x91551) [0x7f77479d0551] (??:0)
[6] /usr/lib/libvulkan_radeon.so(+0x9342e) [0x7f77479d242e] (??:0)
[7] godot() [0x1017317] (??:?)
[8] godot() [0x2c02de2] (??:?)
[9] godot() [0x2c03cc7] (??:?)
[10] godot() [0x2c044ff] (??:?)
[11] godot() [0x2bebbfe] (??:?)
[12] godot() [0x2becb03] (??:?)
[13] godot() [0x2ab7c2a] (??:?)
[14] godot() [0x2ab8402] (??:?)
[15] godot() [0x2a9425b] (??:?)
[16] godot() [0x48877e] (??:?)
[17] godot() [0x45a012] (??:?)
[18] godot(main+0x9c) [0x44c04c] (??:?)
[19] /usr/lib/libc.so.6(__libc_start_main+0xf3) [0x7f774cf59023] (??:0)
[20] godot() [0x44beee] (??:0)
-- END OF BACKTRACE --
Aborted (core dumped)
Commit 321ce4d4c
No grey screen on release_debug
, Godot, just crashes.
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json godot --verbose
Godot Engine v4.0.dev.custom_build.321ce4d4c - https://godotengine.org
XInput: Refreshing devices.
XInput: No touch devices found.
ERROR: Cant find layer: VK_LAYER_LUNARG_standard_validation
at: _check_layers (drivers/vulkan/vulkan_context.cpp:158)
ERROR: Cant find layer: VK_LAYER_GOOGLE_threading
at: _check_layers (drivers/vulkan/vulkan_context.cpp:158)
DisplayServer::_create_window 0 want rect: 0, 0, 1024, 600 got rect 2, 28, 1024, 600
DisplayServer::_window_changed: 0 rect: 3454, 478, 1024, 600
PulseAudio: detected 2 channels
PulseAudio: audio buffer frames: 512 calculated latency: 11ms
CORE API HASH: 17376873167113290496
EDITOR API HASH: 11001134350166415682
EditorSettings: Load OK!
EditorSettings: Save OK!
WARNING: Console window not supported by this display server.
at: console_set_visible (servers/display_server.cpp:199)
Loaded builtin certs
handle_crash: Program crashed with signal 11
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[1] /usr/lib/libc.so.6(+0x3bd70) [0x7ff72d958d70] (??:0)
[2] /usr/lib/libc.so.6(+0x164408) [0x7ff72da81408] (??:0)
[3] /usr/lib/libvulkan_radeon.so(+0xa4eba) [0x7ff72c3d7eba] (??:0)
[4] /usr/lib/libvulkan_radeon.so(+0xa54b1) [0x7ff72c3d84b1] (??:0)
[5] /usr/lib/libvulkan_radeon.so(+0xa8445) [0x7ff72c3db445] (??:0)
[6] /usr/lib/libvulkan_radeon.so(+0xaa33e) [0x7ff72c3dd33e] (??:0)
[7] godot() [0x108b8b7] (??:?)
[8] godot() [0x2cde882] (??:?)
[9] godot() [0x2cdf767] (??:?)
[10] godot() [0x2cdff9f] (??:?)
[11] godot() [0x2cc75be] (??:?)
[12] godot() [0x2cc84c3] (??:?)
[13] godot() [0x2b4970a] (??:?)
[14] godot() [0x2b49ffe] (??:?)
[15] godot() [0x2b25c2b] (??:?)
[16] godot() [0x482b70] (??:?)
[17] godot() [0x44de06] (??:?)
[18] godot(main+0x9c) [0x44bfac] (??:?)
[19] /usr/lib/libc.so.6(__libc_start_main+0xf3) [0x7ff72d944023] (??:0)
[20] godot() [0x44be4e] (??:0)
-- END OF BACKTRACE --
Aborted (core dumped)
With debug
Godot seems to run fine. Ran a very basic project and it seemed to work without any issues.
Commit e253451a5
With debug_release I get a black window.
godot --verbose
Godot Engine v4.0.dev.custom_build.e253451a5 - https://godotengine.org
XInput: Refreshing devices.
XInput: No touch devices found.
ERROR: Cant find layer: VK_LAYER_KHRONOS_validation
at: _check_layers (drivers/vulkan/vulkan_context.cpp:158)
ERROR: Cant find layer: VK_LAYER_LUNARG_standard_validation
at: _check_layers (drivers/vulkan/vulkan_context.cpp:158)
ERROR: Cant find layer: VK_LAYER_GOOGLE_threading
at: _check_layers (drivers/vulkan/vulkan_context.cpp:158)
DisplayServer::_create_window 0 want rect: 768, 240, 1024, 600 got rect 2, 28, 1024, 600
DisplayServer::_window_changed: 0 rect: 894, 28, 1024, 600
PulseAudio: detected 2 channels
PulseAudio: audio buffer frames: 512 calculated latency: 11ms
CORE API HASH: 507351551903537738
EDITOR API HASH: 5225612577771749335
EditorSettings: Load OK!
EditorSettings: Save OK!
WARNING: Console window not supported by this display server.
at: console_set_visible (servers/display_server.cpp:199)
Loaded builtin certs
EditorSettings: Save OK!
ERROR: Some texture bindings were not properly freed (leaked canvasitems?
at: ~RasterizerCanvasRD (servers/rendering/rasterizer_rd/rasterizer_canvas_rd.cpp:2564)
With debug
it opens and seems to be working correctly.
./godot.linuxbsd.tools.64 --verbose
Godot Engine v4.0.dev.custom_build.e253451a5 - https://godotengine.org
XInput: Refreshing devices.
XInput: No touch devices found.
ERROR: Cant find layer: VK_LAYER_KHRONOS_validation
at: _check_layers (drivers/vulkan/vulkan_context.cpp:158)
ERROR: Cant find layer: VK_LAYER_LUNARG_standard_validation
at: _check_layers (drivers/vulkan/vulkan_context.cpp:158)
ERROR: Cant find layer: VK_LAYER_GOOGLE_threading
at: _check_layers (drivers/vulkan/vulkan_context.cpp:158)
DisplayServer::_create_window 0 want rect: 768, 240, 1024, 600 got rect 2, 28, 1024, 600
PulseAudio: detected 2 channels
PulseAudio: audio buffer frames: 512 calculated latency: 11ms
CORE API HASH: 507351551903537738
EDITOR API HASH: 5225612577771749335
EditorSettings: Load OK!
EditorSettings: Save OK!
WARNING: Console window not supported by this display server.
at: console_set_visible (servers/display_server.cpp:199)
Loaded builtin certs
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Reactions: 4
- Comments: 34 (22 by maintainers)
Nice! I’ll close this as I’m fairly sure most reports here were about that same issue triggered by optimizations (namely #40601). If anyone still reproduces some AMD-related crash with the latest
master
branch, please open a dedicated issue.@akien-mga still have same issue after pull request
@Dodoveloper This is unrelated to AMD graphics and Vulkan, it’s #36246.
I can confirm I also cant get Vulkan working in release with my AMD on arch/manjaro where on my intel GPU it works.
debug builds are fine however.
@godofgrunts You can force specific driver by setting
VK_ICD_FILENAMES
environment variable:VK_ICD_FILENAMES=path_to_icd.json godot
I just tried it on an up to date arch installation with a Radeon RX 580. Startup worked and AFAIK everything looks ok.
Looks like only the release and the release_debug targets are broken. I’ve recompiled the current master with the debug target and it (sort of) works now:
Crash, at least with excuse, after sliding over an value in the Inspector (this is another issue that has probably already been reported)
… EditorSettings: Save OK! out of date uniform total: 124 [xcb] Unknown sequence number while processing queue [xcb] Most likely this is a multi-threaded client and XInitThreads has not been called [xcb] Aborting, sorry about that. godot-dbg: …/…/src/xcb_io.c:259: poll_for_event: Assertion `!xcb_xlib_threads_sequence_lost’ failed. Aborted