Anyone here struggle with trying to adjust brightness on Gnome in low light? At the low end, the steps are way too far apart, and at high brightness they’re almost imperceptible. Every other operating system uses a brightness curve that better matches human perception.
I’ve improved the brightness control of the Gnome settings daemon, using a bezier curve based brightness curve. I’ve also written all the appropriate tests which it passes. With this implementation, the change in brightness between each step should be perceptually identical, providing more nuance at low brightness and faster control at high brightness.
Would you all like to see this become a part of Gnome? The MR is about 4 weeks old now and the maintainers haven’t looked at it yet so I’m looking to gauge public interest and see if users want to see it merged.
The MR is about 4 weeks old now and the maintainers haven’t looked at it yet
Looks like someone gave a review about 15hrs before this post
Yep, I’m working through the review. He’s a contributor though not a maintainer.
This sounds like a big improvement to me. Can users vote for mr?
You can react to the MR with an emoji if you have a gnome gitlab account. I’m not sure if there are mechanisms to vote for MRs other than that.
That’s somehow really fitting for Gnome (-_-)
Thank you.
I hate that most Linux brightness controls assume that humans perceive brightness linearly for some reason. I don’t want a flash bang in dark surroundings when I forget to use the slider. I don’t want to press my brightness up key a thousand times or resort to the slider in bright surroundings.
So yes, please merge this.
You get it. That’s exactly what made me write this MR.
Sounds amazing to me. I don’t use gnome on a laptop much thusfar but I’d definitely prefer what you describe here
I know that this is probably some close-sourced shenanigans, but can I push the limits of brightness below what GNOME sets? In Windows, I could go as low as I could, but this isn’t possible in GNOME anymore.
Typically their is some sort of low-level knob in
/sys
(tryfind /sys | grep backlight
) which can be used to set it to any value. Be careful playing around though because0
is often completely off and it can be hard to set it back. (Although a reboot should fix it if nothing tries to be clever and preserve it at shutdown.)With my code, the lowest brightness setting should be closer to the minimum supported by the screen. There are some limitations with this because some screens become flickery at very low brightness levels. You might be able to circumvent the lower limit by using something other than the gnome settings daemon to set the brightness.
I can see you’ve gotten some code review so I will just eagerly watch as this gets worked out and eventually merged.
I never had an issue with the backlight curve or lack thereof however a friend recently demoed a similar impl they put together for hyprland and it is a very nice change.
Looking forward to seeing it in the next Gnome release 🤞
Sounds great, and is very welcome! Please merge. Thank you. Do you guys have any idea why ddc/ci controls for brightness control of external screens are not yet implemented in any major De? It’s the same on windows, still not part of the Os. Third party tools available since ages.
there is a ddcci dkms driver that exposes displays as Linux backlight devices. That integrates them into all DEs!
But are there any DEs that make use of this and include setting screen brightness on external screens as easy as for laptops? Is it because each screen manufacturer implements altering brightness/contrast/etc. via ddcci differently?
yes, all of them. That’s how laptop screen brightness is controlled
This is really cool. I would like to see it merged
Didn’t know I wanted this, unfortunately I use Cinnamon, but this is a great feature!
I only use gnome on my laptop, where I luckily have buttons to control brightness, but this seems like a really good thing to get implemented.
I run GNOME on my laptop and I’d definitely love to see more robust brightness control. Thanks for putting in the work to make this happen.