godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
88.51k stars 20.05k forks source link

Error with the Vulkan-renderers Forward+ and Mobile: game window shows black and closes without errors shortly after #91373

Open CodeStrix opened 4 months ago

CodeStrix commented 4 months ago

Tested versions

Reproducable in 4.2.2 stable (c# variant)

System information

Windows 10 (fully updated), Godot 4.2.2 stable, Forward+/Mobile

Issue description

When I try to run a scene with only the 2d root node, the game window shows up, stays black and closes without any visual sign of the game (testet in compatibility mode - works fine, so there is actually an problem). I run an old (but to now flawlessly working) GTX 1070 with fully updated drivers (as my windows is). The Vulkan api is working fine with other games, that rely on it - I therefore assume, its something Godot-related. I made several new projects with different root nodes - nothing works. Neither with some assets loaded nor without them.

Update 1 (thx @clayjohn) using --verbose

"WARNING: GENERAL - Message Id Number: 0 | Message Id Name: Loader Message
        Layer name GalaxyOverlayVkLayer does not conform to naming standard (Policy #LLP_LAYER_3)
        Objects - 1
                Object[0] - VK_OBJECT_TYPE_INSTANCE, Handle 2018099632096
     at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:264)
WARNING: GENERAL - Message Id Number: 0 | Message Id Name: Loader Message
        Layer name GalaxyOverlayVkLayer_VERBOSE does not conform to naming standard (Policy #LLP_LAYER_3)
        Objects - 1
                Object[0] - VK_OBJECT_TYPE_INSTANCE, Handle 2018099632096
     at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:264)
WARNING: GENERAL - Message Id Number: 0 | Message Id Name: Loader Message
        Layer name GalaxyOverlayVkLayer_DEBUG does not conform to naming standard (Policy #LLP_LAYER_3)
        Objects - 1
                Object[0] - VK_OBJECT_TYPE_INSTANCE, Handle 2018099632096
     at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:264)
ERROR: GENERAL - Message Id Number: 0 | Message Id Name: Loader Message
        loader_get_json: Failed to open JSON file D:\Epic Games\Launcher\Portal\Extras\Overlay\EOSOverlayVkLayer-Win32.json
        Objects - 1
                Object[0] - VK_OBJECT_TYPE_INSTANCE, Handle 2018099632096
   at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:267)
ERROR: GENERAL - Message Id Number: 0 | Message Id Name: Loader Message
        loader_get_json: Failed to open JSON file D:\Epic Games\Launcher\Portal\Extras\Overlay\EOSOverlayVkLayer-Win32.json
        Objects - 1
                Object[0] - VK_OBJECT_TYPE_INSTANCE, Handle 2018099632096
   at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:267)
ERROR: GENERAL - Message Id Number: 0 | Message Id Name: Loader Message
        loader_get_json: Failed to open JSON file D:\Epic Games\Launcher\Portal\Extras\Overlay\EOSOverlayVkLayer-Win64.json
        Objects - 1
                Object[0] - VK_OBJECT_TYPE_INSTANCE, Handle 2018099632096
   at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:267)
ERROR: GENERAL - Message Id Number: 0 | Message Id Name: Loader Message
        loader_get_json: Failed to open JSON file D:\Epic Games\Launcher\Portal\Extras\Overlay\EOSOverlayVkLayer-Win64.json
        Objects - 1
                Object[0] - VK_OBJECT_TYPE_INSTANCE, Handle 2018099632096"

Seems like it is somehow having a problem with my Epic Games Launcher?

Update 2 (thx @akien-mga) deleting old registry entries regarding Vulkan (Epic Launcher, Galaxy Launcher) Getting rid of the obsolete registry entries (pointed at wrong directories anyway) removed the errors (read with --verbose). Yet the original problem persists: I cannot run any game/scene from within the editor using the vulkan-based renderer.

Update 3: Full verbose log when trying to start a scene

WARNING: Blend file import is enabled in the project settings, but no Blender path is configured in the editor settings. Blend files will not be imported.
     at: _editor_init (modules/gltf/register_types.cpp:63)
Found .NET Sdk version '7.0.203': C:\Program Files\dotnet\sdk\7.0.203
Loaded system CA certificates
Creating VMA small objects pool for memory type index 9
EditorSettings: Save OK!
Running: E:/Gamedev/Godot/Godot_v4.2.2-stable_mono_win64.exe
 --verbose
 --path
 E:/Gamedev/Warden
 --remote-debug
 tcp://127.0.0.1:6007
 --editor-pid
 20564
 --position
 704,371
 res://scenes/game.tscn
Remote Debugger: Connected!
Godot Engine v4.2.2.stable.mono.official.15073afe3 - https://godotengine.org
TextServer: Added interface "Dummy"
TextServer: Added interface "ICU / HarfBuzz / Graphite (Built-in)"
Vulkan devices:
  #0: NVIDIA NVIDIA GeForce GTX 1070 - Supported, Discrete
Vulkan API 1.3.277 - Forward+ - Using Vulkan Device #0: NVIDIA - NVIDIA GeForce GTX 1070
Optional extension VK_KHR_fragment_shading_rate not found
Optional extension VK_KHR_incremental_present not found
Optional extension VK_GOOGLE_display_timing not found
- Vulkan Variable Rate Shading not supported
- Vulkan multiview supported:
  max view count: 32
  max instances: 134217727
- Vulkan subgroup:
  size: 32
  min size: 32
  max size: 32
  stages: STAGE_VERTEX, STAGE_TESSELLATION_CONTROL, STAGE_TESSELLATION_EVALUATION, STAGE_GEOMETRY, STAGE_FRAGMENT, STAGE_COMPUTE, STAGE_RAYGEN_KHR, STAGE_ANY_HIT_KHR, STAGE_CLOSEST_HIT_KHR, STAGE_MISS_KHR, STAGE_INTERSECTION_KHR, STAGE_CALLABLE_KHR
  supported ops: FEATURE_BASIC, FEATURE_VOTE, FEATURE_ARITHMETIC, FEATURE_BALLOT, FEATURE_SHUFFLE, FEATURE_SHUFFLE_RELATIVE, FEATURE_CLUSTERED, FEATURE_QUAD, FEATURE_PARTITIONED_NV
  quad operations in all stages
Startup PSO cache (0.0 MiB)
Using "winink" pen tablet driver...
Creating VMA small objects pool for memory type index 7
Shader 'CanvasSdfShaderRD' (group 0) SHA256: fd99060a31380613872c713346d21096ea2beebfbd5a8c09ab919e35f67cd329
Shader 'SkeletonShaderRD' (group 0) SHA256: 58d04267366dc00ac88ff6018451aaad32b0ba1349d0c84c37fe40ffcb91645f
Shader 'SortShaderRD' (group 0) SHA256: f708223ee11d6380669522620815bc98bc5e836c6bc620dfdbff52dd70b83734
Shader 'ParticlesShaderRD' (group 0) SHA256: 313c56bac023725110f620bdf9e1e915017495b0ad2b314b4acec93fee494260
Shader 'ParticlesCopyShaderRD' (group 0) SHA256: c76cd2aed74dd99bda998b700615e2504dbfb6afbbf0dacb381b157a85a6e0d0
Shader 'CanvasShaderRD' (group 0) SHA256: 446d51ed83b0516b66a117dfd73204a2f30615626014f8f31309ae9792f71ba9
Shader 'CanvasOcclusionShaderRD' (group 0) SHA256: 5e209b47d7776c94a72cb441941c748525368cbfce3f75461e268583fcd080ff
Shader 'ClusterRenderShaderRD' (group 0) SHA256: fb1d4fbcd82f610d09f5d39f94a86b811783bab0a3b39b8020bec7b3275bcc24
Shader 'ClusterStoreShaderRD' (group 0) SHA256: 5ee452df7872e207402b3f6d272b5774037c7528f6d432978170672069513be6
Shader 'ClusterDebugShaderRD' (group 0) SHA256: aa9d76b3c8577da7c3dd45e75e7c9dddf37015fa35abbe3a086ed3cd44489332
Shader 'SceneForwardClusteredShaderRD' (group 0) SHA256: 8becad8ff5811f5502ec6497d84e8e19a2f86b52e45002eebde297651540200b
Shader 'SceneForwardClusteredShaderRD' (group 1) SHA256: f48493299171fe58745c7dce9cc8b67ce272ea2bd3870087de2c5e8d537e7060
Shader 'SceneForwardClusteredShaderRD' (group 2) SHA256: c9d3199a78b4ca5c878ba86a7811aa126262a1e70020f616cf362a81c93e95b2
Shader 'SceneForwardClusteredShaderRD' (group 3) SHA256: 4fd32e97172218ec748d5bdfc64f92d5c5b740532c971967fd426dc82dabf9a0
Shader 'ResolveShaderRD' (group 0) SHA256: bd263b8dec1117eb8bc00d6ba8e624d99358fcfe298981dd5605d3e70bf41c7b
Shader 'TaaResolveShaderRD' (group 0) SHA256: d657e6b8741b6ae510c90bdbe81f9f96a44d1a629220a3a3bd6a54b268bc7ab0
Shader 'Fsr2DepthClipPassShaderRD' (group 0) SHA256: 47a01479c304ab203281e04129c17239d28f9a87f1d8d6d340f82f4a218c000c
Shader 'Fsr2ReconstructPreviousDepthPassShaderRD' (group 0) SHA256: 6a67e7c69ddc3af0d4034340f2361964c3cb0140e338a109f94826bd83d72e92
Shader 'Fsr2LockPassShaderRD' (group 0) SHA256: a85d6651917ce3d89eb2ca07bdd9d1b1f1e6de4aac143f05227aa92b6437df34
Shader 'Fsr2AccumulatePassShaderRD' (group 0) SHA256: 9788899a0598a66754bf0f471b60b4159b00f4a4f2fd105140d151f0aa2282ca
Shader 'Fsr2RcasPassShaderRD' (group 0) SHA256: 9eb7b4d8ede37e80eb1c27c775e745e39f89f9141d5f3109f4d259edc55a5fea
Shader 'Fsr2ComputeLuminancePyramidPassShaderRD' (group 0) SHA256: 406127a7ef78cdbe3479cf46cc25e34e97284e2e1917476e9610bc08dd1e066e
Shader 'Fsr2AutogenReactivePassShaderRD' (group 0) SHA256: 187d0a91eb9fe35bc41ad6f6ddfad2cb8f4da6065d7f4545c99b8f2ec06ce8b9
Shader 'Fsr2TcrAutogenPassShaderRD' (group 0) SHA256: 4a005a07b1982d8e6e586dbd3c1f4e11cbc1aab48dcc58de71e090f6063488a4
Shader 'SsEffectsDownsampleShaderRD' (group 0) SHA256: 912e287a61544a3f66a9054499caf3543d1cf3d5674de23bedb7ff64f6f9fdf8
Shader 'SsilShaderRD' (group 0) SHA256: 2f8683d40d91c2f16c7b0ca2b484a38cbd8f1fc0c4327a47b1e3a190216af070
Shader 'SsilImportanceMapShaderRD' (group 0) SHA256: 3554f3a7e39b5a429e639a6aa6b3e09215cb4e6be8ca40ced4450ac7c0899335
Shader 'SsilBlurShaderRD' (group 0) SHA256: 01370bed1db2263ddf229c794bc8213b061285baa21be0cdf871f2ef872af74c
Shader 'SsilInterleaveShaderRD' (group 0) SHA256: 4434557c465ed47697abe0223ae851216963b51ba69043443b6895b14d79b8bb
Shader 'SsaoShaderRD' (group 0) SHA256: 4db0d61178391a206166d78338a3baba1ff3c4c4e5ddff9cdf79eef3b6e7e1b8
Shader 'SsaoImportanceMapShaderRD' (group 0) SHA256: c03564f181f2688e730bb1bd3ee62d4ae8a379062cd04576ee55d26cdfbf3997
Shader 'SsaoBlurShaderRD' (group 0) SHA256: 35a4b4fefc8da387acbbaf6f7386439e9983673ee4a91f9a6f6247bc5405707d
Shader 'SsaoInterleaveShaderRD' (group 0) SHA256: e97ad6b5da44168d2c8b40cd5a611e6e02849f0e82c42c1d6adcafa57b54c65b
Shader 'ScreenSpaceReflectionScaleShaderRD' (group 0) SHA256: 6cb95948e057d81ca98f1485bcc7a0ece4029023d368682bca1777773aad9f67
Shader 'ScreenSpaceReflectionShaderRD' (group 0) SHA256: 75a98cb7c423b4821931cee9c154738d8213bc538d0459fd341f0d92c07c8aea
Shader 'ScreenSpaceReflectionFilterShaderRD' (group 0) SHA256: 2a685f532b023c59b81ffd6ab9f4024ccaa2cc682ea1f2f22b1baf5b30a9dbef
Shader 'SubsurfaceScatteringShaderRD' (group 0) SHA256: 7c97428de641bad5c2a3cb9a8e780df7656148f55ddf4cd10a88c27f838c1c34
Shader 'SkyShaderRD' (group 0) SHA256: ba493b7431bf534f55dd1d868a5edc4098417eec6b59af13f48c6bffa90c2b20
Shader 'VoxelGiShaderRD' (group 0) SHA256: 221e89572aca34e9ea7b5ef7f6e9a8f373b7a6974c3a7e5f8fb97b30bf5c278d
Shader 'VoxelGiDebugShaderRD' (group 0) SHA256: 312dd60768314e40df1a123a3d9f7e72bb3d893d5425b2f2151fe36c10ba1065
Shader 'SdfgiPreprocessShaderRD' (group 0) SHA256: 15bae473b0ac810d1970c190f68f941453f29cd033c738a90ba40c3a26de3ff0
Shader 'SdfgiDirectLightShaderRD' (group 0) SHA256: 427f3b5f5edfe5ff453b058ffe6863062ccdfe075deccb5092d69feaa5c644e6
Shader 'SdfgiIntegrateShaderRD' (group 0) SHA256: 625c83fcaa2321819ef0d6bca658d2334914b68d454444d187acd859dcbe8480
Shader 'GiShaderRD' (group 0) SHA256: 9581cac0b1274c379e4570de913b6283caa2915c44667da282be439b4e93da21
Shader 'SdfgiDebugShaderRD' (group 0) SHA256: 6da17e1dd254ded180fb840f768402e09d44184e2b57eb3feff934fcbe207690
Shader 'SdfgiDebugProbesShaderRD' (group 0) SHA256: 9ef7bf51799e1f54dc76cc3599f6339a36f07a236c0b0afb0957341fa0149a88
Shader 'VolumetricFogShaderRD' (group 0) SHA256: ab5196cd68b47e4082c22286677462703cdc69c03320c5ad5c74fbb2588a2d07
Shader 'VolumetricFogProcessShaderRD' (group 0) SHA256: 394deaf32fef05fa9885e5d50fdfdd5c06bee20baa8a467874fc70647de5c9a7
Shader 'BokehDofShaderRD' (group 0) SHA256: 1a5035c06f91066efe2ae274ee686b41b220d901a3d9edbaccbea03622f50125
Shader 'CopyShaderRD' (group 0) SHA256: 566003fe6a892fe99f72136f718012da7137e47054ed02915d16d63df3acc85a
Shader 'CopyToFbShaderRD' (group 0) SHA256: a785f280374f3415511cba1c313c7ad48042e1f81455b21a944cabc345f0477c
Shader 'CubeToDpShaderRD' (group 0) SHA256: c879ac3d95686dbe6f08ca4621bb550834cf11a4ea4d4f468e17b246317b56f0
Shader 'CubemapDownsamplerShaderRD' (group 0) SHA256: d18462d3c6ae154832c4823b0b30679d4287a9ef0645eb6e57776782eabd595e
Shader 'CubemapFilterShaderRD' (group 0) SHA256: 223f190df3eeca1d766d36c8ece63e356f6942e3733a22e5dc723e94b9a429d3
Shader 'CubemapRoughnessShaderRD' (group 0) SHA256: 8bc6fa8516e55f36354902efc0f7d8ef46a52ca3605932fa051e6d829961506c
Shader 'SpecularMergeShaderRD' (group 0) SHA256: 172d8d8590def41ca8366fd9b9069b7b4e0a1efb895b9728940c1f4955b7b31e
Shader 'ShadowFrustumShaderRD' (group 0) SHA256: d022bd9094e564c17ba5a3857e875b763b8e418ad419a5884044955124e233d8
Shader 'MotionVectorsShaderRD' (group 0) SHA256: 1f3af49e62cb816bac3f98509457c5cc3b944aa651f88ee2a0f5e766bb5401b5
Shader 'LuminanceReduceShaderRD' (group 0) SHA256: 703874ed069226c80bacb27324415253fcc09d971e82df1e37a2a467f3a7d15d
Shader 'TonemapShaderRD' (group 0) SHA256: ac9eb0dcaa2743b04bbbb63d46fe08d7cc38f5c36f914d6048853ac21a4794ed
Shader 'FsrUpscaleShaderRD' (group 0) SHA256: 565f469141c7bb39da08f80cd9c80c4a1eaae764798c785b21542d25b4c71c6e
Shader 'BlitShaderRD' (group 0) SHA256: 4573e55ab387a07522f8e5f37a54798d452190602371c6f7c8517da1152c4222
WASAPI: Activated output_device using IAudioClient3 interface
WASAPI: wFormatTag = 65534
WASAPI: nChannels = 2
WASAPI: nSamplesPerSec = 48000
WASAPI: nAvgBytesPerSec = 384000
WASAPI: nBlockAlign = 8
WASAPI: wBitsPerSample = 32
WASAPI: cbSize = 22
WASAPI: mix_rate = 48000
WASAPI: fundamental_period_frames = 32
WASAPI: min_period_frames = 128
WASAPI: max_period_frames = 480
WASAPI: selected a period frame size of 480
WASAPI: detected 2 channels
WASAPI: audio buffer frames: 480 calculated latency: 10ms

Steps to reproduce

No need for stept - always happens.

Minimal reproduction project (MRP)

C @ Steps to reproduce.

clayjohn commented 4 months ago

Can you try running Godot from the command line so that you can see if any errors are printed out?

The command to use is:

./Godot_v4.2.2-stable_win64.exe --verbose
CodeStrix commented 4 months ago

Can you try running Godot from the command line so that you can see if any errors are printed out?

The command to use is:

./Godot_v4.2.2-stable_win64.exe --verbose

Updated original problem desc to keep things clean.

clayjohn commented 4 months ago

In this case it seems to be the same issue as https://github.com/godotengine/godot/issues/88991 which was fixed by removing the twitch overlay the person had installed.

From the error it seems like the Vulkan loader is looking for the epic games overlay but not finding it. Did you uninstall or reinstall the Epic Games Launcher recently?

In either case, doing a clean uninstall reinstall of the launcher might fix the issue

CodeStrix commented 4 months ago

In this case it seems to be the same issue as #88991 which was fixed by removing the twitch overlay the person had installed.

From the error it seems like the Vulkan loader is looking for the epic games overlay but not finding it. Did you uninstall or reinstall the Epic Games Launcher recently?

In either case, doing a clean uninstall reinstall of the launcher might fix the issue

The last time I touched the Epic Launcher Installment was years ago. But since there have been Updates of the Launcher - who might know. I'll try the clean un-/reinstall and shall report ;).

CodeStrix commented 4 months ago

Clean de-/reinstall of EPIC Launcher - no luck. The same problem and error message persists. But i noticed, that the error message is pointing to a wron directory for the epic launcher. So I reinstalled the Launcher in the folder from the error message - still no progress and the same problem and error message persists.

akien-mga commented 4 months ago

You might need to go through the Windows registry to locate where it installed a layer that's referencing obsolete files from Epic Online Services and GOG Galaxy, judging by the names.

See https://github.com/godotengine/godot/issues/56089#issuecomment-1172922023 for potential locations for these registry keys.

It's a flaw of the Vulkan ecosystem that any application can register implicit or explicit layers and typically doesn't properly clean after themselves, impacting all other Vulkan apps.

CodeStrix commented 4 months ago

So the good news is, that getting rid of the anyway obsolete registry keys actually resolved the errors.

Bad news is - nothing changed. I now don't have any errors being thrown - but still cannot use forward+ or mobile to actually run any scene/game (I have yet to restart....).

Update: Even after restart - the problem persists --> Updated original comment

CodeStrix commented 4 months ago

So i put in the whole log when starting the sample scene (2D node, packed_scene with animated script, collider and camera2D - no own scripts so far). Maybe someone can find a hint in the log.