I have this laptop: https://laptopmedia.com/review/lenovo-ideapad-creator-5-15-review-fresh-alternative-for-professionals-on-the-budget/
It has NVIDIA GeForce GTX 1650. I never had the brightness controller working using Fn+F5(down)/F6(up) working on Ubuntu. I am using Ubuntu 20.04 and I have both list of packages and system updated. The NVIDIA driver my system currently use has version 460.39.
Can anyone help me make it work?
I have tried to modify the xorg file based on the instructions here: https://www.sentinelstand.com/article/ubuntu-1910-on-lenovo-legion-y540 (this had no effect)
I tried to update the grub file as mentioned https://www.debugpoint.com/2016/10/2-ways-fix-laptop-brightness-problem-ubuntu-linux/ and I updated grub after the change(still not working)
I tried this too, adding additional options to the conf file: Brightness not working after installing NVIDIA driver (not working)
I have tried multiple GNU/Linux distributions in live USB mode to test if the brightness controller works and I found none. I suspect that I miss something. I have seen multiple people using Lenovo laptops without this kind of problem.
I am very tired of this issue since I tried so many solutions before asking. My eyes at night don't seem to like the amount of light they receive. I got a temporary solution at some point:
# brightness: Change all monitors brightness in software.
# by hackerb9, 2019
Examples: brightness 75; brightness -5; brightness +10
Usage:
brightess [n] [+n] [-n]
n An integer from 0 to 100 specifies a brightness level.
+n Increase brightness by n.
-n Decrease brightness by n.
No argument shows current brightness level.
https://itectec.com/ubuntu/ubuntu-control-monitor-brightness-with-keyboard-shortcut/
b=$(xrandr --current --verbose | grep Brightness)
b=${b#: } # Remove "Brightness: "
b=${b#0.} # 0.30 --> 30
[[ $b == "1.0" ]] && b="100"
case $1 in
+|-)
b=$((b $1)) # b=b+10, b=b-10
;;
[0-9])
b=$1 # b=75
;;
*)
echo $b; exit
;;
esac
[[ $b -lt 0 ]] && b=0
[[ $b -gt 100 ]] && b=100
if [[ $b -eq 100 ]]; then
b=1.0
else
b=0.$b
fi
outputs=$(xrandr --current | awk '$2 == "connected" {print $1}')
for o in $outputs; do
xrandr --output $o --brightness $b
done```
But it really doesn't get preserved after login/logout and also applications like redshift, f.lux or nightlight or random applications reset the brightness. The amount of the brightness change is harmful some times. Another downside of the script is that it interferes with microphone volume in a random way.