-
-
Notifications
You must be signed in to change notification settings - Fork 21.5k
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
Vulkan: Spurious "Failed to open JSON file" printed due to invalid Vulkan ICD files #56089
Comments
These (harmless) errors occur because of a bogus Vulkan layer that was installed by the Epic Games Launcher. This issue is not specific to Godot – it will occur in any Vulkan application, although most of them will silence it. I suppose we'll have to silence them at some point too.
The godot-sponza
It's a known issue; I didn't set it up again yet.
Could you describe what's wrong with V-Sync? You can change the V-Sync mode in the project settings after enabling the Advanced toggle in the top-right corner and searching for |
I have found the reason. There are two options in 3.4: 1) "Use Vsync" 2) "Vsync Via Compositor". I had Vsync globally turned off in Windows Control Panel and I forgot about it. In this case option 1 turned on was not enough, but with both 1&2 it worked (now after I turned on Vsync globally option 1 is enough). In 4.0 there was no 2 and it didn't work for any option from the dropdown causing high usage of GPU and I had to turn on "Low Processor Mode". |
Vsync Via Compositor was removed in #48622 because it caused all kinds of issues, such as applying V-Sync at a halved refresh rate without the user's request. Low Processor Mode does not enable V-Sync, but it enables a built-in ~145 FPS cap (it's controlled by Low Processor Mode Sleep Usec, which defaults to 6.9 milliseconds of sleeping per frame). |
Kinda sad, but seems not critical.
I just have tried. It doesn't matter if Vsync is turned on or off in Project Settings. Global Vsync is the real switch. Here is 2 runs where I don't change Project Settings, but change the global settings.
|
Related to #56198. |
I just got this error message:
I recently uninstalled GTA5 and the Rockstar launcher, which removed the JSON file. However, their loader did not remove the registry entries that referenced the above file. I found and removed the broken reference under the following registry keys, which removed the error in Godot 4:
|
Yes these are not Godot bugs but badly designed software that installs Vulkan layers and never cleans them up on uninstall. Godot has nothing to do with them. We could however avoid raising a warning for this and just skip the broken layers. The downside is that if you are actually trying to use such a layer (e.g. validation layers from the Vulkan SDK, or custom layers that provide additional tooling for Vulkan applications), they would also fail silently. |
We can probably silence ICD warnings for common culprits (checking the path for |
You could also provide more information, saying "Cannot load json file X.Json specified by registry entry hklm/software/..." so people don't have to find this ticket to solve it. I knew Rockstar had nothing to do with Godot, but still had to search to find out where the reference was coming from. |
The warning doesn't come from Godot though, but from the Vulkan loader. We can only ignore it based on specific keywords, not retrieve additional data (at least not easily). |
Could you test #62641 and see if it works? It should make those messages of "verbose" level so they should be printed as a normal (not red) message only when running Godot in verbose mode (with |
In far most cases it seems like it's going to message about bogus manifests in the Windows registry which point to JSON files which have since been uninstalled, but without clearing the registry. This happens with bogus Vulkan overlays from Twitch, Epic Online Services, NVIDIA Nsight Systems, OBS Studio, Rockstar Games... fix your mess folks. Fixes godotengine#56089.
Just to add to the chaos, I am not able to open godot-cpp/test C++ GDExtension example in Godot 4.0 at all. Is there a way to remove these layers installed by Epic Launcher. |
@ooo-mmm You have the edit the Windows registry: #56089 (comment) But again, these errors are not related in any way to you not being able to open Godot. They're just noise. Whatever issue you have is unrelated to these messages. |
In my case, I found Epic Games's layer settings json files in this path: |
#89305 (comment) |
Godot version
4.0.dev
System information
Windows 7 x64, Vulkan, GTX 970
Issue description
I'm very new to Godot. I'm just trying to open demos and examples. Here is some issues with
/~https://github.com/Calinou/godot-sponza/tree/4.0-dev using today's 4.0 build from https://hugo.pro/projects/godot-builds/
Seems like the most important bug is:
when I try to use "Copy Error" it shows "INTERNAL ERROR: ...": https://imgur.com/7nHYFmg
Those 3 red errors from the console:
I see these errors in other projects and in godot.windows.opt.tools.64.exe as well.
INTERNAL ERRORS and INTERNAL WARNINGS popup also when I change something in Project Settings.
But not in godot.windows.opt.tools.64.exe.
A few other issues:
When I run any project on 4.0, its left top corner is in negative position, so window title is not visible. To fix this I'm using something like: run/main_run_args="--position 170,40" in project.godot.
Hotkeys in godot-sponza didn't work. I had to setup them.
GUI in godot-sponza is messed up. https://imgur.com/6lbuPj6
I see issues with Vsync. Godot 3.4 has additional options which helps, but Godot 4 doesn't have it.
Steps to reproduce
Minimal reproduction project
No response
Bugsquad edit (keywords for easier searching): Twitch, TwitchStudio, TwitchOverlayVulkanConfig, TwitchOverlayVulkanConfig64
The text was updated successfully, but these errors were encountered: