Skip to content

Releases: SwatX18/vibranceGUI

Release list

vibranceGUI 2.6.0

Choose a tag to compare

@SwatX18 SwatX18 released this 28 Aug 12:10
8609a93

vibranceGUI v2.6.0

About this release

This is the first release of this fork. Everything below has been merged for a while, but this
fork has never published a download before today, so none of it has reached a real user. Treat this as an early, unproven build: several fixes below
are based on careful reading and reflection-driven tests, not on reproducing the original bug on
the reporter's own hardware, and nothing in this fork has yet been run against a real running
game. If something regresses for you, please say which issue number (if any) you were on before
upgrading - that is the fastest way to narrow down which change is at fault.

New

  • Find games automatically. A new "Find games" button scans your Steam, Epic, EA, Battle.net,
    Rockstar and other installed libraries and shows what it found in a review window - one row per
    game, already-added games greyed out, nothing to add one at a time. Steam games in particular
    are matched two ways (by the executable vibranceGUI can find, and by install folder), because
    Steam does not publish which .exe a game actually runs.
  • Toggle a game's profile with a hotkey. Bind a key combination that flips the current game
    between its configured level and your normal Windows level without alt-tabbing out. The choice
    sticks until you press it again or restart vibranceGUI. It uses RegisterHotKey, not a
    keyboard hook, so it does not install anything that could be mistaken for cheat software by a
    game's anti-cheat.
  • See which profiles are currently toggled off. Profiles switched off with the new hotkey are
    now marked (Off) in the game list, with their own colour and a tooltip explaining why - so the
    state doesn't disappear once the tray notification fades.
  • Start normally on machines with two GPU drivers. If you have both an NVIDIA and an AMD
    driver installed - the common case for an AMD-CPU laptop or desktop with a discrete NVIDIA card,
    or anyone who upgraded GPUs without fully uninstalling the old driver - vibranceGUI used to
    refuse to start and tell you to uninstall a driver. It now checks which adapter is actually
    driving a connected display and starts using that one automatically. Only asks you to choose
    when it's genuinely ambiguous, and remembers your answer after that.

Fixed

Vibrance getting left on, or changed on the wrong monitor

  • A second monitor's saturation was being reset to a default value on every single launch,
    independent of your saved setting - even if you never touched that monitor (issues juv#60, #36).
  • Alt-tabbing to a different monitor while a game was still running no longer leaves that game's
    monitor stuck at its in-game vibrance level (juv#95), and no longer leaves another monitor
    saturated when the game's own display was never touched (juv#144).
  • Turning "affect primary monitor only" on or off in the middle of a session no longer strands a
    monitor at whatever level it last had.

Colour/gamma restore leaving a washed-out or grey-tinted screen

  • Restoring after a game closed used to overwrite your monitor's colour calibration - an ICC
    profile, f.lux, Windows Night Light - with a flat, uncalibrated ramp, even at default settings
    (juv#128, likely also juv#131). Restore now replays your actual pre-game calibration composed with
    your in-app slider settings, instead of discarding it.
  • The brightness/contrast/gamma sliders were swapped with each other internally, so the colour
    values you set were not the ones actually being applied.
  • Gamma is now restored when you quit vibranceGUI, not just when a game closes.
  • A graphics resource was leaked on every colour write, which could degrade over a long session.

Stutter and CPU use

  • Frametime spikes on every mouse click, on NVIDIA R595-branch drivers and newer (596.xx, 610.xx).
    vibranceGUI was subscribed to a 21-event range that includes mouse-capture events, system-wide,
    and never checked which event it had received - so every click ran the full foreground handler:
    two complete process enumerations, a walk of every top-level window, and one driver read per
    display. It now ignores everything except the two events it actually needs (juv#156).
  • Note that the reporter of juv#156 has not yet confirmed this resolves it on their hardware, and a
    slower driver-side call in R595+ may be a second, separate factor.

Resolution changes

  • "Changing the resolution failed: DispChangeBadFlags" should no longer strand your desktop at a
    game's resolution or spam repeated error dialogs (juv#114, juv#132). The underlying cause was that
    vibranceGUI's memory of "your normal Windows resolution" was captured once at startup and never
    updated - so if you changed your desktop resolution after launching vibranceGUI, it would try to
    revert you to the stale, wrong one, report success regardless of whether the change actually
    applied, and could get stuck retrying forever.
  • Failures now show at most one notification per problem instead of a stack of repeated dialogs.

Crashes and startup problems

  • Opening a game's settings dialog after switching GPU vendors (or with a corrupted settings
    file) could crash the app outright; out-of-range saved values are now clamped instead.
  • A GPU with no display currently connected (e.g. an NVIDIA card in a Thunderbolt enclosure that's
    unplugged) could previously send vibranceGUI into a runaway loop that ate memory until it
    crashed with an out-of-memory error (juv#138). That loop is now bounded.
  • The v2.5.0 colour-settings feature (per-game gamma/brightness/contrast, DPI awareness, a
    per-game reset button, --force-amd/--force-nvidia flags) is included here for the first time
    on this fork's main line - it had been tagged as released but never actually merged in, so
    previous fork builds were missing it entirely.

Housekeeping

  • Game matching can now also recognise a game by its install folder, not only by guessing its
    executable name, which fixes cases where a Steam game's real .exe bears no resemblance to the
    game's name or folder (e.g. PUBG's TslGame.exe).
  • The app's own links and contact details now point at this fork's maintainer instead of the
    original author, and the donation button soliciting money on someone else's behalf has been
    removed rather than repointed.

What this release does not claim

  • One fix has now been confirmed against a real, currently-running game: vibrance applying when a
    game takes focus and returning to your normal level when it exits. That is a single session, on
    one machine, by the maintainer - not a test matrix. No resolution change was involved and the
    colour settings were switched off, so those paths remain unexercised.
  • Everything else in this release is backed only by the regression checks (338 across 8 test areas,
    all passing), which drive the same logic through fakes and stubs, not a live GPU driver or
    display.
  • Several of the fixes above (in particular the vibrance/gamma restore work) were validated by
    reading the code, reflecting the real logic under test, and reasoning about the driver behaviour
    documented by Microsoft/NVIDIA/AMD - not by reproducing the original report on the reporter's
    own hardware.
  • If you're on a hybrid NVIDIA+AMD laptop or a Thunderbolt eGPU setup, you are on the least-tested
    path in this release; please report back either way.