Disable AMD switchable graphics on Windows with Vulkan to fix driver issue

This is a required workaround on setups with AMD integrated graphics
+ NVIDIA dedicated GPU to be able to start the engine with the Forward+
or Forward Mobile rendering methods.

While a AMD driver update can resolve this issue, it still gets reported
regularly and is likely to become a source of support headache for people
distributing projects made with Godot (as this also affects exported projects).
This commit is contained in:
Hugo Locurcio 2023-02-16 19:39:27 +01:00
parent 29f670b7ab
commit 31a9345189
No known key found for this signature in database
GPG key ID: 39E8F8BE30B0A49C

View file

@ -151,6 +151,11 @@ static void _error_handler(void *p_self, const char *p_func, const char *p_file,
void OS_Windows::initialize() {
crash_handler.initialize();
// Workaround for Vulkan not working on setups with AMD integrated graphics + NVIDIA dedicated GPU (GH-57708).
// This prevents using AMD integrated graphics with Vulkan entirely, but it allows the engine to start
// even on outdated/broken driver setups.
OS::get_singleton()->set_environment("DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1", "1");
#ifdef WINDOWS_DEBUG_OUTPUT_ENABLED
error_handlers.errfunc = _error_handler;
error_handlers.userdata = this;