Skip to content
 
 

Repository files navigation

vibranceGUI 2026

vibranceGUI 3.0.0 — a modernized fork of juv's vibranceGUI. It automatically raises the GPU's digital-vibrance (NVIDIA) / saturation (AMD) level while a game is in the foreground and restores your desktop level afterwards.

This fork is a ground-up rewrite: .NET 10, x64, WPF, direct managed calls to nvapi64.dll / atiadlxx.dll — no vibranceDLL, no .NET Framework, no x86.

Attribution: original project by juv / juvlarN, see also vibrancegui.com. Credits only — this app has no runtime dependency on them. Not affiliated with or endorsed by NVIDIA or AMD. Fork modifications are released under the MIT license (see LICENSE); the original repository carries no explicit license file — attribution is kept and the original author's rights are respected.

Main window

Why gamers use it

In competitive shooters, enemy visibility wins fights. Washed-out, desaturated textures make opponents blend into walls and shadows — a higher digital vibrance makes colors pop so targets stand out. vibranceGUI does that automatically, per game: launch the game and your chosen level kicks in; alt-tab or close it and your desktop goes back to normal. No trips to the NVIDIA Control Panel, no forgetting to turn it off.

  • Spot enemies faster — saturated colors separate players from drab backgrounds (the original reason this tool exists in the CS community — works great in extraction shooters like Wardogs too)
  • See into the dark — the FPS preset combines vibrance with a slight gamma and contrast lift, so shadowed corners stop being black holes
  • One click setup — Detect installed games finds your Steam/Epic library and proposes the right executables; pick a level, done
  • Tune it live — Ctrl+Alt+↑/↓ nudges the level while you play; a toast shows the current value without stealing focus
  • Easy on the eyes at night — the Night preset and the scheduled night mode cut blue light on the desktop
  • Anti-cheat safe — it only talks to the GPU driver, exactly like the NVIDIA/AMD control panels do: no injection, no game hooks, no memory reads. VAC/Faceit/EAC-safe by design

Per i giocatori: vibranceGUI alza automaticamente la saturazione quando un gioco è in primo piano e ripristina il desktop su alt-tab o alla chiusura — nemici più visibili, zero sbatti. Ora anche con gamma, contrasto e riduzione blu per gioco. Nessuna iniezione nel gioco: usa solo le API del driver, come il pannello NVIDIA.

Requirements

  • Windows 10 22H2 or Windows 11, x64
  • NVIDIA driver exposing Digital Vibrance Control (DVC), or
  • AMD Adrenalin driver (ADL2/ADL — untested on hardware, see COMPATIBILITY)
  • .NET Desktop Runtime 10 (framework-dependent build) or the self-contained "portable" build, which needs nothing extra
  • Intel GPUs are not supported (no documented saturation API — see COMPATIBILITY)

Download / build

Download: grab the latest build from Releases — vibranceGUI-3.0.0-win-x64-portable.zip (≈150 MB, no runtime needed, recommended) or vibranceGUI-3.0.0-win-x64.zip (≈27 MB, needs the .NET 10 Desktop Runtime). Unzip and run vibranceGUI.exe — keep the DLLs next to the exe in the portable build.

Prebuilt artifacts are also produced by CI (ci.yml) on every push.

Build from source (VS 2022 17.14+ or the .NET 10 SDK pinned in global.json):

dotnet build vibranceGUI.sln -c Release
dotnet test  vibranceGUI.sln -c Release

dotnet publish src/VibranceGui.App -c Release -r win-x64 --self-contained false -p:PublishSingleFile=true -o out/fd
dotnet publish src/VibranceGui.App -c Release -r win-x64 --self-contained true  -p:PublishSingleFile=true -o out/portable

Usage

vibranceGUI lives in the system tray. Closing the window hides it; exiting happens via the in-window Exit button, Ctrl+Q, or tray → Exit.

The main window is a single screen: a status pill in the header, the desktop and default in-game levels as cards, and the games list with inline level sliders.

  • Desktop level — the slider applies live (100 ms debounce) and is saved ~1 s after you stop; preset chips 50/70/80/100.
  • In-game level (default) — the level prefilled when you add a game; Try 3 s previews it on all displays.
  • Profiles — per-executable rules: in-game level (editable inline — changes apply immediately while that game is running), optional desktop level while the game runs (used on alt-tab), optional HDR level, optional resolution switch (row menu → Advanced…). Add programs from a file or from the running-processes picker; import/export as JSON (merge by process name).
  • Per-game color pipeline — profiles can additionally carry driver-level gamma, brightness, contrast, hue and blue-reduction adjustments applied while the game is in the foreground (per-channel where the driver exposes it). The display's exact prior color state is captured and restored on every exit path — including after a crash via restore-pending.json. A scheduled night mode (settings → Night mode) applies desktop-only blue reduction/brightness inside a configurable [start, end) window and never stacks on a running game's profile. See COMPATIBILITY for the per-driver capability notes. Row menu → Preset applies a combined look: Vibrance only, FPS, Cinema, Night.
  • Detect installed games — Add game → Detect installed games… scans Steam (libraryfolders.vdf + app manifests, all library folders) and Epic launcher manifests and proposes the likely game exe (verifiable in Advanced…).
  • Level toast — on every level change a small overlay shows the applied level bottom-right of the game's monitor for ~1.5 s (gear → Show level toast, on by default). It never takes focus. Note: Windows cannot draw it over exclusive-fullscreen games — use borderless/windowed-fullscreen to see it in-game.
  • Options (gear flyout) — Game display only (default on), Never change resolution (default on), start minimized, start with Windows (opt-in), update check (opt-in — queries GitHub Releases once per start, downloads nothing), language (Auto / English / Italiano; needs a restart).
  • Hotkeys — defaults Ctrl+Alt+V (toggle), Ctrl+Alt+R (reset to desktop), Ctrl+Alt+↑/Ctrl+Alt+↓ (raise/lower the active level by 5 — in-game adjusts the running profile, desktop adjusts the desktop level); editable, validated on focus-loss.
  • Tray — Open, Toggle vibrance, Reset to desktop, Start with Windows, Exit. The icon shows the currently applied level (green = in-game, grey = desktop, amber = suspended); the tooltip shows the live state; errors and updates surface as balloons.

Command line / environment

Switch Effect
--minimized start hidden in the tray
--force-nvidia / --force-amd skip the other vendor's backend
--debug Debug log level; also shows the window
--run-for <s> (dev/testing) normal shutdown after s seconds
VIBRANCEGUI_DATA_DIR (dev/testing) override the data directory

Data files (%APPDATA%\vibranceGUI\)

  • settings.json — all settings and profiles (legacy INI/XML is migrated automatically on first run — see MIGRATION)
  • vibranceGUI.log — rotating log (1 MiB × 3 generations)
  • restore-pending.json — recovery marker: written while a non-desktop level is applied; if the process is killed, the next start restores the desktop level on the marked displays and deletes the marker.

Anti-cheat statement

vibranceGUI is an ordinary external tool. It does not inject into games, install input hooks, or read game memory. Foreground detection uses SetWinEventHook with WINEVENT_OUTOFCONTEXT | WINEVENT_SKIPOWNPROCESS only; process identification uses PROCESS_QUERY_LIMITED_INFORMATION (+SYNCHRONIZE for exit waiting). It only calls the vendor display-driver APIs.

GPU support

NVIDIA desktop GPUs (tested: RTX 3070, driver 32.0.16.1656 / GeForce 616.56); AMD via ADL (untested on hardware); per-display control across monitors; NVIDIA laptop internal panels are generally not controllable. Details and known limitations: COMPATIBILITY.

FAQ

  • Counter-Strike 2 — a cs2 profile ships in first-run defaults (a csgo profile too). If the game jumps to the second monitor when launching fullscreen: Never change resolution is on by default now — but if a per-game resolution switch is still needed, prefer borderless / fullscreen-windowed mode in the game.
  • "Override to reference mode" (#149) — if levels don't stick, NVCP → Display → Adjust desktop color settings → untick Override to reference mode. The app detects read-back mismatches and explains this in a balloon.
  • Vibrance not resetting after a crash (#144) — fixed by design: a process-exit watch plus the restore-pending.json marker restore the desktop level even after a hard kill.
  • Laptops — internal panels are typically wired to the iGPU and not controllable; external displays on the dGPU (MUX) should work — untested.
  • Dual GPU — each display is owned by the backend that controls it.
  • Frametime spikes (#156) — v3 debounces foreground events (150 ms), filters non-top-level/cloaked windows, and caches levels so it doesn't re-write unchanged values. Not verified against driver R595+ on this machine — residual risk, see COMPATIBILITY.
  • Privacy — zero telemetry; the only network call is the opt-in update check against GitHub Releases.

Contributing

Issues and PRs welcome. See docs/AUDIT.md (original analysis), docs/MIGRATION.md (developer section: architecture map, design decisions), docs/COMPATIBILITY.md, CHANGELOG.md.

About

vibranceGUI 2026 - modernized fork: per-game digital vibrance and color adjustments, game detection, presets, night mode. .NET 10 / WPF / x64.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages