Skip to content

Instantly share code, notes, and snippets.

@cgarst
Created July 5, 2016 23:13
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save cgarst/4fcf0d10145ced1626aef9934553cf9a to your computer and use it in GitHub Desktop.
Save cgarst/4fcf0d10145ced1626aef9934553cf9a to your computer and use it in GitHub Desktop.

Guitar Pro HiDPI Fix for Windows 10

Guitar Pro 6 scales like crap on Windows 10 with HiDPI. This is how it looks on a 13" screen at 3200x1800.

I discovered a possibility of forcing blurry "zoom-scaling" for apps that render weird via an article at PocketNow, however GuitarPro 6 doesn't work at all with the manifest file there. I took a look at the manifest embedded within GuitarPro.exe and found a few differences and was able to create a working file.

Afterwards it looks like this, still at 3200x1800:

Here's how to make it happen.

Step 1: Registry Modification

The first requirement is to enable external manifest files for Windows executables. This will override the manifest file embedded in GuitarPro.exe which is preventing HiDPI zoom-scaling.

Edit the Registry

  1. Open regedit.exe as an Administrator and navigate to the registry key:
  • HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > Windows > CurrentVersion > SideBySide.
  1. Right-click the right pane and choose NEW > DWORD (32 bit) Value.
  2. Type PreferExternalManifest, and then press ENTER.
  3. Right-click PreferExternalManifest, and then click Modify.
  4. Enter Value Data 1 and select Decimal.
  5. Click OK. Exit Registry Editor.

Step 2: Manifest File

Create this file:

C:\Program Files (x86)\Guitar Pro 6\GuitarPro.exe.manifest

<?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.VC80.CRT" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.4053" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC80.MFC" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
  
  <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>

And that's it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment