DEV Community

Saramsh Shrestha
Saramsh Shrestha

Posted on

Linux: Fix brightness not working in gaming laptops (hybrid gpu).

There was a moment in your life that you want to make a switch to linux but no matter which kernal or distro you used. Brightness sliders does not work properly. I was facing the same issue too. I have fixed this issues after few hours of debugging and now you can too without loosing hours or days.

My config:

Laptop: Asus TUF A15, Ryzen 6800HS with RTX2050

OS: Fedora 42 KDE

Steps 1: Check what controller your display backlight is using.

ls /sys/class/backlight

//output
nvidia_wmi_ec_backlight
Enter fullscreen mode Exit fullscreen mode

You can have other output: intel_backlight, acpi_video0 or nvidia_wmi_ec_backlight.

Step 2: Lets first identify you GPUs first.

lspci | grep -E "VGA|3D"

//output
01:00.0 VGA compatible controller: NVIDIA Corporation GA107 [GeForce RTX 2050] (rev a1)

05:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt [Radeon 6
80M] (rev c8)
Enter fullscreen mode Exit fullscreen mode

I have AMD Radeon build in and Nvidia graphics. My screen backlight is controlled by AMD Radeon graphics so I have to change the backlight controller. This is done by changing the GRUB Configuration.

Step 3: Lets modify the GRUB config.

sudo nano /etc/default/grub

// Search and Replace this config
GRUB_CMDLINE_LINUX="rhgb quiet acpi_backlight=native amdgpu.backlight=0"
Enter fullscreen mode Exit fullscreen mode

You can see I have change the config based on my internal GPU as its AMD. You can this based on you config.

// First Try This:
GRUB_CMDLINE_LINUX="quiet splash acpi_backlight=native"

// Second Try This:
GRUB_CMDLINE_LINUX="quiet splash acpi_backlight=vendor"

// These are final options to force use built in graphics

// For intel forced intel builtin graphics
GRUB_CMDLINE_LINUX="quiet splash acpi_backlight=native i915.enable_dpcd_backlight=1"

// For Intel Nvidia Hybrid
GRUB_CMDLINE_LINUX="quiet splash acpi_backlight=vendor nvidia.NVreg_EnableBacklightHandler=1"

Enter fullscreen mode Exit fullscreen mode

You should try multiple times which one works for you.

Step 4: Save the config and reboot.

sudo update-grub       # Ubuntu/Debian
sudo grub2-mkconfig -o /boot/grub2/grub.cfg   # Fedora/RHEL

// For Reboot
reboot
Enter fullscreen mode Exit fullscreen mode

You should apply appropriate command to update the GRUB then reboot the system.

Try each config until one works for you. Then each iteration that correct backlight drivers are used.

ls /sys/class/backlight

//output
amdgpu_bl2
Enter fullscreen mode Exit fullscreen mode

Mine is changed from nvidia_wmi_ec_backlight to amdgpu_b12. Now my laptop display brightness slider is working fine.

You can use tools like brightnessctl and xrand if they works out for you. Sometimes they might work any config.

Top comments (0)