godot: Godot 4: gpu/os crash on startup with Vulkan (Linux, Radeon, regression in alpha 13)

Godot version

4.0 alpha 15 (same problem on older alphas)

System information

Nobara linux 36 KDE (Fedora 36)

Issue description

Hello,

In short, my issue is that my display freezes and input stops (keyboard, mouse, etc) but sound is still working, whenever I startup Godot 4 alpha 15 | x86_64 (and 32) (same problem on older alphas) and my only option is hard reboot. Crash happens before Godot’s window is drawn. I’m currently on Nobara 36 KDE (Fedora 36, Wayland) and I’ve also tried with EndeavourOS Atlantis (arch, xOrg) on the same system, the problem persists.

I’ve tried launching godot with --single-window, the problem is still there, but I found that launching Godot with opengl3 instead of Vulkan, works. Well not totally, the UI is broken, unless I launch it with --single-window on top of using opengl3.

I think that Vulkan is the problem here, I can’t log what’s happening since my pc is freezing, but the freeze happens the instant Vulkan is executed by Godot.

And of course, Vulkan is installed and working well in my pc, no errors, I can play games with Vulkan exclusively already, everything is up-to-date in my system and I also recently did a clean os install, just to make sure my system wasn’t the problem. Godot 3.5 and older versions perfectly work, in windows or linux.

For the experiment, I tried launching Godot 4 alpha 15 win 64 with wine, the exact same problem happens. Seems like the AMD Vulkan driver is having issues with Godot’s behavior?

Here’s more info about my system, just in case:

  • Operating System: Nobara Linux 36
  • KDE Plasma Version: 5.25.4
  • KDE Frameworks Version: 5.97.0
  • Qt Version: 5.15.5
  • Kernel Version: 5.19.4-201.fsync.fc36.x86_64 (64-bit)
  • Graphics Platform: Wayland
  • Processors: 8 × AMD FX™-8350 Eight-Core Processor
  • Memory: 7.7 GiB of RAM
  • Graphics Processor: AMD Radeon HD 8800 Series
  • GPU driver: Mesa 22.3.0-devel (LLVM 14.0.5)
  • Vulkan driver: RADV 1.3.224
  • Manufacturer: Gigabyte Technology Co., Ltd.

Steps to reproduce

Launch Godot 4 with the default launch options (Vulkan) in Linux, GPU AMD Radeon HD 8800 series.

Minimal reproduction project

No response

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 46 (15 by maintainers)

Most upvoted comments

There have been lots of changes to rendering and Vulkan implementation between alpha 12 and 13 (full list below).

If you have time and can compile Godot, you could attempt bisecting the regression between 4.0 alpha 12 (“good” commit, 2c11e6d) and alpha 13 (“bad” commit, 8281136).

Hello again,

Bisecting was done, and here’s the result:

Bisecting: 0 revisions left to test after this (roughly 0 steps) [d139131aab7f228d5cca612b35289e6abd18e26a] Adding Variable Rate Shading support to Godot Improve GI renderer and add VRS support Implement render device has_feature and move subgroup settings to limit_get

Please bear in mind that I have no experience with git and this was my very first time bisecting, I might have done some things wrong, I’d take it with a pinch of salt, but this was the result I got. I hope it helps!

I found out I can run godot with --rendering-driver opengl3 and I can create and edit projects, and the gpu crash will happen once you run a scene, I can get godot crash logs but it’s the same information as always.

./Godot_v4.0-beta1_linux.x86_64 --rendering-driver opengl3 --gpu-validation -v &> logg.txt 2>&1

logg.txt godot.log

Hello,

I just wanted to notify you that in about two weeks, I’ll have an entire new pc rig, so I wouldn’t be able to help from that point and on on this specific issue, since I wouldn’t be using the current rig anymore. So please, if you still need me, make sure to contact me before that.

TextServer: Added interface "Dummy"
TextServer: Added interface "ICU / HarfBuzz / Graphite (Built-in)"
Godot Engine v4.0.alpha.custom_build.f6b36f54e - https://godotengine.org
XInput: Refreshing devices.
XInput: Absolute pointing device: Wacom Intuos S Pen stylus
XInput: Absolute pointing device: Wacom Intuos S Pad pad
XInput: No touch devices found.
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 94856782205808
     at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:168)
WARNING: radv is not a conformant Vulkan implementation, testing use only.
Vulkan devices:
  #0: AMD AMD RADV PITCAIRN - Supported, Discrete
Vulkan API 1.2.0 - Using Vulkan Device #0: AMD - AMD RADV PITCAIRN
- Vulkan Variable Rate Shading supported:
  Pipeline fragment shading rate
  Primitive fragment shading rate
  Attachment fragment shading rate, min texel size: (8, 8), max texel size: (8, 8)
- Vulkan multiview supported:
  max view count: 8
  max instances: 2147483647
- Vulkan subgroup:
  size: 64
  stages: STAGE_VERTEX, STAGE_TESSELLATION_CONTROL, STAGE_TESSELLATION_EVALUATION, STAGE_GEOMETRY, STAGE_FRAGMENT, STAGE_COMPUTE
  supported ops: FEATURE_BASIC, FEATURE_VOTE, FEATURE_ARITHMETIC, FEATURE_BALLOT, FEATURE_SHUFFLE, FEATURE_SHUFFLE_RELATIVE, FEATURE_CLUSTERED, FEATURE_QUAD
  quad operations in all stages
Using present mode: VK_PRESENT_MODE_FIFO_KHR
Using present mode: VK_PRESENT_MODE_FIFO_KHR
Using "default" pen tablet driver...
Creating VMA small objects pool for memory type index 0
Shader 'CanvasSdfShaderRD' SHA256: 0620fe5de299d149343180e3361eb5b82fd14fe9c630b743778c66e989291b8e
Shader 'SkeletonShaderRD' SHA256: 6bd06d66676f405e5c513ba9dddeabc0b0448671fac2ab273bf881c194d97ee1
Shader 'ParticlesShaderRD' SHA256: 1e31b303b0fa067a19a0c081878dc0c6a33cc7f4cee44a925d8f45341485183a
Shader 'ParticlesCopyShaderRD' SHA256: a3c4f92dfdd6927d0ffe6cefb1b484939c944815ffb25e752ce173b96213dae8
Shader 'CanvasShaderRD' SHA256: 9eba16d298df687025524256fdb52053640398461b7fbab7d04d71d245455529
Shader 'CanvasOcclusionShaderRD' SHA256: faff60dff9b0771e787d816a11985fcb255949d3341c9120428f211ee8a7a828
Shader 'ClusterRenderShaderRD' SHA256: a69edab6a1487476799fdf7eb0b6f3add0f4a7e6aed695846cc6583baa738ac9
Shader 'ClusterStoreShaderRD' SHA256: 4be5422b409755f54b3e77101bda3bd97c68fbefe3269c21aff53d08ff7e2d63
Shader 'ClusterDebugShaderRD' SHA256: 76c4516a2f54ddf50aad0c8b212495619a5a5e5b3fef4c401b84cfda56fd58ee
Shader 'SceneForwardClusteredShaderRD' SHA256: 9a0bd7660d21567a8918509ad81718d50fd838d6acc1c1b7f51683b94c985225
Shader 'ResolveShaderRD' SHA256: b8826d345baa6518b5af7c2f32127651f7fb759a5fe45894c3ea35ee6952a302
Shader 'TaaResolveShaderRD' SHA256: 9cb9f14ebf0b2b0fdee126fcff807201e60a64a5b98f934f418f4eb4d6ea1c2b
Shader 'SkyShaderRD' SHA256: a30a8ca612a4de497af8bae52c2d1c35422769ce6c66e8f75f5cc4aecae65721
Shader 'VoxelGiShaderRD' SHA256: d8190790adb3037fff0701ce9a4417a108b92e509951cc4563726e9686e70e94
Shader 'VoxelGiDebugShaderRD' SHA256: 0af14c72f3e81d4f4b34e6148cd2f68a929a6de6fb1ee0314b331dd0b9e3d108
Shader 'SdfgiPreprocessShaderRD' SHA256: 17826ce12f5c076fe3d8875dd78c7e87259b969638ddad906852d47a0954fda2
Shader 'SdfgiDirectLightShaderRD' SHA256: 17012b4f5d7cdef098810f8371130148ace45e1f505e147f0fe780208e90c5ee
Shader 'SdfgiIntegrateShaderRD' SHA256: f5022f25aea104ad76e2ce0637407b15cd7e1dd70e94910786bebfe548837010
Shader 'GiShaderRD' SHA256: a66560b7e20dc5f4df9ddd424fec2defa603ef2fefb4eea162960dd9dc8d93af
Shader 'SdfgiDebugShaderRD' SHA256: be92c404258485bece09fd2885310b0f43b9277677c24a1f9f1f40f429a5e381
Shader 'SdfgiDebugProbesShaderRD' SHA256: f58078829478b32655736328161a9039e6b1ebb43445d54d126833ad4c2e3492
Shader 'VolumetricFogShaderRD' SHA256: 648cd86252a70eb5194db29a1f65b34400adad36e73d114edfe6734dafa439b3
Shader 'VolumetricFogProcessShaderRD' SHA256: 23280280254dc47d4c3d38ed893c4517492c30ed69eac2a167627106a5faaa67
Shader 'BokehDofShaderRD' SHA256: 1869a39aaa50556764caf8b04bd7df9270e665c1f0abab94eb5ee5a3db87abcf
Shader 'CopyShaderRD' SHA256: 45b90a2a0ba4fb21527643da4e5576a0401f1f15693db775d5878f4dd102cd60
Shader 'CopyToFbShaderRD' SHA256: a3129403c64fd47c6c9801362cb19f15140a51e94ff8a65ec4ecd53d23c140e2
Shader 'CubeToDpShaderRD' SHA256: 6a91afa925bebe08282ec1f5eccf7abe197e22a5e03790a57324efc6e7fe7717
Shader 'CubemapDownsamplerShaderRD' SHA256: 89f686e927090c0d798df8a3c3479d41b9e198ff5d48c95cdd1ad6898f454546
Shader 'CubemapFilterShaderRD' SHA256: a1065da0eb0c4d2e7d48e48872a0d245bf76e17e2f5f4c0fcc249758cf25d8f3
Shader 'CubemapRoughnessShaderRD' SHA256: 80369041204fdd40f7aa94891d8f9768c216884ef134cfa78de93df9204daa24
Shader 'SpecularMergeShaderRD' SHA256: c106a251c9a45c3ee8e06c0380287724ea00d92e9b82f84a8f6f9536933dc5c5
Shader 'TonemapShaderRD' SHA256: 3b59a7fdce57a122389251512b73e218af58651cbaf06fbd6209f0370dc0473d
Shader 'VrsShaderRD' SHA256: 5902504f59a18900b59663ee094a5b5c82dcc2c6e58f8e435a905e0c5e210ec1
Shader 'FsrUpscaleShaderRD' SHA256: 2eacc19e650f2285a8dfe18eda187cb08057f220008881835f61c61bf824e470
Shader 'SsEffectsDownsampleShaderRD' SHA256: ffd05634e80d00a7702bb8420040339f0ac5ccd9ee8cfa444c983463e31b11c9
Shader 'SsilShaderRD' SHA256: 90c6d8274d7d1530cbbce194763ae5d97af74da41b7ce536fc1ea7c9c2f1e32a
Shader 'SsilImportanceMapShaderRD' SHA256: 96eb366ba7ef0c48f79689bd7c777a715d950e5ad167e844b6c4540adb673a98
Shader 'SsilBlurShaderRD' SHA256: 29daf880437666c3e12827b09c83e88e1ad3e8cc54236ce069256fb5ce84e63b
Shader 'SsilInterleaveShaderRD' SHA256: 254589e1959157c0dea58d2932747b38eeddcd32b6b7768d58dad6f9a4a06059
Shader 'SsaoShaderRD' SHA256: 68a9cdefc37e695ee7e067d641d06535203b5437f9e3cb6982d76deba84d6b08
Shader 'SsaoImportanceMapShaderRD' SHA256: 2f624c7c3fa20d7433dd9b18872b077b3c3cad86a49555068f8cb44df7caeaa6
Shader 'SsaoBlurShaderRD' SHA256: 1802210bae786e64887338920c6b54d3f1dd1e28de040a876dd49d18554a4d1a
Shader 'SsaoInterleaveShaderRD' SHA256: 69dd5cf1002de1604bab283ed832426330a6ed7c16263d32cdc49b943ada6023
Shader 'ScreenSpaceReflectionScaleShaderRD' SHA256: f88c55a330487abbaae5fee753bf63a5ab2d1e693c14d71204aa616d605a5e9e
Shader 'ScreenSpaceReflectionShaderRD' SHA256: 957e5a90d6b4f014817b513e881861d346fc878365914b505177513987ed2ec9
Shader 'ScreenSpaceReflectionFilterShaderRD' SHA256: 3062efdf35953bb46c1aee1618ff493282afc86b1e52bcba3752681760d0410b
Shader 'SubsurfaceScatteringShaderRD' SHA256: f1806bc00229a716b663ad6212fb8263cb9eb2953a5b2bf1dcea4f2f0aefa8c7
Shader 'LuminanceReduceShaderRD' SHA256: 5ba78ee1b5ef37ddae19b10336a70daaa1da7146260e2ef417483c4405391bba
Shader 'RoughnessLimiterShaderRD' SHA256: 71c28940b35e4a8dc5c52f28e2ed03bb29898fb186f4a17ecced6b12582e60dc
Shader 'SortShaderRD' SHA256: 76459934fee66f816bbd3438322bacfcfb4b822a9641a49ed19909ce8c335abc
Shader 'BlitShaderRD' SHA256: 83469fdd58a6d3e4fe519367d7900f0d1a0e95a0af0d07d2441b3b3431cc3b66
JoypadLinux: udev enabled and loaded successfully.
PulseAudio: context other
PulseAudio: context other
PulseAudio: context other
PulseAudio: context ready
PulseAudio: Detecting channels for device: alsa_output.usb-Focusrite_Scarlett_2i2_USB-00.analog-stereo
PulseAudio: detected 2 output channels
PulseAudio: audio buffer frames: 512 calculated output latency: 11ms
 
TextServer: Primary interface set to: "ICU / HarfBuzz / Graphite (Built-in)".
CORE API HASH: 1154053515
EDITOR API HASH: 3287929985

I have been running the commands suggested, with 2>&1 included and I get similar outputs, only difference is that it didn’t manage to print out the EditorSettings part. I don’t know why it’s so hard to get an error message or anything to point to the issue, maybe there is no issue at all on the code and maybe its a driver issue that the AMDGPU devs should know, I don’t know how to contact them though.

You could try to build the latest master with the build option lto=none. If it works we know for sure it’s a godot issue and your system is fine.

It didn’t work, but I’m pretty sure my os isn’t the problem. It’s seems to be a gpu one, since other people in this thread have the same issue with the same gpu. Though, is it godot causing an issue with it? I suppose so, since everything works fine up to godot 3.5 and godot 4 alpha 12. Though I don’t know much, that’s just my opinion.

You could try to build the latest master with the build option lto=none. If it works we know for sure it’s a godot issue and your system is fine.

Meaning I clone right now git clone https://github.com/godotengine/godot.git no specific branches and compile with scons -j$(nproc) platform=linuxbsd lto=none and when it’s finished, I run the executable in bin, right? If so, ok. I’m doing it right now!

The dbus issue is likely unrelated to this, it’s opened dynamically if available to enable some features, but Godot should work fine without it too. You can install your distro’s dbus package to silence the error.

I tested alpha 15 & 16 and the editor doesn’t crash for me.

OS: Arch Linux GPU: AMD RX 6600 Desktop: Xorg wayland Mesa: 22.1.7-1 Vulkan Instance Version: 1.3.221

But with the same hardware I do get a full driver crash and black screen on Windows 10 as soon as I launch an Godot VR project with SteamVR so there must be some AMD specific issues with godot vulkan.

As I don’t have my Windows issues if I compile it myself natively on Windows (no matter if I use MSVC or GCC) I wonder if compiling natively would fix your issues on Linux too if you don’t mind trying it. Compiling for Linux

btw: #65145 may be related

Hello, thanks for your response. So I’ve compiled it, launched the executable in the bin folder and then, same thing happened. I hope it helps identifying the potential culprits.