This MR improves driver support for scaled HiDPI displays, by respecting the application/window DPI. Since we don't support per-monitor DPI information and awareness modes yet, the user should set the Wine system DPI to match the DPI/scale of the display the app will be running on, for best results. Here is how things look with a few scenarios: 1. Screen scaled at 2x, application at 96dpi (e.g., dpi unaware apps) => the compositor automatically scales the surface:  2. Screen scaled at 2x, application at 192dpi (dpi matches compositor scale) => no compositor scaling:  3. Screen scaled at 1x, application at 96dpi (dpi matches compositor scale) => no compositor scaling:  4. Screen scaled at 1x, application at 192dpi, not typically used, just wanted to show what happens with such a mismatch:  Thanks! -- v4: winewayland.drv: Ignore spurious size hints. winewayland.drv: Present cursors with the correct scale. winewayland.drv: Refactor cursor code to prepare for scaling support. winewayland.drv: Present surfaces with the correct scale. winewayland.drv: Prepare to handle different coordinate spaces. https://gitlab.winehq.org/wine/wine/-/merge_requests/4203