by Fushko

Fushko /gammy

Adaptive screen brightness/temperature for Windows and Linux

152 Stars 7 Forks Last release: 11 days ago (v0.9.58a) GNU General Public License v3.0 452 Commits 28 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:


is a GUI tool for adjusting pixel brightness/temperature automatically or manually.

It can dim the screen if its content is too bright, or brighten it otherwise. This can help your eyes adjust when switching between dark and light windows, especially at night or in suboptimal lighting conditions.

Screenshots available on its website.




Visual C++ 2017


The latest Windows release can be found here. Unpack and run it, no installation required.



  • X11
  • g++ compiler with C++17 support

  • git

  • build-essential

  • libgl1-mesa-dev

  • qt5-default (5.12+)

On Debian-based distros:

sudo apt install git build-essential libgl1-mesa-dev qt5-default libxxf86vm-dev

Additionally, the "qt5ct" plugin is recommended if you are running a DE/WM without Qt integration (e.g. GNOME):

sudo apt install qt5ct

Build and run

git clone
cd gammy

NOTE: If make fails with

PlaceholderText is not a member of QPalette
errors in uimainwindow.h, your Qt version is older than 5.12. Updating Qt is recommended, but as a workaround you can delete the offending lines in uimainwindow.h, then run make again.


Gammy starts minimized in the system tray (or maximized if the tray is absent). Click on the icon to open the settings window.

  • The padlock icon allows the brightness range to go up to 200%. (Linux only)
  • The "Range" slider determines the minimum and maximum brightness.
  • The "Offset" slider adds to the screen brightness calculation. Higher = brighter image.
  • Clicking on the first "..." button shows additional options related to adaptive brightness:
    • "Adaptation speed" controls how quickly the brightness adapts when a change is detected.
    • "Threshold" controls how much the screen has to change in order to trigger adaptation.
    • "Screenshot rate" determines the interval between each screenshot. Lowering this value detects brightness changes faster, but also results in higher CPU usage. Increasing this value on older PCs is recommended.
  • "The second "..." button opens a window to control the time schedule for adaptive temperature, as well as the adaptation speed.


If you are experiencing an "Invalid gamma ramp size" fatal error, refer to this post.

Third party

  • Qt 5 (LGPL)
  • Plog (MPL)
  • JSON for Modern C++ (MIT)
  • Qt-RangeSlider (MIT)


Copyright (C) Francesco Fusco.


We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.