Skip to content

carterscode/GamerGuardian

Repository files navigation

GamerGuardian

GamerGuardian

A lightweight Windows 11 tray app that watches gaming-related display and system settings, alerts you (or auto-fixes) when they drift from your preferences, and stays out of the way during gameplay and benchmarks.

Latest release Build CodeQL OpenSSF Scorecard OpenSSF Best Practices VirusTotal License Platform .NET

Install · Build · Verification · Logging · Security


Why this exists

If you've ever fired up a game and realized 30 minutes later that HDR turned itself off after the last driver update, or that you've been gaming at 60 Hz instead of your monitor's actual max — GamerGuardian is for that. It periodically compares Windows settings against your preferences and either prompts you to fix drift in one click, or silently corrects it in the background.

It's also paranoid about not making your gaming worse. Polling pauses entirely during fullscreen games (including borderless windowed) and benchmark runs. Working set is trimmed back to ~25 MB at idle. No process spawning, no kernel hooks, no DPC callbacks.

Highlights

  • 🎯 28+ monitored settings spanning display, security, performance, capture, input, privacy/telemetry, network latency, system tuning, and Windows services
  • ⚙️ One-click Recommended preset -- General tab button stages the gaming-optimized configuration across every setting (Want + Monitor + Auto-apply). Idempotent, so re-running it after a future update picks up only the new settings.
  • 🎮 Pauses during gameplay — fullscreen, borderless, and during benchmark runs (3DMark, Cinebench, Geekbench, etc.)
  • One-click apply with a per-setting auto-apply opt-in
  • 🪟 Native Win11 Fluent design with light / dark / system themes
  • 🔄 Auto-update — checks GitHub Releases on startup, one-click install
  • 🪶 ~23 MB idle working set, ~10 ms per polling tick

Screenshot

GamerGuardian Settings — Global gaming tab

Settings → Global gaming tab. Each card shows the setting name, a short description, current value, Windows default, and per-setting Monitor / Want / Auto-apply controls. Reboot-required settings get a yellow badge. The other tabs cover General preferences, Privacy (Advertising ID, Activity History, Cross-Device Platform, Tailored experiences), Network (Nagle's algorithm, NIC power management), Windows services, Windows AI, per-display Display settings (HDR / refresh / DRR), and CPU / Power.

What it watches

For each setting you choose three things: Monitor (watch it or not), the desired value (Want — shown as Enabled/Disabled, or Gaming/Default where the registry meaning is inverted), and whether to auto-apply silently when it drifts. Changes are staged until you click Apply, every change is reversible, and each one is recorded in changes.log.

Settings live across nine tabs. The lists below cover the monitored settings; for a complete walkthrough of every tab and what each setting means, see the Settings & tabs guide (and SETTINGS-REFERENCE.md for the full per-setting reference).

  • General — theme, launch-at-startup, polling interval, update check, change log, and the one-click Recommended setup button that stages the gaming-optimized config across every tab.
  • Global gaming, Privacy, Network, Windows services, Windows AI, Display — the monitored settings, listed below.
  • CPU / Power — detected CPU, Power Throttling, a CPU-aware custom gaming power plan (Balanced clone tuned for your CPU — e.g. X3D core-parking), and dual-CCD routing prerequisites. See CPU-aware power plans.
  • Recommended BIOS — a firmware checklist (Resizable BAR, XMP/EXPO, CPPC mode, etc.); guidance only, nothing is changed.

Per-display

Setting Notes
HDR On/off via Windows Display Configuration (CCD) API
Refresh rate Maximum supported, or pin a specific Hz
Resolution Pin to a specific resolution (opt-in)
Dynamic Refresh Rate (DRR) Win11 22H2+ content-based refresh boost via the CCD API. Shows "not supported" on panels that lack it. Distinct from VRR.

Global gaming settings

Setting What it does Reboot
HAGS Lets the GPU manage its own command queue. Lower latency on supported GPUs.
Memory Integrity / VBS HVCI. Disabling recovers ~5–15% gaming perf at the cost of reduced malware protection.
Game Mode Tells Windows to prioritize the running game and suppress background work.
Game DVR background recording Always-on game capture. Costs CPU/GPU during gameplay.
Mouse "Enhance pointer precision" Acceleration curve applied to mouse movement.
Fullscreen optimizations Borderless-windowed compositing layer for fullscreen apps.
Variable Refresh Rate (DirectX) G-Sync / FreeSync compatibility flag. Not the same as Dynamic Refresh Rate (DRR).
Power plan Active Windows power scheme.
System Responsiveness MMCSS reservation percentage.
USB Selective Suspend Lets Windows suspend idle USB devices.
Games multimedia task profile Priority + scheduling values for the MMCSS Games task.
Power Throttling Disables OS throttling of background threads for sustained performance (CPU / Power tab).
Fast Startup (hybrid boot) Off makes every shutdown a true cold boot; fixes stale driver/USB state.
Visual effects (best performance) Disables Windows UI animations/effects for a snappier desktop.

Privacy

Telemetry/privacy toggles Windows often re-enables after feature updates -- the drift-guard re-asserts your choice. Advertising ID and Tailored experiences (per-user, HKCU); Cross-Device Platform and Activity History / Timeline (HKLM policy). Each is monitored against your preference and reversible. See the Privacy section of SETTINGS-REFERENCE.md.

Network

Network-latency tweaks. Network Throttling (MMCSS packet pacing) is a safe, well-established tweak. Nagle's algorithm (per-interface TCP no-delay) and NIC power management (stops Windows from powering down the adapter) are contested -- their benefit varies by hardware and can make some connections worse, so read each Learn more and revert if latency degrades. All three ship at full monitor / desired / auto-apply parity. See the Network section of SETTINGS-REFERENCE.md.

Windows services

A curated catalog of services GamerGuardian can stop + disable (or set to Manual). One-click "Gaming optimized" preset, plus per-service Default/Manual/Disabled. Includes DiagTrack (telemetry), MapsBroker, Fax, lfsvc (Geolocation), wisvc (Windows Insider), Xbox services, DoSvc (Delivery Optimization), iphlpsvc (IP Helper), RemoteAccess / RemoteRegistry (drift-confirm), and more. See ServiceCatalog.cs for the full list.

Windows AI

Policy-toggle disables for Copilot, Recall, Click-to-Do, Edge Copilot/Hubs/GenAI, Notepad Rewrite / Paint AI, Windows search AI suggestions, Windows AI Actions (right-click rewrite/summarize), typing-data harvesting, and Microsoft 365 Copilot in Word/Excel/OneNote. Optional one-way removal of Windows AI UWP packages (Microsoft.Copilot, Microsoft.Windows.Ai.Copilot.Provider, MicrosoftWindows.Client.AIX) and service disables for WSAIFabricSvc + AarSvc. Inspired by zoicware/RemoveWindowsAI but stays in the safe "policy toggle + service disable + opt-in UWP removal" lane -- every change is reversed by deleting the same registry value or re-enabling the service. Walk-through in the Windows AI section of SETTINGS-REFERENCE.md.

Performance & gaming impact

Designed to be invisible during gameplay.

  • ~23 MB working set at idle, ~10 ms per polling tick (default 30 s interval).
  • Pauses entirely during fullscreen games, borderless-fullscreen games, and known benchmarks (3DMark, Cinebench, Geekbench, AIDA64, Unigine, OCCT, etc.).
  • No process spawning for reads. Power plan reads/writes go through powrprof.dll directly.
  • No kernel hooks, no drivers, no admin — only HKLM writes need elevation, which prompts UAC.

Memory + pause-detection details: Build from source (CI build flags) and MonitorService.cs.

How it works

Pure user-mode P/Invoke. Each monitored setting is an IMonitoredSetting implementation in src/GamerGuardian/Monitors/ — adding a new one is ~30 lines. Full source-file reference: Source file reference.

API surface Used for
Connecting and Configuring Displays (CCD) HDR state, VRR, display enumeration
EnumDisplaySettingsEx / ChangeDisplaySettingsEx Refresh rate, resolution
powrprof.dll Power plan
SystemParametersInfo Mouse precision
Direct HKCU / HKLM registry access All registry-backed settings
sc.exe (via Verb=runas) Windows service start type + stop
SHQueryUserNotificationState Fullscreen game / presentation detection
Process.GetProcesses Benchmark detection
EmptyWorkingSet (psapi) Working-set trimming

Verification

GamerGuardian doesn't ask you to take its word for it. Independent ways to confirm what it's doing — see Verification for the full rundown:

  1. The Settings UI re-reads from the OS after every Apply
  2. The Apply Results window shows before / target / after for each setting
  3. The footer Verify all button re-reads every monitored setting and writes a [SNAPSHOT] to changes.log -- nothing is applied
  4. Every change writes a copy-pasteable PowerShell apply and verify command to changes.log
  5. Verbose log lines include [SESSION] (version + OS + elevation), [APPLY-START] / per-change record / [APPLY-END], [EXTRESET] (Windows reverted a value we'd applied), and [PREF-STAGE] (a draft toggle, not yet applied)
  6. GamerGuardian.exe --test dumps every monitor's current readout to %TEMP%
  7. Every Release ships with a SHA256SUMS.txt you can verify against your local download
  8. Every monitor is one ~30-line file in src/GamerGuardian/Monitors/

Documentation

Security

CodeQL static analysis, Dependabot vulnerability watch, OpenSSF Scorecard public score, SHA-256 checksums on every Release, and per-release VirusTotal scans (linked from each release's notes). Code signing via the SignPath Foundation is on the roadmap. Full details + spot-check guide: Security.

  • Verifying your download: three independent integrity checks (VirusTotal scan link, SHA-256 checksum, SLSA Build Provenance attestation) — see Verifying your download.
  • Reporting a vulnerability: SECURITY.md
  • Privacy policy: PRIVACY.md — short version: nothing is collected, nothing is transmitted, no first-party server exists.

Compatibility

  • Windows 11 (any version). Windows 10 support is on the roadmap.
  • x64 only.

Contributing

Issues and PRs welcome. New monitor modules just need to implement IMonitoredSetting — see HdrMonitor.cs for the canonical example. Setting-reference link rot is a known maintenance task; PRs welcome.

License

MIT © GamerGuardian Contributors


Made with care for gamers tired of Windows silently changing their settings.

About

Windows tray app that watches gaming display settings (HDR, refresh rate, etc.) and alerts you when they drift

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors