http://bugs.winehq.org/show_bug.cgi?id=56285
garrett m garrettm4@protonmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |garrettm4@protonmail.com
--- Comment #4 from garrett m garrettm4@protonmail.com --- Changing the winecfg DPI to match the DE's display scale works for games with resolutions less than the native display resolution. For example, a 4k display with 200% scaling would use double 96dpi or 192dpi in winecfg. However, for games with native resolution equal to the display resolution, the game will select a lower resolution (1920x1080) and be upscaled by Wine to the native display resolution (3840x2160) which is not what we want. Ideally, the Wine Wayland driver needs to avoid scaling any fullscreen app that requests a window size equal to the display resolution. Currently, it will apply the DE's display scale when the fullscreen window size = display resolution and thus overflow the screen. E.g., 200% scaling in GNOME will scale a 4k game window twice as large...
From talking with the Niri DE developer, he said this is a client side viewport issue. When working with full screen apps/games only physical pixel space should be used. Logical pixel space is really only useful for decorated windowed apps with sizes much smaller than fullscreen. For fullscreen apps that have a resolution / window size equal to the display resolution, Wine's Wayland driver should not scale the app and report the display's physical pixel dimensions so the app can scale itself correctly. For a fullscreen app with a resolution / window size less than the display resolution, Wine should scale the app. However, it would be nice to have an environment variable to configure this behavior such as setting integer scaling and the scaling filter used (nearest or bilinear).