Since Windows 8.1 reached GA today, I loaded it up first thing this morning on my Ativ Book 7 to enjoy the much anticipated tweaks that make this Ultrabook even more ultra! However, once I got the update installed, I opened a few applications, including Chrome, and a XenDesktop 7 ICA session using Receiver for Windows and immediately noticed that these apps were blurrier than the desktop or Modern Apps.
As you can see in this screen clip, there’s a slight blur on the seamless ICA desktop (110%ish scaled), as is the CDViewer taskbar icon:
I quickly found that Microsoft decided to enable dynamic display scaling on non DPI Aware programs for high-DPI displays. If you’re interested (like I was) to know more about why Microsoft made this decision in 8.1, you should check out this blog which goes into detail on the topic.
The short of it is that the ‘..additional scaling capability provides two distinct advantages for high-DPI displays on Windows 8.1:
- UI can scale larger which makes readability better and touch/mouse interactions easier.
- 200% scaling enables pixel-doubling for up-scaling which provides a clear and crisp appearance for images, graphics, and text.
Since the Ativ 7 crams a 1080p display into a 13.3″ panel, it falls under the category of a high DPI display at about 165 PPI. To change this behavior for a particular application, you have to adjust the executable’s compatibility settings to ‘Disable display scaling on high DPI settings’:
By doing this for CDViewer.exe, for example, I was able to get the ‘Desktop Viewer’ to launch in native DPI, which is blur free (and displayed in normal DPI). If I need to get a more readable/usable DPI, I can always adjust the same settings on the virtual desktop side:
This setting can be also be disabled via the registry by setting an AppCompatFlags\Layers Reg_SZ value named as the executable in question, with the string set to HIGHDPIAWARE (in HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers):
You can also disable DPI scaling for all applications on a particular display by checking the ‘Let me choose one scaling level for all my displays’ in the ‘Display’ control panel item, and setting the scaling ratio to 100% (Smaller):
The only caveat to this approach is that DPI scaling is also disabled for Explorer, so the taskbar and desktop will be small as well.
Thanks for the thought Microsoft, but please give us an option to do without this feature!
I found the solution. See my answer at http://superuser.com/questions/643443/how-to-set-systemwide-xp-style-dpi-scaling-in-windows-8-1
Awesome! Thanks for sharing!
I have also a question. in our enviorment we want to use DPi Scaling for User. I have installed the hotfix form Microsoft, that didn’t have solved our Problem.
Win 8.1 und Server 2008 r2 with xenapp 6.5 and reveiver 4.1.
After every logout form the session the dpi is back to default.
Could you help us out?
Can I solve this issue regarding blurred applications in the Citrix Receiver App in Windows 10 somehow?
Sure, it’s actually the exact same process for Windows 10.
I forgot to mention that I try the Citrix Receiver App from Microsoft Store and I don’t think there is a CDViewer.exe ? I can’t (yet) make it work with the Citrix onlien web plugin as I have been used to. That is why I try the Citrix Receiver App.
Ah, changing this on the ‘modern’ app is the same process of disabling DPI-scaling on the executable, but getting to the executable is much different (and more difficult).
First, you have to open the ‘modern’ apps directory; a step-by-step guide for which can be found here http://www.wikihow.com/Access-Metro-Style-Apps-Installation-Folder-in-Windows-8
Then, search for a directory with the word ‘CitrixReceiver’ in it, and look for ‘Receiver.exe’, which is the executable that needs the DPI setting to be disabled.
I hope this helps!
Thank you very much. I will give it a try.
You can also keep your updated DPI settings by using compatibility mode.
Running this cmd will allow you to use your existing DPI settings with Citrix and keep the scaling correct.
reg add “HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers” /v “C:\Program Files (x86)\Citrix\ICA Client\wfica32.exe” /t REG_SZ /d “~ WIN7RTM” /f
Here is some more info:
Hello I am so grateful I found your web site, I really found you by error, while I was researching on Google for something else, Nonetheless I am here
now and would just like to say cheers for a fantastic post and a all round thrilling blog
(I also love the theme/design), I don’t have time to browse it all at the minute but I have bookmarked it and
also added in your RSS feeds, so when I have time I will be
back to read more, Please do keep up the fantastic b.