I've got a new laptop that came with a 4k UHD screen. The GUI on QGIS doesn't scale well making most of the menu elements too small to easily see.
Is there a way to change the scale of the gui?
I've got a new laptop that came with a 4k UHD screen. The GUI on QGIS doesn't scale well making most of the menu elements too small to easily see.
Is there a way to change the scale of the gui?
As @Dave Pitman points out in his answer, that a user, Stu Smith, got the manifest hack to work.
I actually got it to work too. Follow the instructions using the link:
http://www.danantonielli.com/adobe-app-scaling-on-high-dpi-displays-fix/
Once the manifest.txt file is downloaded, copy it to the QGIS bin folder. In my case:
C:\Program Files\QGIS 2.18\bin
and rename it to 'qgis-bin.exe.manifest'.
Additionally, you'll need to ensure display scaling is disabled.
To do this, you'll need a shortcut to 'QGIS Desktop', for example, by pinning it to the Windows taskbar.
Right click the QGIS icon, then right click 'QGIS Desktop 2.18.3' in my case, and select 'Properties'.
Click the 'Compatibility' tab, and uncheck 'Disable display scaling on high DPI settings'.
There's a minor niggle that the text and icons are not as sharp as they would be otherwise, apart from that the hack works pretty well.
Update: For the Windows 10 Creators update, in the 'Compatibility' tab, check 'Override high DPI scaling behaviour. Scaling performed by:', and then select 'System' from the drop-down menu.
Go to Settings >>> Options >> General Menu > Icon Size Check this below: http://docs.qgis.org/2.2/en/docs/user_manual/introduction/qgis_configuration.html
I've tried all of the scaling remedies I could find and so far, QGIS is not workable on an UHD Windows 10.
For other applications with similar issues, the "manifest" hack has worked pretty well.
http://www.danantonielli.com/adobe-app-scaling-on-high-dpi-displays-fix/
This is working acceptably. The manifest file must be spelled perfectly 'qgis-bin.exe.manifest'.
I want to highlight the update from @ccoder83 because I think this is the best and simplest solution for Windows 10 Creators update (and later). It deserves its own answer, IMO. I missed the update until after i messed around in the registry and manifest file.
Right click on qgis-bin.exe and go to properties. In the 'Compatibility' tab, check 'Override high DPI scaling behaviour. Scaling performed by:', and then select 'System' from the drop-down menu.
If using OSGEO4W, qgis-bin is mostly likely at "C:\OSGeo4W64\bin"
Here a batch code to create regedit key and auto generate manifest file. Put this code to a .bat file and execute it as administrator.
@echo off
chcp 65001
setLocal EnableDelayedExpansion
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide" /v PreferExternalManifest /t REG_DWORD /d 0x00000001 /f
set /p path="Please, enter full path to the .exe file: "
echo "%path%"
>"%path%.manifest" (
echo:^<?xml version=^"1.0^" encoding=^"UTF-8^" standalone=^"yes^"?^>
echo:
echo:^<assembly xmlns=^"urn:schemas-microsoft-com:asm.v1^" manifestVersion=^"1.0^" xmlns:asmv3=^"urn:schemas-microsoft-com:asm.v3^"^>
echo:
echo:^<dependency^>
echo: ^<dependentAssembly^>
echo: ^<assemblyIdentity
echo: type=^"win32^"
echo: name=^"Microsoft.Windows.Common-Controls^"
echo: version=^"6.0.0.0^" processorArchitecture=^"*^"
echo: publicKeyToken=^"6595b64144ccf1df^"
echo: language=^"*^"^>
echo: ^</assemblyIdentity^>
echo: ^</dependentAssembly^>
echo:^</dependency^>
echo:
echo:^<dependency^>
echo: ^<dependentAssembly^>
echo: ^<assemblyIdentity
echo: type=^"win32^"
echo: name=^"Microsoft.VC90.CRT^"
echo: version=^"9.0.21022.8^"
echo: processorArchitecture=^"amd64^"
echo: publicKeyToken=^"1fc8b3b9a1e18e3b^"^>
echo: ^</assemblyIdentity^>
echo: ^</dependentAssembly^>
echo:^</dependency^>
echo:
echo:^<trustInfo xmlns=^"urn:schemas-microsoft-com:asm.v3^"^>
echo: ^<security^>
echo: ^<requestedPrivileges^>
echo: ^<requestedExecutionLevel
echo: level=^"asInvoker^"
echo: uiAccess=^"false^"/^>
echo: ^</requestedPrivileges^>
echo: ^</security^>
echo:^</trustInfo^>
echo:
echo:^<asmv3:application^>
echo: ^<asmv3:windowsSettings xmlns=^"http://schemas.microsoft.com/SMI/2005/WindowsSettings^"^>
echo: ^<ms_windowsSettings:dpiAware xmlns:ms_windowsSettings=^"http://schemas.microsoft.com/SMI/2005/WindowsSettings^"^>false^</ms_windowsSettings:dpiAware^>
echo: ^</asmv3:windowsSettings^>
echo:^</asmv3:application^>
echo:
echo:^</assembly^>
)
echo "manifest file generated !"
pause >nul