Skip to content

Make Windower DPI aware to avoid DPI virtualization on Vista+. #516

Open

Description

@alphaONE2

Starting with Windows Vista, the OS includes a DPI virtualization feature, which automatically scales any non-DPI aware applications if the system DPI is set above 120. Starting with Windows 8.1, DPI can be set on a per-monitor basis, and the DPI of the monitor is detected and set automatically by the system. When virtualization occurs, the window size becomes much larger than what was set by the user, usually resulting in the window spilling off the edge of the monitor making the game unplayable.

I think the best option moving forward is to have hook set the process DPI awarness level to per-monitor (if it's available, system otherwise), and then continue on as normal ignoring the DPI entirely. This would normally be exactly the wrong thing to do, but in this case it makes it so that the window remains the same pixel size no matter which monitor it is on, and should make it easier to configure Windower for multi-monitor users.

We may also want to get the DPI in launcher and automatically set the UI scale accordingly, for most users this won't have any effect, but it will require some careful planning to get it to work correctly with the new per-monitor settings in Windows 8.1, and must be user-overridable.

Activity

  1. transferred this issue fromWindower/Issueson Apr 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions