Brightness control not working on 5.15.* kernels

Hi,

since updating the kernel to 5.15, my brightness control stopped working. However, on kernels 5.14.*, they do work as expected.

I think I am using the NVIDIA drivers:

$ ls /sys/class/backlight/
nv_backlight

Appending amdgpu.backlight=0 to GRUB_CMDLINE_LINUX in /etc/default/grub (see this post on ask fedora) did not change anything (neither on 5.14 kernels nor on 5.15).
I am on a Lenovo Lenovo Legion 5 15ARH05H with NVD RTX graphics and AMD Ryzen 7.

Would you like to post the result of /usr/sbin/lspci -k | grep -A 3 VGA.

Sure, here you go:

$ /usr/sbin/lspci -k | grep -A 3 VGA
01:00.0 VGA compatible controller: NVIDIA Corporation TU106M [GeForce RTX 2060 Mobile] (rev a1)
	Subsystem: Lenovo Device 3a47
	Kernel driver in use: nouveau
	Kernel modules: nouveau

You are using Nouveau driver, the opensource version of Nvidia driver. Because of that, I think you are not need amdgpu.backlight=0 kernel parameter except if you’re using dual GPU amd and nvidia.

Btw, maybe you want to reinstall sudo dnf reinstall xorg-x11-drv-nouveau and reboot. If this doesn’t work, you could consider using proprietary Nvidia driver for your GeForce RTX 2060 Mobile.

Personally I would always recommend using the nvidia driver for newer nvidia cards. Several recently have noted problems with the nouveau driver especially when using wayland and installing the nvidia driver fixed the issues.

I also always recommend installing those drivers from rpmfusion since that way the akmods-nvidia package is always able to automatically recompile the kernel modules with every kernel update. Installing directly from nvidia requires a manual recompile with every kernel update.

recently happened to me aswell and also doesn’t work on 5.16’s

was working well but looks like a recent upgrade broke something

if i check /sys/class/backlight/amdgpu_bl0/actual_brightness doesn’t change, but /sys/class/backlight/nvidia_0/actual_brightness does

the workaround is to change it like this (0-100)
echo 100 | sudo tee /sys/class/backlight/amdgpu_bl0/brightness

i’ll try first changing the kernel command on grub and if doesn’t work i’ll downgrade the kernel to find the latests that had it working

my setup

❯ inxi -Fxxxza --no-host
System:
  Kernel: 5.16.7-200.fc35.x86_64 x86_64 bits: 64 compiler: gcc
    v: 2.37-10.fc35 parameters: BOOT_IMAGE=/boot/vmlinuz-5.16.7-200.fc35.x86_64
    root=UUID=1c1e5ff4-629c-46b0-bd2e-d57c77b40b6e ro rhgb quiet
    rd.driver.blacklist=nouveau modprobe.blacklist=nouveau
    nvidia-drm.modeset=1 amdgpu.backlight=0
  Desktop: GNOME 41.3 tk: GTK 3.24.31 wm: gnome-shell dm: GDM 41.3
    Distro: Fedora release 35 (Thirty Five)
Machine:
  Type: Laptop System: LENOVO product: 82B1 v: Lenovo Legion 5 15ARH05H
    serial: <superuser required> Chassis: type: 10 v: Lenovo Legion 5 15ARH05H
    serial: <superuser required>
  Mobo: LENOVO model: LNVNB161216 v: SDK0R33126 WIN
    serial: <superuser required> UEFI: LENOVO v: FSCN14WW date: 08/26/2020
Battery:
  ID-1: BAT0 charge: 48.1 Wh (58.9%) condition: 81.6/80.0 Wh (102.0%)
    volts: 15.6 min: 15.4 model: SMP L19M4PC1 type: Li-poly serial: <filter>
    status: N/A cycles: 14
CPU:
  Info: model: AMD Ryzen 7 4800H with Radeon Graphics bits: 64 type: MT MCP
    arch: Zen 2 family: 0x17 (23) model-id: 0x60 (96) stepping: 1
    microcode: 0x8600104
  Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
    L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 4 MiB desc: 8x512 KiB
    L3: 8 MiB desc: 2x4 MiB
  Speed (MHz): avg: 1444 high: 1958 min/max: 1400/2900 boost: disabled
    scaling: driver: acpi-cpufreq governor: performance cores: 1: 1958 2: 1396
    3: 1690 4: 1411 5: 1397 6: 1398 7: 1397 8: 1397 9: 1341 10: 1346 11: 1397
    12: 1397 13: 1397 14: 1397 15: 1397 16: 1397 bogomips: 92624
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities:
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: spec_store_bypass
    mitigation: Speculative Store Bypass disabled via prctl
  Type: spectre_v1
    mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2 mitigation: Full AMD retpoline, IBPB: conditional,
    IBRS_FW, STIBP: conditional, RSB filling
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: NVIDIA TU106M [GeForce RTX 2060 Mobile] vendor: Lenovo
    driver: nvidia v: 510.47.03 alternate: nouveau,nvidia_drm bus-ID: 01:00.0
    chip-ID: 10de:1f15 class-ID: 0300
  Device-2: AMD Renoir vendor: Lenovo driver: amdgpu v: kernel
    bus-ID: 05:00.0 chip-ID: 1002:1636 class-ID: 0300
  Device-3: Chicony Integrated Camera type: USB driver: uvcvideo
    bus-ID: 3-3:2 chip-ID: 04f2:b6c2 class-ID: 0e02 serial: <filter>
  Display: wayland server: X.Org 1.21.1.4 compositor: gnome-shell driver:
    loaded: amdgpu note: n/a (using device driver) - try sudo/root
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x286mm (20.0x11.3")
    s-diag: 583mm (23")
  Monitor-1: XWAYLAND0 res: 1920x1080 hz: 144 dpi: 143
    size: 340x190mm (13.4x7.5") diag: 389mm (15.3")
  OpenGL:
    renderer: AMD RENOIR (DRM 3.44.0 5.16.7-200.fc35.x86_64 LLVM 13.0.0)
    v: 4.6 Mesa 21.3.5 direct render: Yes
Audio:
  Device-1: NVIDIA TU106 High Definition Audio driver: snd_hda_intel
    v: kernel bus-ID: 01:00.1 chip-ID: 10de:10f9 class-ID: 0403
  Device-2: AMD Raven/Raven2/FireFlight/Renoir Audio Processor
    vendor: Lenovo driver: N/A
    alternate: snd_pci_acp3x, snd_rn_pci_acp3x, snd_pci_acp5x, snd_pci_acp6x
    bus-ID: 05:00.5 chip-ID: 1022:15e2 class-ID: 0480
  Device-3: AMD Family 17h HD Audio vendor: Lenovo driver: snd_hda_intel
    v: kernel bus-ID: 05:00.6 chip-ID: 1022:15e3 class-ID: 0403
  Sound Server-1: ALSA v: k5.16.7-200.fc35.x86_64 running: yes
  Sound Server-2: PulseAudio v: 15.0 running: no
  Sound Server-3: PipeWire v: 0.3.45 running: yes
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Lenovo driver: r8169 v: kernel port: 2000 bus-ID: 03:00.0
    chip-ID: 10ec:8168 class-ID: 0200
  IF: eno1 state: down mac: <filter>
  Device-2: Intel Wi-Fi 6 AX200 driver: iwlwifi v: kernel bus-ID: 04:00.0
    chip-ID: 8086:2723 class-ID: 0280
  IF: wlp4s0 state: up mac: <filter>
Bluetooth:
  Device-1: Intel AX200 Bluetooth type: USB driver: btusb v: 0.8
    bus-ID: 5-3:3 chip-ID: 8087:0029 class-ID: e001
  Report: rfkill ID: hci0 rfk-id: 2 state: up address: see --recommends
Drives:
  Local Storage: total: 476.94 GiB used: 219.02 GiB (45.9%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung
    model: MZALQ512HALU-000L2 size: 476.94 GiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
    rev: BL2QFXV7 temp: 33.9 C scheme: GPT
Partition:
  ID-1: / raw-size: 27.94 GiB size: 27.33 GiB (97.83%)
    used: 18.07 GiB (66.1%) fs: ext4 dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-2: /boot/efi raw-size: 512 MiB size: 511 MiB (99.80%)
    used: 89.8 MiB (17.6%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 310.63 GiB size: 304.75 GiB (98.11%)
    used: 200.87 GiB (65.9%) fs: ext4 dev: /dev/nvme0n1p5 maj-min: 259:5
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default)
  ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) priority: 100
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: N/A mobo: N/A gpu: amdgpu temp: 40.0 C
  Fan Speeds (RPM): N/A
Info:
  Processes: 375 Uptime: 11m wakeups: 1 Memory: 15.06 GiB
  used: 3.1 GiB (20.6%) Init: systemd v: 249 runlevel: 5
  target: graphical.target tool: systemctl Compilers: gcc: 11.2.1 Packages:
  note: see --pkg flatpak: 43 Shell: Bash v: 5.1.8 running-in: terminator
  inxi: 3.3.12

backlight service

❯ sudo systemctl start systemd-backlight@backlight
Job for systemd-backlight@backlight.service failed because the control process exited with error code.
See "systemctl status systemd-backlight@backlight.service" and "journalctl -xeu systemd-backlight@backlight.service" for details.
❯ sudo systemctl status systemd-backlight@backlight.service
× systemd-backlight@backlight.service - Load/Save Screen Backlight Brightness of backlight
     Loaded: loaded (/usr/lib/systemd/system/systemd-backlight@.service; static)
     Active: failed (Result: exit-code) since Fri 2022-02-11 17:17:28 -03; 17s ago
       Docs: man:systemd-backlight@.service(8)
    Process: 4835 ExecStart=/usr/lib/systemd/systemd-backlight load backlight (code=exited, status=1/FAILURE)
   Main PID: 4835 (code=exited, status=1/FAILURE)
        CPU: 5ms

feb 11 17:17:28 fedora systemd[1]: Starting Load/Save Screen Backlight Brightness of backlight...
feb 11 17:17:28 fedora systemd-backlight[4835]: Requires a subsystem and sysname pair specifying a backlight device.
feb 11 17:17:28 fedora systemd[1]: systemd-backlight@backlight.service: Main process exited, code=exited, status=1/FAILURE
feb 11 17:17:28 fedora systemd[1]: systemd-backlight@backlight.service: Failed with result 'exit-code'.
feb 11 17:17:28 fedora systemd[1]: Failed to start Load/Save Screen Backlight Brightness of backlight.
❯ sudo journalctl -xeu systemd-backlight@backlight.service
[sudo] password for rscm: 
░░ A start job for unit systemd-backlight@backlight.service has begun execution.
░░ 
░░ The job identifier is 2598.
feb 11 17:17:28 fedora systemd-backlight[4835]: Requires a subsystem and sysname pair specifying a backlight device.
feb 11 17:17:28 fedora systemd[1]: systemd-backlight@backlight.service: Main process exited, code=exited, status=1/FAILURE
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░ 
░░ An ExecStart= process belonging to unit systemd-backlight@backlight.service has exited.
░░ 
░░ The process' exit code is 'exited' and its exit status is 1.
feb 11 17:17:28 fedora systemd[1]: systemd-backlight@backlight.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░ 
░░ The unit systemd-backlight@backlight.service has entered the 'failed' state with result 'exit-code'.
feb 11 17:17:28 fedora systemd[1]: Failed to start Load/Save Screen Backlight Brightness of backlight.
░░ Subject: A start job for unit systemd-backlight@backlight.service has failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░ 
░░ A start job for unit systemd-backlight@backlight.service has finished with a failure.
░░ 
░░ The job identifier is 2598 and the job result is failed.
lines 166-191/191 (END)