From: Rémi Bernon rbernon@codeweavers.com
If the registry is initialized, a process calling ChangeDisplaySettings will only load the driver when calling GetCurrentDisplaySettings in source_get_full_mode / source_get_current_settings.
As we're going to cache the current display mode, this will not be called anymore and the driver won't be loaded at all. So, make sure we load it earlier instead. --- dlls/win32u/sysparams.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/win32u/sysparams.c b/dlls/win32u/sysparams.c index ced9c61db06..73a2a062f16 100644 --- a/dlls/win32u/sysparams.c +++ b/dlls/win32u/sysparams.c @@ -2051,7 +2051,8 @@ BOOL update_display_cache( BOOL force ) return TRUE; }
- if (force) + if (!force) get_display_driver(); /* make sure at least to load the user driver */ + else { if (!get_vulkan_gpus( &ctx.vulkan_gpus )) WARN( "Failed to find any vulkan GPU\n" ); if (!(status = update_display_devices( &ctx ))) add_vulkan_only_gpus( &ctx );