3

I'm using Windows 10 and currently, I specifically set for each app, the HIGHDPIAWARE (high-DPI scaling) attribute in registry key which is found in :

HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

With these values :

enter image description here

But I really don't want to specify each app for that feature.

Question:

How can I make all apps to be HIGHDPIAWARE?

1 Answer 1

2

You can't. Old applications cannot be made high-dpi aware without any changes, because that needs the app to use the newer high-dpi APIs. Apps must declare themselves as high-dpi aware via a manifest file or some API calls, otherwise Windows will scale them bitmap-wise which makes them blurry. That's what the above registry key is about. The detail settings are like this

  • HIGHDPIAWARE: Disable Display Scaling on High DPI Settings - Scaling performed by: Application (Win7/10)
  • DPIUNAWARE: Scaling performed by: Application (Win10 build 15002+)
  • GDIDPISCALING DPIUNAWARE: Scaling performed by: System (Enhanced) (Win10 build 15002+)

https://ss64.com/nt/syntax-compatibility.html

In fact that key is exactly the same as the dpi-override settings in compatibility tab if you open the *.exe file's properties

So setting HIGHDPIAWARE in ...\AppCompatFlags\Layers doesn't automatically make your app hi-dpi aware. It just makes Windows thinks that the app is hi-dpi aware and disable scaling. The app is shown at 100% scaling so it'll be smaller on high-dpi displays, but the result is sharper

Of course you can set the flag for multiple apps at once, but it's not the way to solve your issue. Overriding high-dpi settings for all apps may make real high-dpi aware apps misbehave

See also

2
  • @Stefan the question is "How can I make all apps to be HIGHDPIAWARE?" and the answer is you can't without modifying the source code of the application. If you have any questions kindly post a different one. But if you want to show all apps at 100% then there's no scaling being applied. If you just want to show an app at 100% then it's absolutely irrelevant to making the app hidpi aware, it still has no idea of hidpi displays and is just being rendered at 100% dpi
    – phuclv
    Jun 25, 2020 at 1:44
  • 1
    The question is how to make programs "HIGHDPIAWARE", not "high-DPI aware". Enabling that flag tells Windows to not automatically scale the program (making it blurry), even if it's not actually DPI-aware. Enabling it for all programs (by setting a global environment variable) disables automatic scaling for non-DPI aware programs, but DPI-aware programs are unaffected.
    – user1156340
    Jun 25, 2020 at 2:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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