Closed godofgrunts closed 4 years ago
I guess I should mention that I compiled with the AUR package godot-git
Can you please compile with debug symbols so that we can get a readable backtrace? (If you compile with target "debug" instead of "release" all those question marks turn into references to specific lines in the code)
Also note: the fact that amdvlk64
is included in the trace means that the crash is likely coming from your graphics drivers. Im guessing you are using outdated AMD vulkan drivers instead of Mesa drivers. In general Mesa drivers work waaaaaay better on linux than the AMD ones do. You can try updating your AMD drivers and see if it works, but you'll likely need to install the Mesa drivers.
I'm recompiling now and also have installed vulkan-radeon
. Can I specify which driver I want to use Godot with?
@godofgrunts I don't know. Sorry. You should ask around the Endeavour community channels for questions about drivers. My guess is that you'll have to remove the AMD drivers and use the Mesa drivers instead.
@clayjohn I think there was a misunderstanding. I know I can install different vulkan drivers, but specifically I was asking if there is a way to tell Godot which driver to initialize.
Something like godot --vulkan-driver=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json
@godofgrunts Oh. Then no. Godot can't select a graphics driver. That is handled by the OS.
Edit: I was wrong. See comment below. :)
@godofgrunts You can force specific driver by setting VK_ICD_FILENAMES
environment variable:
VK_ICD_FILENAMES=path_to_icd.json godot
Also, if it's conflicting drivers for the same hardware, you might need to set kernel boot flags or modprobe.d
config, see: https://wiki.archlinux.org/index.php/AMDGPU (should be the same for any distro).
Thank you @bruvzg. Just to be safe, I uninstalled amdvlk
and installed radeon-vulkan
I accidentally compiled Godot with release_debug
so give me a few minutes to recompile again, but I ran the binary with the radv driver and it got further.
This time the I got a grey box with the following messages in the terminal:
godot --verbose
Godot Engine v4.0.dev.custom_build.948d95897 - https://godotengine.org
XInput: Refreshing devices.
XInput: No touch devices found.
Driver: Vulkan [0]
VK_KHR_incremental_present extension enabled
VK_GOOGLE_display_timing extension NOT AVAILABLE
Vulkan physical device creation success o_O
uniform total: 0
uniform total: 0
uniform total: 0
ERROR: Method definition provides more arguments than the method actually has 'VisualServer::environment_set_ssao'.
at: bind_methodfi (core/class_db.cpp:1264)
compilation success
PulseAudio: detected 2 channels
PulseAudio: audio buffer frames: 512 calculated latency: 11ms
CORE API HASH: 3310914768504916456
EDITOR API HASH: 14713410137106571556
Loading resource: res://.config/godot/editor_settings-4.tres
EditorSettings: Load OK!
EditorSettings: Save OK!
Loaded builtin certs
EditorSettings: Save OK!
ERROR: 3 shaders of type SceneHighEndShaderRD were never freed
at: ~ShaderRD (servers/visual/rasterizer_rd/shader_rd.cpp:490)
pure virtual method called
terminate called without an active exception
Aborted (core dumped)
you can force specific driver by setting VK_ICD_FILENAMES environment variable
or in the vkconfig from vulkan SDK
FYI on the current master I've got either similar (nothing saying) crashes or the output is flooded with Godot trying endlessly to allocate a ~4GB buffer:
EDIT: with the latest mesa driver, target=release_debug use_llvm=yes use_lld=yes no_editor_splash=yes
touch project.godot && godot -e -v
WARNING: radv is not a conformant vulkan implementation, testing use only.
VK_KHR_incremental_present extension enabled
VK_GOOGLE_display_timing extension NOT AVAILABLE
Vulkan physical device creation success o_O
uniform total: 0
uniform total: 0
uniform total: 0
ERROR: Method definition provides more arguments than the method actually has 'VisualServer::environment_set_ssao'.
at: bind_methodfi (core/class_db.cpp:1264)
compilation success
amdgpu: Failed to allocate a buffer:
amdgpu: size : 3959455728 bytes
amdgpu: alignment : 4096 bytes
amdgpu: domains : 2
amdgpu: Failed to allocate a buffer:
amdgpu: size : 3959455728 bytes
amdgpu: alignment : 4096 bytes
amdgpu: domains : 2
amdgpu: Failed to allocate a buffer:
…
or
Godot Engine v4.0.dev.custom_build.61bbefed7 - https://godotengine.org
XInput: Refreshing devices.
XInput: No touch devices found.
Driver: Vulkan [0]
WARNING: radv is not a conformant vulkan implementation, testing use only.
VK_KHR_incremental_present extension enabled
VK_GOOGLE_display_timing extension NOT AVAILABLE
Vulkan physical device creation success o_O
uniform total: 0
uniform total: 0
uniform total: 0
ERROR: Method definition provides more arguments than the method actually has 'VisualServer::environment_set_ssao'.
at: bind_methodfi (core/class_db.cpp:1264)
compilation success
PulseAudio: detected 2 channels
PulseAudio: audio buffer frames: 512 calculated latency: 11ms
CORE API HASH: 3310914768504916456
EDITOR API HASH: 14713410137106571556
Construct gdnative interface
Destruct gdnative interface
uniform total: 0
Loading resource: editor_data/editor_settings-4.tres
EditorSettings: Load OK!
uniform total: 36
ERROR: In Object of type 'EditorNetworkProfiler': Attempt to connect nonexistent signal 'break_request' to method 'ScriptEditorDebugger._profiler_seeked'.
at: connect (core/object.cpp:1452)
Loaded builtin certs
EditorSettings: Save OK!
uniform total: 124
uniform total: 124
uniform total: 124
uniform total: 124
uniform total: 124
uniform total: 124
uniform total: 124
uniform total: 124
uniform total: 124
uniform total: 124
uniform total: 124
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] /lib/x86_64-linux-gnu/libc.so.6(+0x3ef20) [0x7f72bc2d0f20] (??:0)
[2] /lib/x86_64-linux-gnu/libc.so.6(+0xbb6d3) [0x7f72bc34d6d3] (??:0)
[3] /usr/lib/x86_64-linux-gnu/libvulkan_radeon.so(+0x8b835) [0x7f72b385a835] (??:0)
[4] /usr/lib/x86_64-linux-gnu/libvulkan_radeon.so(+0x8be05) [0x7f72b385ae05] (??:0)
[5] /usr/lib/x86_64-linux-gnu/libvulkan_radeon.so(+0x8ed7c) [0x7f72b385dd7c] (??:0)
[6] /usr/lib/x86_64-linux-gnu/libvulkan_radeon.so(+0x90c9a) [0x7f72b385fc9a] (??:0)
[7] godot() [0x4a90e5b] (servers/visual/rasterizer_rd/rasterizer_effects_rd.cpp:365)
[8] godot() [0x4aaa910] (servers/visual/rasterizer_rd/rasterizer_scene_rd.cpp:2603)
[9] godot() [0x4aab96a] (servers/visual/rasterizer_rd/rasterizer_scene_rd.cpp:2736)
[10] godot() [0x4a2ae7a] (servers/visual/visual_server_scene.cpp:2247)
[11] godot() [0x4a20e81] (servers/visual/visual_server_scene.cpp:?)
[12] godot() [0x4a3809f] (servers/visual/visual_server_viewport.cpp:79)
[13] godot() [0x4a38447] (servers/visual/visual_server_viewport.cpp:122)
[14] godot() [0x4a3956d] (servers/visual/visual_server_viewport.cpp:384)
[15] godot() [0x4a0260d] (servers/visual/visual_server_raster.cpp:114)
[16] godot() [0x223a8c6] (main/main.cpp:2080)
[17] godot() [0x220a872] (platform/x11/os_x11.cpp:3324)
[18] godot(main+0x8b) [0x21fd17b] (platform/x11/godot_x11.cpp:57)
[19] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x7f72bc2b3b97] (??:0)
[20] godot() [0x21fd02a] (??:0)
-- END OF BACKTRACE --
Aborted
VkPhysicalDeviceDriverPropertiesKHR:
------------------------------------
driverID = DRIVER_ID_MESA_RADV
driverName = radv
driverInfo = Mesa 19.3.3 - kisak-mesa PPA (LLVM 9.0.1)
conformanceVersion = 1.1.2.0
May be due to old hardware, but the typical vulkan demos like vkcube run flawlessly here…
Okay so this is weird. With the target being debug
I can actually get the start up screen.
Errors look similar:
[godofgrunts@itx-dev bin]$ file godot.x11.tools.64.llvm
godot.x11.tools.64.llvm: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, with debug_info, not stripped
[godofgrunts@itx-dev bin]$ ./godot.x11.tools.64.llvm --verbose
Godot Engine v4.0.dev.custom_build.948d95897 - https://godotengine.org
XInput: Refreshing devices.
XInput: No touch devices found.
Driver: Vulkan [0]
VK_KHR_incremental_present extension enabled
VK_GOOGLE_display_timing extension NOT AVAILABLE
Vulkan physical device creation success o_O
uniform total: 0
uniform total: 0
uniform total: 0
ERROR: Method definition provides more arguments than the method actually has 'VisualServer::environment_set_ssao'.
at: bind_methodfi (core/class_db.cpp:1264)
compilation success
PulseAudio: detected 2 channels
PulseAudio: audio buffer frames: 512 calculated latency: 11ms
CORE API HASH: 3310914768504916456
EDITOR API HASH: 14713410137106571556
Loading resource: /home/godofgrunts/.config/godot/editor_settings-4.tres
EditorSettings: Load OK!
EditorSettings: Save OK!
Loaded builtin certs
EditorSettings: Save OK!
ERROR: 3 shaders of type SceneHighEndShaderRD were never freed
at: ~ShaderRD (servers/visual/rasterizer_rd/shader_rd.cpp:490)
pure virtual method called
terminate called without an active exception
Aborted (core dumped)
I'm going to bed though, won't be able to respond for roughly 19 hours or so.
btw, a similar thing
Windows 10 v1909 (18363.657) x64 NVidia GT720 2GB, Driver 442.19 (3.Feb.2020)
Godot Engine v4.0.dev.custom_build.948d95897 - https://godotengine.org
ERROR: WARNING : GENERAL - Message Id Number: 0 | Message Id Name: Loader Message
ReadDataFilesInRegistry: Registry lookup failed to get layer manifest files.
Objects - 1
Object[0] - VK_OBJECT_TYPE_INSTANCE, Handle 00000218821C9720
at: VulkanContext::_debug_messenger_callback (drivers\vulkan\vulkan_context.cpp:125)
VK_KHR_incremental_present extension NOT AVAILABLE
VK_GOOGLE_display_timing extension NOT AVAILABLE
Vulkan physical device creation success o_O
uniform total: 0
uniform total: 0
uniform total: 0
ERROR: Method definition provides more arguments than the method actually has 'VisualServer::environment_set_ssao'.
at: (core\class_db.cpp:1264)
compilation success
Okay so this is weird. With the target being debug I can actually get the start up screen.
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:
godot-dbg -e -v
Godot Engine v4.0.dev.custom_build.957d097fd - https://godotengine.org
XInput: Refreshing devices.
XInput: No touch devices found.
Driver: Vulkan [0]
WARNING: radv is not a conformant vulkan implementation, testing use only.
VK_KHR_incremental_present extension enabled
VK_GOOGLE_display_timing extension NOT AVAILABLE
Vulkan physical device creation success o_O
uniform total: 0
uniform total: 0
uniform total: 0
ERROR: Method definition provides more arguments than the method actually has 'VisualServer::environment_set_ssao'.
at: bind_methodfi (core/class_db.cpp:1264)
ERROR: Method/Function Failed.
at: bind_integer_constant (core/class_db.cpp:700)
ERROR: Method/Function Failed.
at: bind_integer_constant (core/class_db.cpp:700)
ERROR: Method/Function Failed.
at: bind_integer_constant (core/class_db.cpp:700)
compilation success
PulseAudio: detected 2 channels
PulseAudio: audio buffer frames: 512 calculated latency: 11ms
CORE API HASH: 3963098128681627916
EDITOR API HASH: 14713410137106571556
Construct gdnative interface
Destruct gdnative interface
uniform total: 0
Loading resource: editor_data/editor_settings-4.tres
EditorSettings: Load OK!
uniform total: 36
ERROR: In Object of type 'EditorNetworkProfiler': Attempt to connect nonexistent signal 'break_request' to method 'ScriptEditorDebugger._profiler_seeked'.
at: connect (core/object.cpp:1452)
Loaded builtin certs
EditorSettings: Save OK!
uniform total: 124
uniform total: 124
uniform total: 124
uniform total: 124
uniform total: 124
uniform total: 124
uniform total: 124
uniform total: 124
uniform total: 124
uniform total: 124
uniform total: 124
early out of data
EditorSettings: Save OK!
EditorSettings: Save OK!
out of date
uniform total: 124
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
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.
I haven't had a ton of free time to go back to this, but I did try to build it on my Intel system as well, and as @supagu mentioned, it works fine there.
I'm having a similar problem, although I pulled the master branch 4 days ago and it used to work fine.
vulkan-radeon 19.3.4-2
driverThe output is the following:
Godot Engine v4.0.dev.custom_build.e7a5403c4 - https://godotengine.org
ERROR: ERROR : GENERAL - Message Id Number: 0 | Message Id Name: Loader Message
/usr/lib32/libvulkan_radeon.so: wrong ELF class: ELFCLASS32
Objects - 1
Object[0] - VK_OBJECT_TYPE_INSTANCE, Handle 117179024
at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:136)
VK_KHR_incremental_present extension enabled
VK_GOOGLE_display_timing extension NOT AVAILABLE
Vulkan physical device creation success o_O
uniform total: 0
uniform total: 0
uniform total: 0
compilation success
uniform total: 0
uniform total: 36
ERROR: In Object of type 'EditorNetworkProfiler': Attempt to connect nonexistent signal 'break_request' to method 'ScriptEditorDebugger._profiler_seeked'.
at: connect (core/object.cpp:1452)
uniform total: 124
uniform total: 124
uniform total: 124
uniform total: 124
uniform total: 124
uniform total: 124
uniform total: 124
uniform total: 124
uniform total: 124
uniform total: 124
uniform total: 124
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) [0x7f405d766d70] (??:0)
[2] typeinfo for ScriptLanguage (??:0)
-- END OF BACKTRACE --
@Dodoveloper This is unrelated to AMD graphics and Vulkan, it's #36246.
@akien-mga still have same issue after pull request
I'm facing the same problem when I compile master in release. I'm using a AMD Ryzen 5 2400G with (integrated) Radeon Vega Graphics. I've tried to run the binary with gdb. I don't know if it will be helpful but I'm adding the output just in case:
GNU gdb (GDB) Fedora 8.3.50.20190824-30.fc31
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
I had to manually stop the debugging because it was lagging a lot so I couldn't reach the crash. I was affecting other programs in my system (weird rendering artifacts) so it may be a driver bug.
I'm getting a grey screen too.
system: voidlinux gpu: Radeon Vega 56 with AMDGPU and mesa-vulkan-radeon drivers
Seems to be working with current master (both debug and release targets)
System: Void LInux GPU: Vega 56 Driver: mesa
Updated main thread. release_debug
still not working for me.
I have the same issue on arch linux, Radeon RX 580, using the vulkan radeon drivers. A few days ago the editor just crashed. Now I get a black window when building target=release_debug
Building with target=debug
it looks like everything is working.
Same error here on Xubuntu 20.04 with a Radeon RX580 using the nightly builds from here.
@Hoimar Note that the builds on that page are currently outdated; it'll take a while until they're updated again. (The master
branch is currently unstable.)
Okay, I see. Just built Godot master locally with standard options and it kind of works now, will need to examine it further tomorrow. Thanks! Am 10.05.2020 7:44 nachm. schrieb Hugo Locurcio notifications@github.com: @Hoimar Note that builds on this page are currently outdated; it'll take a while until are updated again. (The master branch is currently unstable.)
—You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or unsubscribe.
This was likely fixed by #43066. Can anyone affected confirm that it no longer crashes in the latest master
branch?
I just tried it on an up to date arch installation with a Radeon RX 580. Startup worked and AFAIK everything looks ok.
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.
I'm having issue when opening godot 4!
Godot version: Godot Engine v4.0.dev.custom_build.d7f171874
Sytem Specs: AMD Rx 200 series Manjaro Arch/Linux
Message:
ERROR: GENERAL - Message Id Number: 0 | Message Id Name: Loader Message
loader_scanned_icd_add: Could not get 'vkCreateInstance' via 'vk_icdGetInstanceProcAddr' for ICD libGLX_nvidia.so.0
Objects - 1
Object[0] - VK_OBJECT_TYPE_INSTANCE, Handle 128395216
at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:157)
WARNING: GENERAL - Message Id Number: 0 | Message Id Name: Loader Message
terminator_CreateInstance: Failed to CreateInstance in ICD 1. Skipping ICD.
Objects - 1
Object[0] - VK_OBJECT_TYPE_INSTANCE, Handle 128395216
at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:154)
ERROR: Condition "err" is true. Returning: ERR_CANT_CREATE
at: _create_physical_device (drivers/vulkan/vulkan_context.cpp:684)
ERROR: Could not initialize Vulkan
at: DisplayServerX11 (platform/linuxbsd/display_server_x11.cpp:4010)
ERROR: Sub-windows not supported by this display server.
at: create_sub_window (servers/display_server.cpp:189)
ERROR: Condition "window_id == DisplayServer::INVALID_WINDOW_ID" is true.
at: _make_window (scene/main/window.cpp:231)
When I tested on windows, worked flawlessly! Also Blender and Godot3.X works fine!
Downloaded:
Error popup:
@nonunknown Make sure Godot is trying to run on the dedicated GPU instead of the Intel IGP. Also, if you just upgraded your graphics driver, you need to reboot for it to be usable again.
@nonunknown Check if you are using the amdgpu
kernel module instead of radeonsi
(which is usually selected by default and is not good for Vulkan on R5/R7/R9). Most likely it's necessary to modify modprobe.d
or kernel boot flags to force correct driver, see https://wiki.archlinux.org/title/AMDGPU#Enable_Southern_Islands_(SI)_and_Sea_Islands_(CIK)_support for examples.
@Calinou @bruvzg
I was able to run by downloading the following libs, not sure which one made it works, but I think it was vulkan headers:
also @bruvzg I did the conf thing you mentioned just to make sure, godot 4 now runs at 400FPS! thanks
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/LinuxIssue description: After compiling master, Godot crashes when starting with the following:
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
amdvlk
version 2020.Q1.1-1 on Arch) on my RX 580, Godot immediately crashes when built withrelease_debug
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)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.Commit 321ce4d4c
No grey screen on
release_debug
, Godot, just crashes.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.
With
debug
it opens and seems to be working correctly.