Thinkpad brightness sysctl stopped working?

This is a weird one. I have a 6th gen Thinkpad X1 Carbon, where brightness adjustments via Fn keys and sysctl *used to work* but have now *stopped working*, and I'm unable to figure out why.

When I first set up the system, a month or so ago, one of the first things I checked was that I could adjust brightness. The Fn keys for doing this worked, as did setting hw.acpi.video.lcd0.brightness.

Now, somehow, this no longer works. I have tried:
  • Also loading acpi_ibm (manually, not via rc.conf or loader.conf, though I'm fairly confident it worked without this)
  • Checking load order of different modules (rc.conf has i915kms in the list before acpi_video, consistent with the instructions for acpi_video(4))
  • With and without display manager. (This shouldn't matter, but I checked anyways because MATE's power management settings behave differently when launched via Slim vs. via a console login + startx.)
  • With different window managers (I specifically remember it working under fluxbox, which is what I used for a while when I first set it up, but it now does not --- not when started via startx or via login manager)
Poking around I've come across things I hadn't previously, though these have not helped:
  • I do see a setting hw.acpi.video.lcd0.active which is set to 0. Attempting to set it to 1 has no effect (and sysctl prints that it changed from 0 to 0, even when I set it to 1)
  • xbacklight[cmd] reports "No outputs have backlight property"
    [*]intel_backlight is apparently deprecated (https://www.freshports.org/graphics/intel-backlight)
    [/LIST]
    One thing that does help, in a way, is backlight(8), which *does* work. [cmd]backlight 20
    and backlight 90 work as one would hope. But this also seems totally decoupled from the sysctl. For example, just after setting with backlight I see:
    Code:
    ➜  ~ sysctl hw.acpi.video.lcd0.brightness
    hw.acpi.video.lcd0.brightness: 20
    ➜  ~ backlight                           
    brightness: 20
    But if I then press a Fn key a bunch of times, the display brightness doesn't change, and I now see:
    Code:
    ➜  ~ sysctl hw.acpi.video.lcd0.brightness
    hw.acpi.video.lcd0.brightness: 48
    ➜  ~ backlight 
    brightness: 20
    Clearly whatever backlight(8) is doing is the boss, but I'm puzzled by the fact that the sysctl is clearly still working, in a way, because it can be set (and manipulated by Fn keys), but is decoupled from backlight(8).

    Any ideas what may have changed?
 
Good question, but no. This is a fresh 14.2 install, and I did compile drm-kmod myself from ports. In particular, I recall this working *with that build of drm-kmod*, and it has since stopped. (I did initially install the lagging binary package, and X simply didn't display anything with that version, so I uninstalled the binary package and built from ports.)
 
I have a X250 and use

Code:
$ backlight -i
Backlight name: intel_backlight
Backlight hardware type: Panel
$ kldstat | grep -E "i915|drm|acp"
 6    1 0xffffffff8274d000     8618 acpi_ibm.ko
 7    1 0xffffffff833c3000     9438 acpi_video.ko
 9    1 0xffffffff83d40000     3390 acpi_wmi.ko
25    1 0xffffffff83f8b000   1e2228 i915kms.ko
26    2 0xffffffff8416e000    87090 drm.ko

because
Code:
$ doas sysctl hw.acpi.video.lcd0.brightness=3
hw.acpi.video.lcd0.brightness: 99 -> 3

has no visual effect.

I am fine either way.
 
Back
Top