4

I want to tell Windows what the DPI is of one of my displays.

I have a Windows 8.1 laptop (an Asus Zenbook Infinity) which has a 2560x1440 display; which needs high DPI support in order to be usable. In Windows 8.1, Windows chooses the right DPI to display something at for you, based on the detected DPI of a display and the "largeness" setting configured by a user.

However, whenever I resume this machine from sleep, Windows detects this display as a typical 96 DPI panel, and as a result everything is extremely small. To restore the correct scaling, I'm forced to reboot the machine.

I also have another external display which is occasionally detected as having the wrong DPI.

Is there some means to tell Windows what the DPI is?

(I'd rather not use the "set DPI for all displays" setting because I often plug this machine into low (96) DPI panels and want to use 8.1's scaling features)

Billy ONeal
  • 8,421

2 Answers2

2

From Display scaling does not stay / persist in windows 8.1

Switching Asus's InstantOn off and using the default windows powersave has resolved my issue with scaling being lost after sleep or closing the lid. Not sure why this would be the case. The wake from sleep with powersave is only a few seconds, so it is not inconvenient.

I don't have Asus, so I don't know exactly how to disable InstantOn. This might be explained in your manual or help.

In the thread How to get rid of Instant On off my desktop and taskbar without closing it? the solution was to right click on InstantOn and uncheck "Run when Windows starts".

See also How to enable Asus instant on? for how to access InstantOn.

Remark: According to the poster's comment, installing InstantOn is essential for solving the problem, even if it is only for disabling it immediately.

harrymc
  • 498,455
1

To access this setting, right-click the Windows desktop background and select Screen resolution. Click the “Make text and other items larger or smaller” link in the Screen resolution window and you’ll be able to set a custom scaling level for your display. Also there should be a check box that says "let me choose one scaling level for all displays" and make sure that is off as you said. If this does not work you can edit the reg by going into reg edit then following these steps

  • go here HKEY_CURRENT_USER\Control Panel\Desktop
  • In the right pane of Desktop, double click/tap on Win8DpiScaling to modify it.
  • Type 1, and click/tap on OK
  • In the right pane of Desktop, double click/tap on LogPixels to modify it. NOTE: If you do not have the LogPixels DWORD value, then right click on an empty space in the right pane of Desktop, click on New and DWORD (32-bit) Value, type LogPixels, and press Enter.
  • Select (dot) Decimal, type in the registry data value from the table below for the DPI scaling size you want, and click/tap on OK.

    DPI percentage
    Registry Data Value
    Smaller 100% 96
    Medium 125% 120
    Larger 150% 144
    XL 200% 192
    Custom 250% 240
    Custom 300% 288
    Custom 400% 384
    Custom 500% 480

MAKE SURE TO BACK UP YOUR REG BEFOREHAND

save and restart to apply.

harrymc
  • 498,455