Brightness Slider Changes Value but Does Not Change Physical Screen Brightness

Intel Tiger Lake / Zorin OS

I am experiencing a physical screen brightness control problem on Zorin OS.

The Zorin brightness slider moves normally and the system reports different brightness values, but the actual physical brightness of the laptop display does not change.

The important finding is that brightness works correctly when booting the same system with kernel 6.17.0-20-generic, while it does not work with kernel 7.0.0-29-generic.

This strongly suggests a kernel/i915/eDP backlight regression in 7.0.0-29.


1. Hardware / Graphics

My system uses:

GPU:

Intel Corporation Tiger Lake-LP GT2 [UHD Graphics G4]

Device ID: 9a78

Display:

Internal eDP display

1920x1080

eDP-1

Current session:

X11

Output of:

lspci | grep -Ei 'vga|3d|display'

was:

0000:00:02.0 VGA compatible controller:

Intel Corporation Tiger Lake-LP GT2 [UHD Graphics G4] (rev 01)


2. Kernel versions installed

The system currently has these kernels installed:

6.17.0-20-generic

6.8.0-138-generic

7.0.0-29-generic

Relevant package output:

ii linux-image-6.17.0-20-generic

ii linux-image-6.8.0-138-generic

ii linux-image-7.0.0-29-generic

ii linux-modules-6.17.0-20-generic

ii linux-modules-6.8.0-138-generic

ii linux-modules-7.0.0-29-generic

ii linux-modules-extra-6.17.0-20-generic

ii linux-modules-extra-6.8.0-138-generic

The current HWE kernel is:

7.0.0-29-generic


3. Initial brightness device detection

I checked:

ls -l /sys/class/backlight/

and found:

intel_backlight

The device is:

/sys/class/backlight/intel_backlight

Brightness information initially showed:

max_brightness: 1023

brightness: 1023

actual_brightness: 1023

type: raw

So the Intel backlight device was correctly detected.


4. brightnessctl detection

I ran:

brightnessctl -l

and received:

Device 'intel_backlight' of class 'backlight':

Current brightness: 1023 (100%)

Max brightness: 1023

Therefore brightnessctl correctly detected the Intel backlight interface.

However, running it without root produced:

Can't modify brightness: Permission denied

You should run this program with root privileges.

Using:

sudo brightnessctl -d intel_backlight set 50%

worked from the software perspective:

Current brightness: 512 (50%)

Max brightness: 1023

and:

cat /sys/class/backlight/intel_backlight/brightness

returned:

512

However, the physical display brightness did not change.


5. Testing 100% brightness

I also ran:

sudo brightnessctl -d intel_backlight set 100%

The system reported:

Current brightness: 1023 (100%)

Max brightness: 1023

and:

cat /sys/class/backlight/intel_backlight/brightness

returned:

1023

Also:

cat /sys/class/backlight/intel_backlight/actual_brightness

returned:

1023

Despite all of this, the physical display did not become brighter.


6. Testing xrandr

I checked:

xrandr --verbose | grep -A10 -B5 -i brightness

The internal display was detected as:

eDP-1 connected primary

1920x1080

and reported:

Gamma: 1.0:1.0:1.0

Brightness: 1.0

I also checked:

xrandr --listmonitors

which returned:

Monitors: 1

0: +*eDP-1 1920/344x1080/194+0+0 eDP-1

Therefore X11 also correctly detected the internal display.


7. Initial conclusion

At this point the situation was:

Intel GPU detected YES

Internal eDP display detected YES

intel_backlight detected YES

brightnessctl detects device YES

Software brightness value changes YES

actual_brightness changes YES

xrandr brightness = 1.0 YES

Physical brightness changes NO

So this did not appear to be simply a permissions problem or missing backlight device.


8. Kernel command-line investigation

I checked:

sudo dmesg | grep -Ei 'i915|backlight|brightness' | tail -100

Initially I found that the system had been booted with:

i915.enable_dpcd_backlight=1

The kernel command line contained:

BOOT_IMAGE=/boot/vmlinuz-7.0.0-29-generic root=UUID=... ro quiet splash i915.enable_dpcd_backlight=1 vt.handoff=7

The Intel driver reported:

i915 0000:00:02.0: [drm] Found tigerlake/uy (device ID 9a78)

integrated display version 12.00 stepping C0

and:

Initialized i915

The Intel graphics driver and firmware loaded normally.


9. Removed the custom DPCD backlight parameter

Because the i915.enable_dpcd_backlight=1 parameter had previously been added while troubleshooting, I removed it from:

/etc/default/grub

The kernel command line was restored to:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

I then ran:

sudo update-grub

The brightness problem remained.

So the problem was not solved by removing the DPCD backlight parameter.


10. Important kernel comparison

I then noticed that multiple kernels were installed.

The installed kernels were:

6.17.0-20-generic

6.8.0-138-generic

7.0.0-29-generic

I manually booted into:

6.17.0-20-generic

from:

GRUB → Advanced options for GNU/Linux

I specifically selected:

GNU/Linux, with Linux 6.17.0-20-generic

and not:

GNU/Linux, with Linux 6.17.0-20-generic (recovery mode)


11. Critical finding

When running:

uname -r

under the 6.17 kernel, it showed:

6.17.0-20-generic

Under this kernel, the Zorin brightness slider worked correctly and the physical display brightness actually changed.

This was the key discovery.

The same laptop, same display, same installation and same Intel GPU behaved differently depending on the kernel.

Kernel 6.17.0-20

Brightness slider: WORKS

Physical brightness: WORKS

Kernel 7.0.0-29

Brightness slider: MOVES

Software value: CHANGES

Physical brightness: DOES NOT CHANGE

This makes a kernel/Intel i915/eDP backlight regression the most likely explanation.


12. GRUB investigation

I attempted to make 6.17 the default kernel.

Current GRUB configuration contains:

GRUB_DEFAULT=saved

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

The saved GRUB entry was:

saved_entry=gnulinux-6.17.0-20-generic-advanced-a61b0180-d1a1-44d0-bb08-f08cfa813850

The GRUB configuration confirms that the normal 6.17 entry exists:

menuentry 'GNU/Linux, with Linux 6.17.0-20-generic'

with:

linux /boot/vmlinuz-6.17.0-20-generic

root=UUID=...

ro quiet splash

The recovery entry is separate and contains:

recovery nomodeset

Therefore the 6.17 normal entry itself is valid.

However, after rebooting, the system continued to boot:

7.0.0-29-generic

So I stopped making further GRUB modifications rather than risking the boot configuration.


13. Current status

I am currently able to boot normally using:

7.0.0-29-generic

but the physical brightness control does not work.

I can manually boot:

6.17.0-20-generic

and brightness works correctly there.

I have therefore left all kernels installed.

Current kernel inventory:

6.17.0-20-generic → brightness works

6.8.0-138-generic → not fully tested for this issue

7.0.0-29-generic → brightness does not physically work


14. What I have already tried

For developer reference, I have tried:

Tested brightnessctl

sudo brightnessctl -d intel_backlight set 50%

sudo brightnessctl -d intel_backlight set 100%

Software values change, physical brightness doesn't under 7.0.0-29.

Checked sysfs

cat /sys/class/backlight/intel_backlight/brightness

cat /sys/class/backlight/intel_backlight/actual_brightness

cat /sys/class/backlight/intel_backlight/max_brightness

Values change correctly.

Checked xrandr

xrandr --verbose

xrandr --listmonitors

Internal eDP display detected normally.

Checked Intel driver

sudo dmesg | grep -Ei 'i915|backlight|brightness'

Intel i915 loads normally.

Removed:

i915.enable_dpcd_backlight=1

No improvement.

Tested multiple kernels

Most important result:

6.17.0-20 → physical brightness works

7.0.0-29 → physical brightness does not work


15. Suspected cause

Based on the A/B kernel test, my current hypothesis is:

Intel i915/eDP backlight regression or changed backlight handling in Linux kernel 7.0.0-29 affecting Intel Tiger Lake-LP integrated graphics / internal eDP panel.

The kernel correctly exposes:

/sys/class/backlight/intel_backlight

and accepts brightness changes, but the physical panel does not respond.

The same hardware and OS installation responds correctly under kernel 6.17.0-20.


16. What I would like developers to investigate

Could developers please investigate:

  1. Intel Tiger Lake-LP i915 backlight handling in kernel 7.0.0-29.
  2. eDP/DPCD backlight behavior on this hardware.
  3. Why /sys/class/backlight/intel_backlight/brightness and actual_brightness change correctly while the physical panel does not.
  4. Whether there is a regression between the 6.17 and 7.0 kernel series.
  5. Whether a newer kernel already contains a fix for this particular i915/eDP brightness regression.

Hardware identification

GPU:

Intel Tiger Lake-LP GT2 [UHD Graphics G4]

PCI:

0000:00:02.0

Device:

9a78

Display:

eDP-1

1920x1080

Session:

X11

Hello and welcome,
Try this

sudo nano /etc/default/grub 

add to GRUB_CMDLINE_LINUX_DEFAULT

i915.enable_dpcd_backlight=3

You should have now

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.enable_dpcd_backlight=3"

Save (Ctrl+X, then Y, then Enter)

Then:

sudo update-grub
sudo reboot
1 Like

In many reports about problems with the screen brightness in the 7.0 kernel they recommend to set as kernel parameter

i915.enable_dpcd_backlight=0

The problem will be solved (I read it) with kernel 7.0.0-31.

1 Like

Thank you Sir very much.

I had a problem where the brightness slider was moving, but the actual physical screen brightness was not changing. My system has Intel Tiger Lake UHD Graphics and I was running kernel 7.0.0-29-generic.

  1. I checked my kernel:
    uname -r

    Result: 7.0.0-29-generic

  2. I checked the i915 backlight setting:
    sudo cat /sys/module/i915/parameters/enable_dpcd_backlight

    Result: -1

  3. I rebooted and selected the 7.0.0-29-generic kernel in GRUB. I pressed E and found:
    quiet splash $vt_handoff

    I DID NOT remove $vt_handoff. I added:
    i915.enable_dpcd_backlight=0

    So the line became:
    quiet splash $vt_handoff i915.enable_dpcd_backlight=0

    I then pressed Ctrl+X to boot.

  4. After booting, I tested the brightness slider. The physical screen brightness started working immediately.

  5. Since the temporary test worked, I made it permanent:
    sudo nano /etc/default/grub

    I changed:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

    to:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.enable_dpcd_backlight=0"

  6. I saved the file and ran:
    sudo update-grub

  7. Then I rebooted:
    sudo reboot

  8. After reboot, I verified the setting:
    sudo cat /sys/module/i915/parameters/enable_dpcd_backlight

    Result: 0

FINAL RESULT:
The brightness slider and actual physical screen brightness now work normally on kernel 7.0.0-29-generic.

3 Likes