From 30f079ecb5df9079f44213a583084f7229e51951 Mon Sep 17 00:00:00 2001 From: Hugo Locurcio Date: Thu, 16 Feb 2023 19:39:27 +0100 Subject: [PATCH] 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). (cherry picked from commit 31a9345189ea041da798cf99b18c4e53571f53f1) --- platform/windows/os_windows.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp index 4ac76a51794..94c3c63b9d4 100644 --- a/platform/windows/os_windows.cpp +++ b/platform/windows/os_windows.cpp @@ -156,6 +156,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;