Brightness not working Ubuntu 20.04 Lenovo Legion 5 (15IMH05)

Still not working for me…

2 Likes

nvidia.NVreg_RegistryDwords=EnableBrightnessControl=1 works for me!

The /etc/default/grub file.

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia.NVreg_RegistryDwords=EnableBrightnessControl=1"
sudo update-grub

But I have set ‘Discrete graphic’ in BIOS Settings. I haven’t other changes of a clear system, only grub and BIOS.

Without this configuration it didn’t work for me. Also I had limited settings for NVIDIA settings when I had Security Boot Enable. When I had Security Boot - Disabled I had more settings, but I hadn’t display configuration.

When I have updated BIOS settings and Grub I have got worked brightness.

My laptop is Lenovo Legion 5 Gen 6 (NVIDIA + Intel graphics):

  • NVIDIA Corporation GA107BM [GeForce RTX 3050 Ti Mobile]
  • 11th Gen Intel(R) Core™ i7-11800H
    NVIDIA driver 470.82.00 from Ubuntu Additional drivers.
2 Likes

Hi, I have same promblem on Lenovo legion 5. This is the command output in my case:
david@david:~$ ls /sys/class/backlight
acpi_video0

acpi_video0 is a directory with content:
david@david:~$ ls /sys/class/backlight/acpi_video0
actual_brightness bl_power brightness device max_brightness power scale subsystem type uevent

Had to create an account to thank you!! I’m searching for hours and this works.

I edited the grub file, set discrete graphic and set security boot on disabled.

My specs:
Lenovo Legion 5 15ITH6H
11th Gen Intel® Core™ i7-11800H @ 2.30GHz × 16
NVIDIA Corporation GA104M [GeForce RTX 3070 Mobile / Max-Q]
NVIDIA driver 470.86
Ubuntu 21.10

Hope this helps, cheers!

1 Like

Thank You, i have been using a script for changing the brightness with xrandr but i finally can have piece of mind.

Hello @amrits , on my machine there are 2 directories under /sys/class/backlight: amdgpu_bl0 and nvidia_0. The interesting thing is that the keyboard buttons and the brightness slider do change the values of the brightness in /nvidia_0, but this doesn’t affect the brightness of the screen. Instead, when I manually change the brightness values in /amdgpu_bl0, the brightness of the screen changes! What do you think about this?

1 Like

@maxpav
Please share bug report and acpi dump from the failing systems.

It worked after changing nvidia driver to 470 !!!

Thank you for your suggestion

I can confirm, that

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia.NVreg_RegistryDwords=EnableBrightnessControl=1"

on Ubuntu 22.04 and GeForce RTX 3600 mobile with the 470.XX.XX driver works on a Legion 7 (2021) (16ACHg6) for controlling the backlight - while it does not with 515.XX or 520.56.06 (with 520.56.06 there is even one more regression: the backlight is completely off after sleep - so the display is basically off. As you cannot control it, you have to force-reboot…).

There are some ACPI errors regarding backlight:

[    5.911249] ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.GP17.VGA.LCD._BCM.AFN7], AE_NOT_FOUND (20211217/psargs-330)
[    5.911350]  Initialized Local Variables for Method [_BCM]:
[    5.911350]   Local0: 0000000013343bf7 <Obj>           Integer 00000000000000FF
[    5.911354]   Local1: 000000002274e16a <Obj>           Integer 0000000000000000
[    5.911357] Initialized Arguments for Method [_BCM]:  (1 arguments defined for method invocation)
[    5.911358]   Arg0:   00000000510381c2 <Obj>           Integer 0000000000000064
[    5.911363] ACPI Error: Aborting method \_SB.PCI0.GP17.VGA.LCD._BCM due to previous error (AE_NOT_FOUND) (20211217/psparse-529)
[    5.911494] ACPI: \_SB_.PCI0.GP17.VGA_.LCD_: _BCM evaluation failed

Interestingly: on a Legion 5 (2021) (15ACH6H) with otherwise the same software setup and BIOS revision (gkcn57ww), the backlight control works with 515.XX (didn’t test with 520).

In both cases the graphics are set to “discrete” mode, so the NVIDIA card is the only one in the system.

2 Likes

Ok, I created an account just to reply.
after reading, I noticed that the screen is still controlled by intel graphics if you didn’t set you laptop to discrete mode
I didn’t want to change, because I want to have the possibility of being hybrid.
So I found what I needed to change to be able to change the brightness.

vim /sys/class/backlight/intel_backlight/brightness

The value when screen is on maximum is 512, so 50% is 256, 25% is 128 and so on.
I’m still a noob with linux, so I still don’t know who to reroute the brightness button to change this value.
But at least now you know where to change it.

After trying everything else what finally worked for me was using the 470 driver from additional drivers after setting the grub flag as in your comment! Thank you so much for sharing your setup details, bud!

Edit: My machine is a Lenovo 82JQ00H4AX Legion 5 Pro 16ACH6H(AMD Ryzen 7 5800H + RTX 3070 Max-Q) running Ubuntu 22.04.1 LTS.

Thank you so much! You are a life-saver, my eyes are so happy now :)

Making an account just to document that

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia.NVreg_RegistryDwords=EnableBrightnessControl=1"

works for me on Lenovo Thinkpad W530 (GK107GLM [Quadro K1000M] graphics card) running on Ubuntu 24.04 LTS. Problem started after installing nvidia-driver-470 as it is the correct driver for this card according to this post so I can use Android Studio emulator.

Top result when I google ubuntu nvidia brightness returns this link. I don’t know if I did it wrongly, but following either answers results in a black screen on reboot. This simple grub change does the trick without having to do any update-initramfs -u.

I hope this helps future confused people.