On Tue Nov 14 11:58:46 2023 +0000, Alexandre Julliard wrote:
A proper DPI-aware app should never be scaled, because it should draw at the right DPI for the monitor. It seemed to me that this wasn't true with your MR, but maybe I misunderstood how this works on the Wayland side.
In this MR, if the application is using the same DPI/scale as the monitor it will not be scaled. For example, in the table above, 512@96dpi will remain 512 physical when presented on 1x scaled monitor (example 3 in the description), and the same for 512@192dpi on a 2x scaled monitor (example 2 in the description).
Without this MR the compositor will scale all windows, even if their dpi matches the monitor (so, e.g., 512@192dpi would become 1024 physical on a 2x scaled monitor, instead of remaining at 512 physical).
Of course, at the moment we don't have the infrastructure to report per-monitor dpi values to applications (or set the system dpi from the actually monitor info to properly support SYSTEM_AWARE), so the user needs to manually set the proper system dpi through, e.g., `winecfg`, or in the app itself if there is such support, to get the desired result and avoid being scaled.