From: Rémi Bernon rbernon@codeweavers.com
The surface scale is there to match between the Wine DPI and the compositor scaling, not to implement Wine DPI scaling, ie: when compositor scaling is set to 200% and Wine DPI is also set to 192, windows are shown at 1:1 scale, instead of being upscaled twice. --- dlls/winewayland.drv/window.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/winewayland.drv/window.c b/dlls/winewayland.drv/window.c index 78e940a51a7..6ed6cab7991 100644 --- a/dlls/winewayland.drv/window.c +++ b/dlls/winewayland.drv/window.c @@ -174,7 +174,7 @@ static void wayland_win_data_get_config(struct wayland_win_data *data, }
conf->state = window_state; - conf->scale = NtUserGetWinMonitorDpi(data->hwnd, MDT_RAW_DPI) / 96.0; + conf->scale = NtUserGetSystemDpiForProcess(0) / 96.0; conf->visible = (style & WS_VISIBLE) == WS_VISIBLE; conf->managed = data->managed; }