Why Per-App DPI Awareness Reverts After a Display Driver Crash
🔍 WiseChecker

Why Per-App DPI Awareness Reverts After a Display Driver Crash

Quick fix: Per-app DPI overrides are stored in HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers. A display driver crash resets the active rendering session but the registry values persist — the apps just need to be relaunched. If relaunch doesn’t restore the override, the registry was corrupted; re-apply via Properties → Compatibility → Change high DPI settings.

You set Notepad++ and an old design tool to use a custom per-app DPI scaling so they don’t look blurry on your 4K monitor. After a display driver crash — the screen flickers black, the GPU recovers, and Windows reports “Display driver stopped responding and has recovered” — the per-app DPI is suddenly default. Re-launching the affected apps doesn’t restore the overrides. The configuration was right; it just isn’t being read.

Symptom: Per-app DPI awareness overrides revert after a display driver crash recovery.
Affects: Windows 11 on high-DPI displays with multiple apps configured for DPI overrides.
Fix time: 5 minutes.

ADVERTISEMENT

What stores per-app DPI settings

When you right-click an EXE and choose Properties → Compatibility → Change high DPI settings, Windows writes the choice to HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers with the EXE path as the value name and a setting string like ~ HIGHDPIAWARE or ~ DPIUNAWARE. The app reads this on launch to negotiate its DPI behavior with Windows.

A display driver crash invalidates the active display session. Apps that were already running continue with whatever DPI mode they negotiated at launch. Apps that launch after the recovery should pick up the registry value normally — but in practice, some apps cache their DPI awareness state in their own settings file and don’t re-read the registry until the user explicitly reapplies the override.

Method 1: Relaunch affected apps after driver recovery

  1. Close all instances of the affected app.
  2. Wait 5 seconds for cleanup.
  3. Relaunch the app.
  4. Confirm the DPI mode looks correct. Compare to a screenshot you took when it was working.

Most apps re-read the per-app DPI override on launch. If yours doesn’t, the app caches state elsewhere — move to Method 2.

ADVERTISEMENT

Method 2: Re-apply the override via Compatibility settings

  1. Right-click the app’s EXE (in the Start menu, pin to taskbar, or directly in its install folder).
  2. Choose Properties → Compatibility.
  3. Click Change high DPI settings.
  4. Under High DPI scaling override, check Override high DPI scaling behavior. Scaling performed by: and choose Application (or whichever option you originally selected).
  5. Click OK on both dialogs.
  6. Relaunch the app.

This rewrites the registry value with a fresh timestamp and re-anchors the override. The app re-reads on next launch.

Method 3: Verify the registry value directly

If the override doesn’t persist between sessions:

  1. Open regedit and navigate to HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers.
  2. Look for the EXE path as a value name. The data should be something like ~ HIGHDPIAWARE or ~ DPIUNAWARE GDIDPISCALING.
  3. If the value is missing, the override didn’t save — reapply via Method 2.
  4. If the value is present but the app still misbehaves, the app reads from a per-user profile file. Check the app’s %AppData% folder for a config that overrides Windows DPI awareness.
  5. For apps that have their own DPI setting (Chrome, OBS, some game launchers), set the DPI awareness in the app’s own settings to match.

The registry path is the canonical Windows location; if it’s set there and the app still misbehaves, the app overrides Windows’ choice.

How to verify the fix worked

  • Launch the previously-broken app. UI scales correctly without blurriness.
  • Click another monitor with different DPI. The app renders correctly on the new monitor too.
  • Force a display driver crash for testing: open elevated terminal and run devcon disable PCI\VEN_10DE (for NVIDIA) — wait 2 seconds — devcon enable PCI\VEN_10DE (be cautious; only do this on a non-critical system). After recovery, the apps should still scale correctly.
  • Open Registry Editor and confirm the AppCompatFlags\Layers values are still present after the crash.

If none of these work

If per-app DPI keeps reverting even after registry re-set, the GPU driver may be intercepting DPI handling. Update the GPU driver to the latest version — older NVIDIA drivers had bugs where TDR recovery would reset per-app overrides on Windows 11 22H2. For chronic driver crashes, run powercfg /sleepstudy and check for repeated TDR events; you may need to roll back the GPU driver to a known-good version. For apps that consistently lose DPI awareness, ProcessExplorer can confirm the app’s actual DPI awareness at runtime — if it shows the wrong mode despite the registry, the app is overriding via API calls, and only the app developer can fix it.

Bottom line: Per-app DPI is registry-backed and should survive driver crashes. When it doesn’t, relaunch the app or reapply the override. If chronic, update GPU drivers — the issue is usually at the driver layer, not Windows.

ADVERTISEMENT