Proof Portal

Project overview

Omarchy

ProbeLabs65 findings · 95 requirements

A proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.

Inbox
ReportR-600GitHub issuePublicDecided· Out of scope

Display brightness keys/OSD have no effect on Lenovo Legion 5 15IAX11 (nvidia_wmi_ec_backlight EC bug, upstream kernel #221430)

Reported by selenophilezh · filed Sep 13, 2026 · open at source

Decided: Out of scope — decided by agents · verified 3 days ago.

At a glance

1 · What is claimed?
Only the report text below — no validator has restated it as checkable claims yet.
2 · What does it affect?
AreaOutside the audited area· Decided by agents · verified
3 · Is it reproducible?
No validation has been run yet.
4 · What remains unclear?
  • Not validated yet: no claims, no reproducer.
5 · What happens next?
Decided by agents and verified by a second, independent agent — see the decision.

Original report

Display brightness keys/OSD have no effect on Lenovo Legion 5 15IAX11 (nvidia_wmi_ec_backlight EC bug, upstream kernel #221430)revision 1 · captured 2026-09-28 21:23 UTC via poll

What happened

On a Lenovo Legion 5 15IAX11, neither the display-brightness keys/OSD nor omarchy brightness display change the actual screen brightness. Keyboard backlight is unaffected and works fine (separate hardware).

What was expected

Pressing the brightness keys (or running omarchy brightness display +5%) should visibly dim/brighten the panel.

Root cause (traced end-to-end, not just a guess)

This is not a keybinding or script bug — every layer Omarchy controls works correctly:

  1. The physical key correctly emits KEY_BRIGHTNESSUP/KEY_BRIGHTNESSDOWN on the ACPI "Video Bus" evdev device (confirmed with evtest).
  2. Hyprland correctly receives and dispatches the XF86MonBrightnessUp/Down binding to omarchy-brightness-display (confirmed by temporarily logging every dispatch while pressing the keys — it fired every time).
  3. omarchy-brightness-display correctly calls brightnessctl, which successfully writes new values and reads them back correctly, for both backlight devices present on this machine:
  • intel_backlight (the one omarchy-hw-display picks — it has no case for NVIDIA WMI EC backlights, so it falls through to this)
  • nvidia_0 (registered by nvidia_wmi_ec_backlight)
  1. The screen does not respond to writes to either device, even at 10%.

This matches a known, currently-unresolved upstream kernel bug reported against nvidia_wmi_ec_backlight: bugzilla.kernel.org #221430 (different laptop model, identical symptom). Per that report and the linked linux-acpi mailing list discussion, affected laptops' firmware advertises nvidia_wmi_ec as the authoritative backlight, but the WMI method that's supposed to set brightness reads from an undocumented ACPI variable that only Windows populates before calling it — so the EC silently ignores whatever value Linux (or anything running on Linux) writes, on either backlight interface. A "backlight-aggregate" driver to work around this was proposed but is not implemented in mainline as of this writing.

This means no userspace/compositor-level fix is possible until the kernel-side aggregate driver lands, or a per-model DMI quirk is added (none exists yet for 15IAX11).

Ask for Omarchy

Two independent, low-risk things that would help affected users even though they can't fix the underlying EC behavior:

  1. omarchy-hw-display's heuristic (/usr/share/omarchy/bin/omarchy-hw-display) has no case for nvidia_wmi_ec-style backlights (only gmux_backlight, amdgpu_bl*, intel_backlight, acpi_video*). Worth adding nvidia_0/nvidia_wmi_ec_backlight* to the candidate list for correctness on hybrid-graphics laptops, even on models where it happens not to be wired to real hardware.
  2. Consider surfacing a hint (in the OSD or omarchy brightness display output) when brightness writes appear to have no effect on a hybrid-graphics system, pointing at acpi_backlight=native as a known (not guaranteed) workaround, so users aren't stuck thinking it's an Omarchy bug.

Steps to reproduce

  1. On a Lenovo Legion 5 15IAX11 (or similar hybrid Intel+NVIDIA laptop affected by kernel bug #221430), press the brightness keys or run omarchy brightness display +5%.
  2. Observe the OSD/CLI report a successful change, but the panel brightness does not visibly change.

System details

  • Omarchy version: 4.0.3-1
  • Model: Lenovo Legion 5 15IAX11 (board LNVNB161216), BIOS UFCN27WW (2026-06-22)
  • Kernel: 7.2.3-arch1-3
  • GPU: Intel (xe driver) + NVIDIA (nvidia-open-dkms 610.57.04-1, hybrid/Optimus)
  • Backlight devices present: intel_backlight (max 192000), nvidia_0 (max 100, via nvidia_wmi_ec_backlight)
  • Keyboard backlight: unaffected, works normally

Diagnostics

$ evtest /dev/input/event6   # "Video Bus"
Event: type 1 (EV_KEY), code 224 (KEY_BRIGHTNESSDOWN), value 1   # fires correctly on keypress

$ hyprctl devices | grep -A1 video-bus
    video-bus            # correctly recognized as a keyboard by Hyprland

$ brightnessctl -d intel_backlight set 60%   # succeeds, read-back correct, screen unaffected
$ brightnessctl -d nvidia_0 set 10%          # succeeds, read-back correct, screen unaffected

Happy to attach the full evtest/hyprctl logs if useful.

View raw text
## What happened

On a Lenovo Legion 5 15IAX11, neither the display-brightness keys/OSD nor `omarchy brightness display` change the actual screen brightness. Keyboard backlight is unaffected and works fine (separate hardware).

## What was expected

Pressing the brightness keys (or running `omarchy brightness display +5%`) should visibly dim/brighten the panel.

## Root cause (traced end-to-end, not just a guess)

This is **not** a keybinding or script bug — every layer Omarchy controls works correctly:

1. The physical key correctly emits `KEY_BRIGHTNESSUP`/`KEY_BRIGHTNESSDOWN` on the ACPI "Video Bus" evdev device (confirmed with `evtest`).
2. Hyprland correctly receives and dispatches the `XF86MonBrightnessUp/Down` binding to `omarchy-brightness-display` (confirmed by temporarily logging every dispatch while pressing the keys — it fired every time).
3. `omarchy-brightness-display` correctly calls `brightnessctl`, which successfully writes new values and reads them back correctly, for **both** backlight devices present on this machine:
   - `intel_backlight` (the one `omarchy-hw-display` picks — it has no case for NVIDIA WMI EC backlights, so it falls through to this)
   - `nvidia_0` (registered by `nvidia_wmi_ec_backlight`)
4. The screen does not respond to writes to **either** device, even at 10%.

This matches a known, currently-unresolved upstream kernel bug reported against `nvidia_wmi_ec_backlight`: [bugzilla.kernel.org #221430](https://bugzilla.kernel.org/show_bug.cgi?id=221430) (different laptop model, identical symptom). Per that report and the linked linux-acpi mailing list discussion, affected laptops' firmware advertises `nvidia_wmi_ec` as the authoritative backlight, but the WMI method that's supposed to set brightness reads from an undocumented ACPI variable that only Windows populates before calling it — so the EC silently ignores whatever value Linux (or anything running on Linux) writes, on either backlight interface. A "backlight-aggregate" driver to work around this was proposed but is not implemented in mainline as of this writing.

**This means no userspace/compositor-level fix is possible** until the kernel-side aggregate driver lands, or a per-model DMI quirk is added (none exists yet for 15IAX11).

## Ask for Omarchy

Two independent, low-risk things that would help affected users even though they can't fix the underlying EC behavior:

1. `omarchy-hw-display`'s heuristic (`/usr/share/omarchy/bin/omarchy-hw-display`) has no case for `nvidia_wmi_ec`-style backlights (only `gmux_backlight`, `amdgpu_bl*`, `intel_backlight`, `acpi_video*`). Worth adding `nvidia_0`/`nvidia_wmi_ec_backlight*` to the candidate list for correctness on hybrid-graphics laptops, even on models where it happens not to be wired to real hardware.
2. Consider surfacing a hint (in the OSD or `omarchy brightness display` output) when brightness writes appear to have no effect on a hybrid-graphics system, pointing at `acpi_backlight=native` as a known (not guaranteed) workaround, so users aren't stuck thinking it's an Omarchy bug.

## Steps to reproduce

1. On a Lenovo Legion 5 15IAX11 (or similar hybrid Intel+NVIDIA laptop affected by kernel bug #221430), press the brightness keys or run `omarchy brightness display +5%`.
2. Observe the OSD/CLI report a successful change, but the panel brightness does not visibly change.

## System details

- Omarchy version: 4.0.3-1
- Model: Lenovo Legion 5 15IAX11 (board LNVNB161216), BIOS UFCN27WW (2026-06-22)
- Kernel: 7.2.3-arch1-3
- GPU: Intel (xe driver) + NVIDIA (nvidia-open-dkms 610.57.04-1, hybrid/Optimus)
- Backlight devices present: `intel_backlight` (max 192000), `nvidia_0` (max 100, via `nvidia_wmi_ec_backlight`)
- Keyboard backlight: unaffected, works normally

## Diagnostics

```
$ evtest /dev/input/event6   # "Video Bus"
Event: type 1 (EV_KEY), code 224 (KEY_BRIGHTNESSDOWN), value 1   # fires correctly on keypress

$ hyprctl devices | grep -A1 video-bus
    video-bus            # correctly recognized as a keyboard by Hyprland

$ brightnessctl -d intel_backlight set 60%   # succeeds, read-back correct, screen unaffected
$ brightnessctl -d nvidia_0 set 10%          # succeeds, read-back correct, screen unaffected
```

Happy to attach the full `evtest`/`hyprctl` logs if useful.

Validation

Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.

Linked

  • Related PRpr/13949· confirmed

Decision

Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.

  • Out of scopeDecided by agents · verified · 2026-10-09 12:46 UTC