Skip to content

Changelog

This project is complete and stable, no actions are needed unless a driver update breaks it!

  • Don't panic when it breaks, follow this FAQ section for a workaround and asking a patch release.

📦 v1.3.0 Staging

📦 v1.2.1 May 28, 2026

  • Port readme contents into a website made with Zensical
  • Update GitHub Actions workflow to ubuntu-24.04 for newer GCC versions #37
  • Update prebuilt binaries up to driver v610.43.02 (breaking changes) #39

📦 v1.2.0 Mar 06, 2026

Maintenance release, support newer drivers, major packaging changes.

After learning a few tricks writing rustbin, I'm backtracking into fixing some less than ideal decisions and designs in nvibrant - most notably using TemporaryDirectory for compiling the meson project, including artifacts via hatchling build hooks, and properly tagging wheels instead of using py3-none-any (which is wrong, binaries are for specific os+arch targets).

Changes:

  • Update prebuilt binaries up to driver v595.45.04 (breaking changes)
  • Python runtime code is now minimal and doesn't include building infrastructure.
  • Add this changelog.md file and reference it on all past releases.
  • Enable Immutable Releases in the GitHub repository.

Breaking:

  • Wheels are now tagged for each platform, eg. nvibrant-1.2.0-py3-none-manylinux_2_17_x86_64.whl
    • After much thought, yanking all previous releases on PyPI is the best course of action, to prevent unsupported platforms from accidentally installing a wrong py3-none-any wheel. Users who use pinned versions will notice no changes, as it overrides yanks. There are no issues with older versions and you can keep using them normally, pardon my mistakes.
    • Rename internal binaries from nvibrant-linux-amd64-590-48-01-v1.1.0.bin to nvibrant-590.48.01, as wheels contain version information, and package managers should vendor drivers separately.
  • Stop providing standalone .tar.gz releases, as .whl are Zips and can extract /nvibrant/resources/*
  • Downgrade the build script into regular build hook, always making a wheel for the current host (a step towards sdists). Should be buildable in Linux ARM now, feedback welcome.

Note that source distributions are intentionally not supported for technical reasons (complex build steps), and that nvidia only has drivers for x86-64 glibc and aarch64 linux (the package is complete).

📦 v1.1.0 Jul 29, 2025

First release with significant changes and new features in a while. Should be fully compatible with the previous usage, recommendation to use pinned version still holds.

  • Add support to change dithering via environment variable ATTRIBUTE=dithering uvx nvibrant, as some users have flickering/artifacts with it enabled. Related issue #18 and readme section.
  • Safer code that reads a type directly from argv with inline limits instead of an auxiliary vector.
  • Reviewed and overhauled the readme, better visibility, build instructions.

Note: The env var defaults to vibrance if unset, in case you use it elsewhere - wished it was a CLI, but it works and I have other priorities.

📦 v1.0.6 May 25, 2025

  • Add proper Multi GPU support with NVIDIA_GPU=index (default: 0) environment variable #8
  • Shouldn't break compatibility, slight worry for >= v575 drivers, feedback welcome!

📦 v1.0.5 Apr 22, 2025

  • Search for a closest match of a previous driver in the bundled files if an exact match is not found (Commit f22db7, issue #7). This makes it so that patch or minor bumps don't need a build every time. Should work even across major releases, you can't win if you don't play, right?
  • Added packaging dependency on python for easily finding the best version

📦 v1.0.4 Apr 20, 2025

  • Releases are now also published on PyPI. All nvidia driver versions binaries are bundled with them, using the one matching your current driver at runtime.
  • Move meson and ninja from the regular dependencies to development dependencies of v1.0.3 on PyPI
  • Package the 143 files in a .tar.gz for GitHub releases, that's what a good night of sleep does to you.

  1. I had chosen GPL in a hurry and by habit. Spiritually, nvibrant should be a small, simple project. 🙂