Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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)

share|improve this question

2 Answers 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.

share|improve this answer
    
+1. Will give this a shot and let you know what happens. (Have to install the Asus InstantOn components first) –  Billy ONeal Feb 5 at 8:27
    
If it's not installed then probably that solution does not apply to your case. But better check every pre-installed product that came with the computer, uninstall the vaporware and verify the sleep parameters. –  harrymc Feb 5 at 10:09
    
Another product that can cause such problems is Intel Smart Connect Technology. If you have it installed, try uninstalling it. –  harrymc Feb 5 at 19:14
    
So far so good. I'm still curious if there is a way to set a display's DPI manually (I have an external display which is still detected incorrectly) but this solved the most pressing version of the problem for me. –  Billy ONeal Feb 6 at 3:28
    
If the situation has improved, could you specify what exactly you did, for future readers. –  harrymc Feb 6 at 6:39

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.

share|improve this answer
    
This looks like it just sets the same settings you can set through the control panel. Of note, this setting isn't for a specific display. –  Billy ONeal Feb 5 at 8:24
    
I'm sorry you feel my answer is not good enough. There is not a way without third party tools to set multiple displays differently. This is how you would do it for the current display. –  Crowlands Feb 5 at 19:44
    
The posted problem wasn't how to set the DPI - it was why is the DPI setting lost after wakeup from sleep. –  harrymc Feb 5 at 19:59
    
@Crowlands: Given that my question is explicitly asking about a specific display, this answer doesn't answer my question. I explicitly said 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 -- which is effectively what your answer does. –  Billy ONeal Feb 6 at 1:14
    
@Crowlands You mention third party tools, which ones? –  Trevor Elliott Apr 13 at 5:23

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.