For Android devices, this calibration was already done by the manufacturers, and we can simply reuse the tables from Android. I'm planning to do a little write-up on how to (crudely) do own measurements and get the data for your devices.
The auto brightness is implemented as a dbusService for gnome-shell, it should be fairly easy to move into out a separate project. I’m hoping that we can start an effort to have a DE independent daemon that does the heavy lifting for auto brightness.
There‘s also a new module for handling power states and events. This means we get to do a lot more nice things:
- A proper fade out animation when turning off the screen.
- The auto brightness is adjusted instantly and seamlessly when turning on the screen.
- The device no longer gets into a wake-up loop from „auto suspending soon“ notifications where it never actually suspends.
- On power button long press, we now show the power menu.