Can't adjust screen brightness (Lenovo Laptop, NVIDIA, XFCE)

Hi,

I’ve done the first modifications you sugested on the grub file and now my system won’t boot !

I havent do “sudo update-grub” that you recommended at the end, because I’ve only see it after doing the modifications and as the screen brightness was still no changing, I tried to reboot.

Do you how can repair my boot ?

Heeey, it’s working !

I didn’t manage to repair my boot and had to reinstall the system after my last BIG MISTAKE, but now it’s ok : )

For me (Lenovo 5 15ARH05H), it worked with :

GRUB_CMDLINE_LINUX_DEFAULT=“quiet apparmor=1 security=apparmor udev.log_priority=3 acpi_backlight=vendor”
GRUB_CMDLINE_LINUX=“reboot=acpi”

AND

the line in the /usr/share/X11/xorg.conf.d/10-amdgpu-nvidia-drm-outputclass.conf file

But, it didn’t work with :

GRUB_CMDLINE_LINUX="i915.enable_dpcd_backlight=0"

My BIG MISTAKE was to not do :

sudo update-grub

So, please don’t forget to do it.

Everything was working but…

When I tried to install proprietary drivers my system stop booting again and I have to reinstall all again, as all my attempts of repairing Grub were again unfruitful.

There are 4 drivers listed in my “display controller” on the “Hardware Configuration” :

  • video-nvidia
  • video-linux
  • video modesetting
  • video-vesa

Only the first one was in proprietary and the latter three were in Open Source. When I tried to changed them to proprietary the system didn’t boot anymore.

Now I’m in 5.10.15-1 kernel and the screen brightness regulation is working, but I honestly don’t know if this is due to the editions suggested by @kuba kuba or due to the new kernel.

Anyway, now it’s working and I’m tired of having to reinstall the whole OS each time I try to make an improvement in the system so I’m not touching it anymore.

My drivers are in Open Source which are supposed to be worse, and they will remain like that until it’s clear to me that it’s safe to try to change them.

Quite disappointed of Manjaro if you ask me, but it’s the way it is.

Well, I updated to Kernel 5.10 now but on my computer (XFCE,NVIDIA,HP), brightness regulation still doesn’t work. And I couldn’t follow your settings above and what you changed. Could you condense it maybe?

Condense…

I did :

And SPECIALLY :

1 Like

I’m putting this here in case someone else has a laptop like mine, a Dell Latitude E7470 and like me has this same problem while running kernel 5.9.16-1. Upgrading to 5.10.19-1 has fixed this problem and I can now make my screen dim or bright on demand.
I’m new to Manjaro (about a week now) and this feature of switching kernels is a real boon. My only concern that making this change has maybe broken something else, only time will tell :slightly_smiling_face:

2 Likes

@inordirection I had the exact same problem with same behaviour on changing acpi_backlight kernel parameter.

Way I fixed it is by following the steps in this reddit post

I am using lenovo legion 5 with discrete graphics in my BIOS

Output for ls /sys/class/backlight after following the steps in reddit post is

nvidia_0

Before it had acpi_video0

Output for inxi -Fxxz is

System:    Kernel: 5.13.11-1-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0 Desktop: GNOME 40.3 tk: GTK 3.24.30 
           wm: gnome-shell dm: GDM Distro: Manjaro Linux base: Arch Linux 
Machine:   Type: Laptop System: LENOVO product: 82AU v: Lenovo Legion 5 15IMH05 serial: <filter> Chassis: type: 10 
           v: Lenovo Legion 5 15IMH05 serial: <filter> 
           Mobo: LENOVO model: LNVNB161216 v: SDK0Q55722 WIN serial: <filter> UEFI: LENOVO v: EFCN51WW date: 05/19/2021 
Battery:   ID-1: BAT0 charge: 59.6 Wh (99.0%) condition: 60.2/60.0 Wh (100.3%) volts: 17.6 min: 15.4 model: Celxpert L19C4PC0 
           serial: <filter> status: Charging 
           Device-1: hidpp_battery_0 model: Logitech Wireless Mouse serial: <filter> charge: 50% (should be ignored) 
           status: Discharging 
CPU:       Info: Quad Core model: Intel Core i5-10300H bits: 64 type: MT MCP arch: Comet Lake rev: 2 cache: L2: 8 MiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 40009 
           Speed: 800 MHz min/max: 800/4500 MHz Core speeds (MHz): 1: 800 2: 853 3: 800 4: 800 5: 800 6: 799 7: 914 8: 800 
Graphics:  Device-1: NVIDIA TU117M [GeForce GTX 1650 Ti Mobile] vendor: Lenovo driver: nvidia v: 470.63.01 bus-ID: 01:00.0 
           chip-ID: 10de:1f95 
           Device-2: Syntek Integrated Camera type: USB driver: uvcvideo bus-ID: 1-6:3 chip-ID: 174f:244c 
           Display: x11 server: X.org 1.20.13 compositor: gnome-shell driver: loaded: nvidia unloaded: modesetting 
           alternate: fbdev,nouveau,nv,vesa resolution: <missing: xdpyinfo> 
           OpenGL: renderer: NVIDIA GeForce GTX 1650 Ti/PCIe/SSE2 v: 4.6.0 NVIDIA 470.63.01 direct render: Yes 
Audio:     Device-1: Intel Comet Lake PCH cAVS vendor: Lenovo driver: snd_hda_intel v: kernel bus-ID: 00:1f.3 
           chip-ID: 8086:06c8 
           Device-2: NVIDIA vendor: Lenovo driver: snd_hda_intel v: kernel bus-ID: 01:00.1 chip-ID: 10de:10fa 
           Sound Server-1: ALSA v: k5.13.11-1-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.33 running: no 
Network:   Device-1: Intel Comet Lake PCH CNVi WiFi driver: iwlwifi v: kernel bus-ID: 00:14.3 chip-ID: 8086:06f0 
           IF: wlp0s20f3 state: up mac: <filter> 
           Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: Lenovo driver: r8169 v: kernel port: 3000 
           bus-ID: 07:00.0 chip-ID: 10ec:8168 
           IF: enp7s0 state: down mac: <filter> 
           IF-ID-1: docker0 state: down mac: <filter> 
Bluetooth: Device-1: Intel AX201 Bluetooth type: USB driver: btusb v: 0.8 bus-ID: 1-14:5 chip-ID: 8087:0026 
           Report: rfkill ID: hci0 rfk-id: 3 state: up address: see --recommends 
Drives:    Local Storage: total: 1.14 TiB used: 13.12 GiB (1.1%) 
           ID-1: /dev/nvme0n1 vendor: Micron model: MTFDHBA256TDV size: 238.47 GiB speed: 31.6 Gb/s lanes: 4 serial: <filter> 
           temp: 35.9 C 
           ID-2: /dev/sda vendor: Western Digital model: WD10SPZX-08Z10 size: 931.51 GiB speed: 6.0 Gb/s serial: <filter> 
Partition: ID-1: / size: 294.22 GiB used: 13.09 GiB (4.4%) fs: ext4 dev: /dev/sda3 
           ID-2: /boot/efi size: 256 MiB used: 28.6 MiB (11.2%) fs: vfat dev: /dev/nvme0n1p1 
Swap:      Alert: No swap data was found. 
Sensors:   System Temperatures: cpu: 44.0 C mobo: N/A gpu: nvidia temp: 44 C 
           Fan Speeds (RPM): N/A 
Info:      Processes: 276 Uptime: 13m Memory: 15.54 GiB used: 2.55 GiB (16.4%) Init: systemd v: 248 Compilers: gcc: 11.1.0 
           Packages: pacman: 1140 Shell: Zsh v: 5.8 running-in: guake inxi: 3.3.06

Output of mhwd -li is:

> Installed PCI configs:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
     video-modesetting            2020.01.13                true            PCI
video-hybrid-intel-nvidia-prime            2021.07.28               false            PCI


Warning: No installed USB configs!

UPD 1: Steps mentioned in the reddit post are as follows

Brightness in manjaro linux

1. Install the nvidia propietary driver
2. sudo nano /usr/share/X11/xorg.conf.d/10-amdgpu-nvidia-drm-outputclass.conf

Add entry:
Option "RegistryDwords" "EnableBrightnessControl=1"

**Example of the section**:
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

3. sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video.use_native_backlight=1"

4. sudo update-grub

5. sudo reboot

UPD 2: It is important not to remove any kernel parameters from GRUB_CMDLINE_LINUX_DEFAULT. Just add the video.use_native_backlight=1 parameter without removing any pre-existing parameter.

2 Likes

This solution works, but sadly not with DRM enabled ( i.e. with the “nvidia-drm.modeset=1” kernel parameter), which is needed for a tear-free experience in KDE Plasma using the nvidia driver in my experience.

Does anyone know why enabling DRM would remove the possibility of adjusting the backlight? Any fix?

Thanks a bunch! this was the solution for my Lenovo Legion 5!

to enable brightness control on a Nvidia GPU just add

nvidia.NVreg_RegistryDwords=EnableBrightnessControl=1 to the cmdline of the kernel and nothing more (works like X config but IMHO better because is a kernel param)

If you use grub, add it to GRUB_CMDLINE_LINUX_DEFAULT
If you are using systemd-boot, if I remember well you should create the file (if doesn’t exists) /etc/kernel/cmdline and add the line

I have it on Lenovo Legion 5 15ARH05H with NVIDIA RTX2060 working

2 Likes

work like a charm, thanks

1 Like