Screen Backlight not working

Hello there! I’m new to linux and I have this issue where my laptop’s screen backlight is not working. I have tried what I could find posts regarding about this but with no avail. Please do help. I have included the specifications of my laptop, which I hope helps to give some light to this odd issue.

System:
  Kernel: 5.13.19-2-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.13-x86_64
  root=UUID=b674c560-824b-4bd7-8adf-b07978f4ce17 rw quiet udev.log_priority=3
  Console: pty pts/2 wm: kwin_x11 DM: SDDM Distro: Manjaro Linux
  base: Arch Linux
Machine:
  Type: Laptop System: LENOVO product: 82B1 v: Lenovo Legion 5 15ARH05H
  serial: <filter> Chassis: type: 10 v: Lenovo Legion 5 15ARH05H
  serial: <filter>
  Mobo: LENOVO model: LNVNB161216 v: SDK0J40709 WIN serial: <filter>
  UEFI: LENOVO v: FSCN18WW date: 01/01/2021
Battery:
  ID-1: BAT0 charge: 33.9 Wh (60.0%) condition: 56.5/60.0 Wh (94.2%)
  volts: 15.9 min: 15.4 model: SMP L19M4PC0 type: Li-poly serial: <filter>
  status: Unknown cycles: 103
CPU:
  Info: 8-Core model: AMD Ryzen 7 4800H with Radeon Graphics socket: FP6
  bits: 64 type: MT MCP arch: Zen 2 family: 17 (23) model-id: 60 (96)
  stepping: 1 microcode: 8600104 cache: L1: 512 KiB L2: 4 MiB L3: 8 MiB
  flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  bogomips: 92659
  Speed: 2690 MHz min/max: 1400/2900 MHz base/boost: 2900/4300 boost: enabled
  volts: 1.2 V ext-clock: 100 MHz Core speeds (MHz): 1: 2690 2: 1419 3: 1397
  4: 1397 5: 1397 6: 1397 7: 1397 8: 1397 9: 1397 10: 1397 11: 1396 12: 1397
  13: 1397 14: 1397 15: 1397 16: 1397
  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 and seccomp
  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: 470.63.01 alternate: nouveau,nvidia_drm bus-ID: 01:00.0
  chip-ID: 10de:1f15 class-ID: 0300
  Display: server: X.Org 1.20.13 compositor: kwin_x11 driver: loaded: nvidia
  display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 143 s-size: 341x191mm (13.4x7.5")
  s-diag: 391mm (15.4")
  OpenGL: renderer: NVIDIA GeForce RTX 2060/PCIe/SSE2
  v: 4.6.0 NVIDIA 470.63.01 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 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.13.19-2-MANJARO running: yes
  Sound Server-2: JACK v: 1.9.19 running: no
  Sound Server-3: PulseAudio v: 15.0 running: yes
  Sound Server-4: PipeWire v: 0.3.38 running: yes
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
  vendor: Lenovo driver: r8169 v: kernel port: 1000 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: 0280ystem:
  Kernel: 5.13.19-2-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.13-x86_64
  root=UUID=b674c560-824b-4bd7-8adf-b07978f4ce17 rw quiet udev.log_priority=3
  Console: pty pts/2 wm: kwin_x11 DM: SDDM Distro: Manjaro Linux
  base: Arch Linux

PASSED on: 228d 9h cycles: 422 Old-Age:
  g-sense error rate: 131 Pre-Fail: attribute: Spin_Retry_Count value: 100
  worst: 100 threshold: 97
  ID-3: /dev/sdb maj-min: 8:16 type: USB vendor: Western Digital
  model: WD Elements 25A2 drive model: WD10SMZW-11Y0TS0
  family: Elements / My Passport (USB, AF) size: 931.48 GiB block-size:
  physical: 4096 B logical: 512 B sata: 3.1 speed: 6.0 Gb/s type: HDD
  rpm: 5400 serial: <filter> drive serial: <filter> rev: 1021
  drive rev: 01.01A01 temp: 38 C scheme: GPT
  SMART: yes state: enabled health: PASSED on: 333d 3h cycles: 601
Partition:
  ID-1: / raw-size: 48.83 GiB size: 47.76 GiB (97.81%) used: 7.38 GiB (15.5%)
  fs: ext4 block-size: 4096 B dev: /dev/nvme0n1p5 maj-min: 259:5
  ID-2: /boot/efi raw-size: 100 MiB size: 96 MiB (96.00%)
  used: 25.3 MiB (26.3%) fs: vfat block-size: 512 B dev: /dev/nvme0n1p1
  maj-min: 259:1
Swap:
  Alert: No swap data was found.
Sensors:
  System Temperatures: cpu: 78.5 C mobo: N/A gpu: nvidia temp: 62 C
  Fan Speeds (RPM): N/A
Info:
  Processes: 315 Uptime: 5m wakeups: 1 Memory: 15.5 GiB used: 1.65 GiB (10.6%)
  Init: systemd v: 249 tool: systemctl Compilers: gcc: N/A Packages:
  pacman: 1044 lib: 298 Shell: Zsh (sudo) v: 5.8 default: Bash v: 5.1.8
  running-in: konsole inxi: 3.3.08

Hi and welcome to the forum :wave:

There is/was a post with your specific problem and hardware here on this forum suggesting that adding the option below to /etc/grub/default and running sudo update-grub is a partial solution.

GRUB_CMDLINE_LINUX_DEFAULT="video.use_native_backlight=1"

The same thread has some links to posts on the arch-linux forums where users have experienced the same problem and have varied success in solving it.

Thank you for your help!!! I sadly tried that before lol but without any results. OP’s issue is very similar to mine, just that mine is stuck at 100 peak brightness instead of being pitch black. Which I am glad it didn’t happen lol. (or yet welp :sweat_smile: :sweat_smile:)

My grub file line that I edited looks like this:

GRUB_CMDLINE_LINUX_DEFAULT="quiet video.use_native_backlight=1 udev.log_priority=3"

I mentioned the edit just so that I know if I implemented the edit correctly lol. Thank you for your help again, I appreciate it a lot. :slight_smile:

Any more ideas on how to fix this mate?

There is a specific backlight arch wiki page that states that:
Screen brightness might be tricky to control. On some machines physical hardware switches are missing and software solutions may not work well. However, it is generally possible to find a functional method for a given hardware. This article aims to summarize all possible ways to adjust the backlight.

Depending on what you can learn from it and match up with your situation, your changes look good I’d say :slight_smile:

1 Like

Thank you for the link to the wiki! All this time I thought that backlight control had already has a streamlined, universal way of doing it like USB or something. Turns out no welp. Sure makes me appreciate USB and the other standards we have a lot now lmao. Sorry for replying late, it was night when I posted this and was tired from trying different things to fix it. I am glad atleast my changes came out all right lol.

If you do have any more ideas on how to fix it or found a solution, please do let me know if you have the time. Wish me luck lmao.

Have a fine day!

1 Like

Adding “video.use_native_backlight=1” to “/etc/grub/default” GRUB_CMDLINE_LINUX_DEFAULT and updating the GRUB afterward by sudo update-grub is still the first step.

You need to:

  • Install NVDIA proprietary driver, which you have done (double check by mhwd -li).
  • Update the X11 settings: sudo nano /usr/share/X11/xorg.conf.d/10-amdgpu-nvidia-drm-outputclass.conf and add Option "RegistryDwords" "EnableBrightnessControl=1" to NVIDIA output class:
Section "OutputClass"
    Identifier "nvidia"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    Option "RegistryDwords" "EnableBrightnessControl=1"
    ModulePath "/usr/lib/nvidia/xorg"
    ModulePath "/usr/lib/xorg/modules"
EndSection
  • Lastly, reboot your system