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-2130GitHub issuePublicReceived

Dual-GPU Macs: after resume, the lock screen's blank resets the gmux backlight to 80% and nothing restores the user's level

Reported by josemiguelo · filed Sep 30, 2026 · open at source

In the audited area (lock) — decided by agents · verified. Not validated yet.

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?
AreaIn the audited arealock· 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?
Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. So far: matches no known issue — decided by agents · verified; in the audited area (lock) — decided by agents · verified. The outcome (valid, duplicate, not a bug, …) is not decided yet. See the decision.

Original report

Dual-GPU Macs: after resume, the lock screen's blank resets the gmux backlight to 80% and nothing restores the user's levelrevision 1 · captured 2026-09-30 16:25 UTC via poll

System details

MacBookPro16,1 (2019 16", T2, Intel UHD 630 + Radeon Pro 5500M, panel backlight gmux_backlight), Omarchy 4.0.4-1, linux-t2 7.2.6.arch2-4, Hyprland 0.56.2, mem_sleep_default=deep (S3 resumes cleanly here).

What's wrong?

Open the lid after suspend and leave the lock screen untouched until it blanks (~5s). Press a key: the panel comes back at a bright level instead of the one set before suspend, and the first brightness-down then drops it sharply.

Logging gmux_backlight every 0.2s shows the gmux resetting itself to 80% (actual_brightness 52428 of 65535) the moment the panel is powered down by the blank, while the requested brightness stays at the user's 5%. Nothing sends the requested level back when the panel comes back on:

11:19:52.053 brightness=3277 actual=3277  dpms=true  locked     # 5%, lid closed, suspend (deep)
                                                                # resumed 11:21:13
11:21:18.843 brightness=3277 actual=3277  dpms=false locked     # lock screen blanks ~5s after resume
11:21:19.062 brightness=3277 actual=52428 dpms=false locked     # gmux resets to 80%
11:21:33.495 brightness=3277 actual=52428 dpms=true  locked     # key press: panel back on at 80%
11:21:41.918 brightness=2621 actual=2621  dpms=true  unlocked   # first brightness-down steps from the stale 5% -> 4%

(52428 is the same 80% that #8205 reports as the hardware level behind a stale requested value on a 2019 T2 MBP.)

Reproduce

  1. Set a low brightness (e.g. 5%), close the lid, wait for suspend, open it.
  2. Leave the lock screen untouched until it blanks, then press a key: panel at ~80%.
  3. cat /sys/class/backlight/gmux_backlight/{brightness,actual_brightness} — requested still 5%, actual 80%.
  4. Press brightness-down: the level jumps to "requested − 5%".

Workaround that fixes it here: after omarchy-brightness-display on (which omarchy-system-wake runs when the blank ends), write the requested level back — brightnessctl -d gmux_backlight set "$(cat /sys/class/backlight/gmux_backlight/brightness)" — immediately and once more a second later; the driver then sends it to the gmux again. A systemd sleep hook doing the same write on post covers a reset at resume itself, which I also saw at times.

Related: #8205 (steps from actual_brightness — avoids the drop, but keeps the panel at 80% instead of the user's level), #8371 (gmux level not saved across reboots — same device, reboot side), #9105 (s2idle on dual-GPU T2 Macs; not tested whether s2idle avoids the reset). The root cause is arguably apple-gmux not restoring the level when the panel powers back up; happy to test whichever layer you'd prefer for a fix.

View raw text
### System details

MacBookPro16,1 (2019 16", T2, Intel UHD 630 + Radeon Pro 5500M, panel backlight `gmux_backlight`), Omarchy 4.0.4-1, `linux-t2` 7.2.6.arch2-4, Hyprland 0.56.2, `mem_sleep_default=deep` (S3 resumes cleanly here).

### What's wrong?

Open the lid after suspend and leave the lock screen untouched until it blanks (~5s). Press a key: the panel comes back at a bright level instead of the one set before suspend, and the first brightness-down then drops it sharply.

Logging `gmux_backlight` every 0.2s shows the gmux resetting itself to 80% (`actual_brightness` 52428 of 65535) the moment the panel is powered down by the blank, while the requested `brightness` stays at the user's 5%. Nothing sends the requested level back when the panel comes back on:

```
11:19:52.053 brightness=3277 actual=3277  dpms=true  locked     # 5%, lid closed, suspend (deep)
                                                                # resumed 11:21:13
11:21:18.843 brightness=3277 actual=3277  dpms=false locked     # lock screen blanks ~5s after resume
11:21:19.062 brightness=3277 actual=52428 dpms=false locked     # gmux resets to 80%
11:21:33.495 brightness=3277 actual=52428 dpms=true  locked     # key press: panel back on at 80%
11:21:41.918 brightness=2621 actual=2621  dpms=true  unlocked   # first brightness-down steps from the stale 5% -> 4%
```

(52428 is the same 80% that #8205 reports as the hardware level behind a stale requested value on a 2019 T2 MBP.)

**Reproduce**

1. Set a low brightness (e.g. 5%), close the lid, wait for suspend, open it.
2. Leave the lock screen untouched until it blanks, then press a key: panel at ~80%.
3. `cat /sys/class/backlight/gmux_backlight/{brightness,actual_brightness}` — requested still 5%, actual 80%.
4. Press brightness-down: the level jumps to "requested − 5%".

**Workaround that fixes it here:** after `omarchy-brightness-display on` (which `omarchy-system-wake` runs when the blank ends), write the requested level back — `brightnessctl -d gmux_backlight set "$(cat /sys/class/backlight/gmux_backlight/brightness)"` — immediately and once more a second later; the driver then sends it to the gmux again. A systemd sleep hook doing the same write on `post` covers a reset at resume itself, which I also saw at times.

Related: #8205 (steps from `actual_brightness` — avoids the drop, but keeps the panel at 80% instead of the user's level), #8371 (gmux level not saved across reboots — same device, reboot side), #9105 (s2idle on dual-GPU T2 Macs; not tested whether s2idle avoids the reset). The root cause is arguably `apple-gmux` not restoring the level when the panel powers back up; happy to test whichever layer you'd prefer for a fix.

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/12423· 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.

  • Decided by agents · verified: matches no known issue
  • Decided by agents · verified: in the audited area (lock)

The outcome (valid, duplicate, not a bug, …) is not decided yet.