High DPI Compatibility Fix


With today’s computers having high DPI/PPI (Dots-per-Inch/Pixels-per-Inch) screens, you can start experiencing some problems with the way certain pieces of software render things like buttons, dialog boxes, etc. Here is an example of this in CadSoft Eagle.


Although the menu appears normal (i.e. File, Edit, etc.), the toolbar icons are practically microscopic. There can also be problems with applications like Microsoft SQL Server Mangement Studio (SSMS) rendering dialog boxes so badly that you can’t read most of the information.

Partial Fixes

You can attempt to fix part of the problem with a combination of changes. Things like small window title text size can be adjusted in the Control Panel > Appearance and Personalization > Display section of the control panel. Here you can individually adjust each text area’s font size.


In order to adjust things like the desktop icon sizes up to reasonable sizes you can set an overall scaling level. Within the Display dialog shown above, you can click on the “set a custom scaling level” link in the text of the first paragraph to show the dialog on the left. Alternatively you can select the Change Display Settings link on the left to show the dialog on the right below. This allows an overall scaling that will allow you adjust more than just text.

high-dpi-control-panel-display-scaling       high-dpi-control-panel-display-settings

However, none of these address the problem for programs that do not scale properly. The program mentioned in the beginning of this article (Eagle) is a perfect example of this. Even with scaling set to 250% the icons remain minuscule. So how do we make these stubborn programs usable?

Fixing Stubborn Apps

In order to fix those applications which refuse to scale properly, we’ll need to dig a little deeper. We will be instructing Windows, on a per application basis, that these programs are not DPI aware.

This fix will involve a registry change and the addition of a file to the folder that the program executes from. Although this is an easy change, if you are not comfortable with editing the registry, please do not implement this change. In either case, always backup your registry before making changes! You do not want to skip this step as a mistake in the registry could render your computer unusable!

How to Backup the Registry (MS KB322756)


  1. Backup the registry using MS KB322756 link above.
  2. In the Search Windows box (next to Start button), type regedit and press enter.
  3. In the left-hand pane of the registry editor, browse to the following location.
    1. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide
  4. In the right-hand pane, right-click an empty area and select New > DWORD (32-bit) Value.
  5. For name, type PreferExternalManifest and press enter.
  6. Double-click the new PreferExternalManifest key, select the Decimal radio button, type 1 in the value data box and click OK.
  7. Close the registry editor.
  8. Navigate to the folder that contains the executable of the program you want to fix and note the name of the executable.
    1. In our example the folder might be C:\Program Files (x86)\Eagle-7.4.0\bin\ and the executable would be eagle.exe.
    2. If you’re unsure, right-click the program icon, select properties and note the Target path in the Shortcut tab.
  9. Right-click an empty area in the folder and select New > Text Document.
  10. Name the new file the name of the program executable (e.g. eagle.exe) with .manifest as the extension (e.g. eagle.exe.manifest).
  11. Open the new text file in a text-only editor such as Notepad (do not use a word processor).
  12. Copy the text from the linked file below, paste it into your file, save the file and exit.
    1. The file is a .doc file due to WordPress limitations. Just rename it to .txt or open it in Notepad once downloaded to copy and paste the contents.

File: Manifest Contents


That’s it! You can now try your program out to see if it is rendering properly. I hope this helps others out! If you have any questions or comments, please leave them below and feel free to check out some of my other articles!


6 thoughts on “High DPI Compatibility Fix

    1. No, and I did test this on Windows 10. Did you edit the manifest before pasting the XML in? Also, did you pay close attention to the registry key path, type and value?

      1. I just redid the steps carefully but still get the same behavior. No I did not edit the XML. I’m not supposed to am I?

      2. No. You should simply copy the text and place it in a file. The only other thing I can think of is that the .manifest file might have a hidden extension, like .txt. Windows defaults to hiding those. You might try looking for the file from a command prompt to see if it has an extension after .manifest.

      3. Thanks for the suggestions. Can’t seem to get it to work. Double checked the registry entry again and I have “hide extensions for known file types” unchecked. That full file name is mstsc.exe.manifest. I will keep looking for a fix for Microsoft’s shortcoming. I have a Win 10 laptop with a 14″ 1920×1080 display. When I RDP to servers to support them the text is so small it’s almost unreadable. 😦

      4. Keep in mind that this only fixes the RDP window itself, not the servers. So if the servers are suffering from a high DPI issue, it won’t fix that. You should be able to set their text to display at like 125% though to overcome the text size.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s