Windows OS Hub
  • Windows Server
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows Server 2012
    • Windows Server 2008 R2
    • SCCM
  • Active Directory
    • Active Directory Domain Services (AD DS)
    • Group Policies
  • Windows Clients
    • Windows 11
    • Windows 10
    • Windows 8
    • Windows 7
    • Windows XP
    • MS Office
    • Outlook
  • Virtualization
    • VMWare
    • Hyper-V
    • KVM
  • PowerShell
  • Exchange
  • Cloud
    • Azure
    • Microsoft 365
    • Office 365
  • Linux
    • CentOS
    • RHEL
    • Ubuntu
  • Home
  • About

Windows OS Hub

  • Windows Server
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows Server 2012
    • Windows Server 2008 R2
    • SCCM
  • Active Directory
    • Active Directory Domain Services (AD DS)
    • Group Policies
  • Windows Clients
    • Windows 11
    • Windows 10
    • Windows 8
    • Windows 7
    • Windows XP
    • MS Office
    • Outlook
  • Virtualization
    • VMWare
    • Hyper-V
    • KVM
  • PowerShell
  • Exchange
  • Cloud
    • Azure
    • Microsoft 365
    • Office 365
  • Linux
    • CentOS
    • RHEL
    • Ubuntu

 Windows OS Hub / Windows 10 / RDP Scaling Issue on High-DPI Displays in Windows 10

July 18, 2018 Windows 10

RDP Scaling Issue on High-DPI Displays in Windows 10

Windows 10 users often complain that on high-resolution (4k HiDPI) monitors text, icons and other elements of legacy applications (that are incompatible with High-DPI screen modes) become too small, blurry and unreadable.

This problem has been partially fixed in the Windows 10 Fall Creators Update (1703) due to extra support of dynamic DPI scaling, however, when you connecting to the desktop of a remote computer using RDP, the scaling problem still persists (normal scaling for mstsc.exe client is still not supported).

In Windows 8.1 and Windows 10, the local DPI is sent to the RDP connection, as a result, the icons and text in this window become very small and hard to read.

High DPI issues with RDP on Windows 10

As a workaround, you can use RDCMan application (by Microsoft) for RDP connections, but there is a solution for the native mstsc.exe client.

The point is that you can create a separate manifest file (.manifest) for the specific applications.

To make this feature work and in order Windows to get data from this manifest file first when starting the application, create a DWORD parameter (32-bit) with the name PreferExternalManifest and decimal value 1 in the following registry key: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide.

PreferExternalManifest - rdp scaling

You can create this registry parameter using the command:

REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide" /v PreferExternalManifest /t REG_DWORD /d 1 /f

Then in the % SystemRoot%\System32\ directory (it contains the mstsc.exe file), you need to create the mstsc.exe.manifest file with the following code:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0" processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*">
</assemblyIdentity>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.VC90.CRT"
version="9.0.21022.8"
processorArchitecture="amd64"
publicKeyToken="1fc8b3b9a1e18e3b">
</assemblyIdentity>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<ms_windowsSettings:dpiAware xmlns:ms_windowsSettings= "http://schemas.microsoft.com/SMI/2005/WindowsSettings" >false</ms_windowsSettings:dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>

Note. You can get these values for the manifest file yourself using Resource Hacker. To do it, open mstsc.exe with Resource Hacker. Copy the data from Manifest->1 : 1033 section and add the section with the dpiAware flag and the value false.

Resource Hacker - mstsc.exeRestart Windows and try to connect to the remote desktop computer or server using mstsc.exe. As you can see, the contents of the RDP window is displayed normally now.

In the same way, you can create a manifest file for any application that doesn’t support the native scaling.

4 comments
0
Facebook Twitter Google + Pinterest
previous post
Configure Storage Spaces Direct (S2D) on Windows Server 2016
next post
Auto-Mount a VHD/VHDX File at Startup in Windows 10, 8.1

Related Reading

Configure User’s Folder Redirection with Group Policy

February 3, 2023

Disable Built-in PDF Viewer in Microsoft Edge

February 3, 2023

Join a Windows Computer to an Active Directory...

February 2, 2023

Using Previous Command History in PowerShell Console

January 31, 2023

How to Install the PowerShell Active Directory Module...

January 31, 2023

4 comments

Jordan Gilchriest February 25, 2020 - 5:10 pm

I have tested this on 3 windows 10 machines. The steps above work fine although for some reason we cant move the AX window from one screen to the other on any screen which is sitting on the right hand side of the laptop monitor. it works fine form right to left but not the left.

Reply
Miklos February 26, 2020 - 3:27 pm

It is not working on a Dell XPS 7390 13.3UHD with 300% scale. It worked on a thinkpad t470p 2560×1440 half year ago. I dont get it. Is the 300% scale the problem? It is very funny to login to a 2k8 r2 rdp with the 13.3 uhd resolution.

Reply
Harold.Julia June 15, 2020 - 4:39 am

Those who are unmotivated are always determined, those who are willing to stand up, and those who bite a goal are the most likely to succeed

Reply
this July 31, 2020 - 4:02 am

❤️ thanks

Reply

Leave a Comment Cancel Reply

Categories

  • Active Directory
  • Group Policies
  • Exchange Server
  • Microsoft 365
  • Azure
  • Windows 11
  • Windows 10
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • PowerShell
  • VMWare
  • Hyper-V
  • Linux
  • MS Office

Recent Posts

  • Configure User’s Folder Redirection with Group Policy

    February 3, 2023
  • Using Previous Command History in PowerShell Console

    January 31, 2023
  • How to Install the PowerShell Active Directory Module and Manage AD?

    January 31, 2023
  • Finding Duplicate E-mail (SMTP) Addresses in Exchange

    January 27, 2023
  • How to Delete Old User Profiles in Windows?

    January 25, 2023
  • How to Install Free VMware Hypervisor (ESXi)?

    January 24, 2023
  • How to Enable TLS 1.2 on Windows?

    January 18, 2023
  • Allow or Prevent Non-Admin Users from Reboot/Shutdown Windows

    January 17, 2023
  • Fix: Can’t Extend Volume in Windows

    January 12, 2023
  • Wi-Fi (Internet) Disconnects After Sleep or Hibernation on Windows 10/11

    January 11, 2023

Follow us

woshub.com
  • Facebook
  • Twitter
  • RSS
Popular Posts
  • Booting Windows 7 / 10 from GPT Disk on BIOS (non-UEFI) systems
  • Error Code: 0x80070035 “The Network Path was not found” after Windows 10 Update
  • Removable USB Flash Drive as Local HDD in Windows 10 / 7
  • How to increase KMS current count (count is insufficient)
  • How to Disable UAC Prompt for Specific Applications in Windows 10?
  • Managing Printers and Drivers with PowerShell in Windows 10 / Server 2016
  • Managing Printers from the Command Prompt in Windows 10 / 8.1
Footer Logo

@2014 - 2023 - Windows OS Hub. All about operating systems for sysadmins


Back To Top