[GH-ISSUE #5558] [client] UI appears blurry on high-DPI displays due to missing manifest DPI awareness #11463

Open
opened 2026-08-05 01:29:46 -04:00 by saavagebueno · 0 comments
Owner

Originally created by @logue404 on GitHub (Mar 9, 2026).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/5558

Describe the problem
On Windows systems with high-DPI displays (e.g., 4K monitors, laptops with 150%/200% scaling), the NetBird UI (system tray menu, login window, and settings dialog) appears significantly blurry and fuzzy.
The text and icons look like low-resolution bitmaps that have been stretched by Windows. This occurs because the application manifest for the UI executable is missing the PerMonitorV2 DPI awareness setting, causing Windows to apply DPI virtualization instead of native scaling.
A clear and concise description of what the problem is.

To Reproduce
Steps to reproduce the behavior:
Use a Windows 10 or Windows 11 machine with a high-resolution screen (e.g., 3840x2160).
In Windows Display Settings, set "Scale and layout" to 150% or 200%.
Install and launch NetBird.
Open the NetBird system tray menu or the main dashboard window.
Observe: The text and icons are blurry/pixelated compared to other native Windows apps (like Explorer or VS Code).

Expected behavior
The UI should be crisp and sharp, correctly scaling according to the system DPI settings, just like modern native Windows applications.

Are you using NetBird Cloud?
No

NetBird version
v0.66.2

Is any other VPN software installed?
No

Debug output
Note: Since this is a UI rendering issue caused by a missing Windows Manifest configuration (dpiAwareness), standard network debug commands (netbird status, netbird debug) will not reveal the root cause. The issue is purely in the executable's build metadata.
I have identified the root cause: The client/ui/manifest.xml file lacks the PerMonitorV2 setting.

Screenshots
Image
fix

Image

Additional context
Root Cause: The Windows Application Manifest for netbird-ui.exe does not declare DPI awareness. Windows defaults to "DPI Unaware" mode and stretches the bitmap.
Proposed Fix: Update client/ui/manifest.xml to include:

<application>
  <windowsSettings>
    <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2</dpiAwareness>
  </windowsSettings>
</application>

Have you tried these troubleshooting steps?

  • Reviewed client troubleshooting (if applicable)
  • Checked for newer NetBird versions
  • Searched for similar issues on GitHub (including closed ones)
  • Restarted the NetBird client
  • Disabled other VPN software
  • Checked firewall settings
Originally created by @logue404 on GitHub (Mar 9, 2026). Original GitHub issue: https://github.com/netbirdio/netbird/issues/5558 **Describe the problem** On Windows systems with high-DPI displays (e.g., 4K monitors, laptops with 150%/200% scaling), the NetBird UI (system tray menu, login window, and settings dialog) appears significantly blurry and fuzzy. The text and icons look like low-resolution bitmaps that have been stretched by Windows. This occurs because the application manifest for the UI executable is missing the PerMonitorV2 DPI awareness setting, causing Windows to apply DPI virtualization instead of native scaling. A clear and concise description of what the problem is. **To Reproduce** Steps to reproduce the behavior: Use a Windows 10 or Windows 11 machine with a high-resolution screen (e.g., 3840x2160). In Windows Display Settings, set "Scale and layout" to 150% or 200%. Install and launch NetBird. Open the NetBird system tray menu or the main dashboard window. Observe: The text and icons are blurry/pixelated compared to other native Windows apps (like Explorer or VS Code). **Expected behavior** The UI should be crisp and sharp, correctly scaling according to the system DPI settings, just like modern native Windows applications. **Are you using NetBird Cloud?** No **NetBird version** `v0.66.2` **Is any other VPN software installed?** No **Debug output** Note: Since this is a UI rendering issue caused by a missing Windows Manifest configuration (dpiAwareness), standard network debug commands (netbird status, netbird debug) will not reveal the root cause. The issue is purely in the executable's build metadata. I have identified the root cause: The client/ui/manifest.xml file lacks the <dpiAwareness>PerMonitorV2</dpiAwareness> setting. **Screenshots** <img width="1195" height="852" alt="Image" src="https://github.com/user-attachments/assets/6310e339-4ce2-43f3-85af-14fa5c2cc950" /> fix <img width="1191" height="850" alt="Image" src="https://github.com/user-attachments/assets/2ab3f238-24f2-4d86-ad9d-eb52118cb9ba" /> **Additional context** Root Cause: The Windows Application Manifest for netbird-ui.exe does not declare DPI awareness. Windows defaults to "DPI Unaware" mode and stretches the bitmap. Proposed Fix: Update client/ui/manifest.xml to include: ```xml <application> <windowsSettings> <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2</dpiAwareness> </windowsSettings> </application> ``` **Have you tried these troubleshooting steps?** - [x] Reviewed [client troubleshooting](https://docs.netbird.io/how-to/troubleshooting-client) (if applicable) - [x] Checked for newer NetBird versions - [x] Searched for similar issues on GitHub (including closed ones) - [x] Restarted the NetBird client - [ ] Disabled other VPN software - [ ] Checked firewall settings
saavagebueno added the triage-needed label 2026-08-05 01:29:46 -04:00
Sign in to join this conversation.
No Label triage-needed
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#11463