Skip to content

kbd_backlight (pwm-leds) fails to read period on MacBook Pro 14, M1 Pro (2021) — brightness writes have no effect #578

Description

@rbasurtor

Model: MacBook Pro (14-inch, M1 Pro, 2021)
Kernel: linux-asahi 7.1.6.asahi1-1 (built 2026-08-08)
Distro: Omarchy (Arch Linux ARM base, Asahi)

Problem

The keyboard backlight LED device is present and visible to userspace, but writing a brightness value has no physical effect — the backlight never lights up.

dmesg

leds_pwm led-controller: failed to read period for kbd_backlight, default to off

Devicetree node

/sys/firmware/devicetree/base/led-controller/

  • compatible = "pwm-leds"

/sys/firmware/devicetree/base/led-controller/led-0/ (kbd_backlight):

  • Properties present: pwms, color, default-state, function, label, max-brightness, name
  • No period property present.

Userspace behavior

$ brightnessctl -l
Device 'kbd_backlight' of class 'leds':
	Current brightness: 0 (0%)
	Max brightness: 255

Writing to /sys/class/leds/kbd_backlight/brightness (via sudo/pkexec) is accepted (no error) but brightness reads back as unchanged / has no visible effect on the physical keyboard backlight.

Notes

  • Per the wiki page on this PWM controller (FPWM0), a manual workaround exists using raw MMIO register writes via m1n1 (setting on/off period registers directly), which suggests the kernel-visible devicetree is missing period information that the hardware needs. That wiki page also notes some of those manual writes still have "no effect," suggesting the workaround itself isn't fully verified/finished.
  • Keyboard backlight for M1 Pro/Max 14"/16" is documented as supported since kernel 6.4 in the feature-support matrix, so this looks like a devicetree/driver gap specific to this board rather than a totally unimplemented feature.
  • Happy to provide additional diagnostics (full dmesg, full devicetree dump, etc.) on request.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions