How to Set the DPI for the Logon Screen on Windows 7

A while back, I posted about my experiences running at High DPI. Running Windows 7, I’ve been running High DPI for many months now, and I can no longer imagine going back. I had no issues with the technology.

So then I got brave. Yesterday, I decided to pull the trigger and set up my wife’s laptop with Windows 7 RC, and configure her with High DPI so that she wouldn’t change the resolution down to 1024 x 768 any longer. It took her about 10 seconds to find an issue with it.

“Why is everything so tiny on the login screen?”

Ah, yes. One unfortunate side-effect of having High-DPI be a per-user setting is that now you don’t have that setting apply to the login screen any longer. This was clearly unacceptable to my wife, so I had to root around and find some way to fix this. I figured I’d share in case it’s interesting to anyone else.

I went to the key:

HKEY_USERS\.DEFAULT\Control Panel\Desktop

And I added a LogPixels DWORD value, and set it to 0x78 (120 decimal) to set the DPI to 125% (120 DPI) on the login screen. Worked a treat.

Comments (5)

  1. David Heffernan says:

    I guess you need to submit an enhancement request to get some proper UI added for this switch.  Or even better how about no UI but that the login screen uses the DPI setting for the last logged in user?

  2. cjacks says:

    I’m trying to tickle all the right folks, but it’s REALLY late in the process now. My fault for not noticing this earlier and filing a bug at Beta or earlier. 🙁

  3. rh says:

    Awesome – I had been wondering how to do this!


  4. Divy says:

    How did you root-cause the issue to this registry key? Any pointers to the debugging methodology would be really useful.

    Thanks Chris.

  5. cjacks says:

    Hi Divy,

    Honestly, it just seemed the kind of thing that we’d be storing in a registry key. So, I took the route to the per-user key and looked around, saw what looked like it was the right one (being familar with logpixels from win32 programming), created one in the .default profile, and it worked. So, not exactly scientific…