Backlight sysfs broken on 525.85.05 / TU117M / Thinkpad X1

Hi,

There seems to be something wrong with the backlight sysfs interface exposed by the nvidia driver on this machine.

When the firmware is set to use the NVIDIA GPU only (dedicated mode), the backlight for the laptop’s built-in panel cannot be adjusted.

The driver exposes the nvidia_0 backlight interface in /sys/class/backlight, but it behaves strangely:

[root@s7x1 nvidia_0]# echo 1 > brightness 
[root@s7x1 nvidia_0]# cat actual_brightness 
1
[root@s7x1 nvidia_0]# echo 50 > brightness 
[root@s7x1 nvidia_0]# cat actual_brightness 
2
[root@s7x1 nvidia_0]# echo 99 > brightness 
[root@s7x1 nvidia_0]# cat actual_brightness 
9
[root@s7x1 nvidia_0]# echo 100 > brightness 
[root@s7x1 nvidia_0]# cat actual_brightness 
3

actual_brightness should probably increase as brightness increases, so this inconsistency seems to suggest a problem within the driver.

Also, none of these operations affect the actual panel brightness, which seems to be stuck at about 50%.

  • LENOVO ThinkPad X1 Extreme Gen 3 (20TK0047US) with NVIDIA GeForce GTX 1650 Ti Mobile TU117M (10de:1f95:17aa:22c0)
  • Linux 6.1.8 (from Arch Linux package linux 6.1.8.arch1-1)
  • Kernel is booted with nvidia-drm.modeset=1
  • nvidia 525.85.05 (from Arch Linux package nvidia 525.85.05-2)