https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=296261

            Bug ID: 296261
           Summary: Brightness keys doesn't work after loading i915kms on
                    ThinkPad T420/X230 with Coreboot
           Product: Base System
           Version: 15.1-RELEASE
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: [email protected]
          Reporter: [email protected]

After the i915kms kernel module is loaded, adjusting brightness via the
dedicated keys (Fn brightness keys) no longer works, even though the backlight
utility can still change the brightness. This happens regardless of whether
acpi_ibm and acpi_video are loaded before or after i915kms.

The same hardware does not exhibit this bug under Linux, OpenBSD, or NetBSD
when the i915 driver is loaded – brightness keys function correctly.

What I tried and what I checked:

Before any acpi_ibm,acpi_video or i915kms modules are loaded:
sysctl -a | grep brightness produces no output.
Brightness keys work correctly with efifb.

After loading acpi_ibm:
dev.acpi_ibm.0.lcd_brightness: 0 appears in sysctl.
Brightness keys still work.

After loading acpi_video:
hw.acpi.video.lcd0.brightness appears and reflects the actual brightness level.
Brightness keys continue to work and the sysctl value updates correctly.

After loading i915kms (the exact loading order of acpi_ibm, acpi_video, and
i915kms does not matter):
Brightness keys stop working. The display brightness does not change when the
keys are pressed.
backlight utility can still change the brightness successfully.
The brightness level that was set before loading i915kms is retained and cannot
be altered by the keys.

sysctl output after all modules are loaded (before any manual change):
hw.i915kms.invert_brightness: 0
hw.acpi.video.lcd0.brightness: 13
dev.acpi_ibm.0.lcd_brightness: 0
compat.linuxkpi.i915_invert_brightness: 0

After running backlight 100:
Screen brightness changes.

Sysctl then shows:
hw.acpi.video.lcd0.brightness: 20 (the other values are unchanged)

After pressing a brightness key (up or down):
The screen brightness does not change.
hw.acpi.video.lcd0.brightness changes to 67, but further key presses do not
alter it further and functionality is not restored.

running cat /var/run/devd.pipe:
Before loading acpi_ibm, only a few other keycodes are visible (not the full
set of keys).
After loading acpi_ibm, all other keycodes (ThinkPad special keys) appear,
except the brightness up/down keycodes.

Thus the absence of brightness keycodes in devd is observed both before and
after acpi_ibm is loaded. However, this does not prevent brightness keys from
working before i915kms is loaded. Once i915kms is loaded keys stop functioning
with no devd events generated.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to