Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA 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.
Don't DPMS-off Apple Studio Display on lock — USB4 tunnel dies until power cycle
Reported by codeface-io · filed Sep 19, 2026 · open at source
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?
- 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: in the audited area (lock) — decided by agents · verified; matches no known issue — decided by agents · verified. The outcome (valid, duplicate, not a bug, …) is not decided yet. See the decision.
Original report
System details
- Omarchy: 4.0.4-1
- Kernel: linux-omarchy 7.2.5-3
- Machine: Beelink SER9 (AZW SER9)
- CPU / GPU: AMD Ryzen 7 255, Radeon 780M (
amdgpu) - Display: Apple Studio Display over USB4 (Hyprland
DP-5, 5120×2880). This is a USB4 DisplayPort tunnel, not HDMI or a dumb DP cable.
What's wrong?
In one sentence: locking the machine turns the display connector off, which on an Apple Studio Display over USB4 drops the video tunnel so the panel stays black until you power-cycle the display (or the PC).
This is not “the lock screen is ugly.” After lock, the picture often does not come back with a keypress. amdgpu logs DPIA AUX failed. Recovery is a power cycle, not unlocking.
What Omarchy does today
- You lock (Super+Ctrl+L, or idle lock).
- The lock plugin waits 5 seconds, then blanks the screens (
idleBlankTimerinshell/plugins/lock/Service.qml). - Blanking runs
omarchy-brightness-display off. - That command always does:
hyprctl dispatch 'hl.dsp.dpms({ action = "disable" })'It does not check whether the output is an Apple USB4 display.
- Brightness up/down already special-cases Apple panels (
omarchy-hyprland-monitor-focused-apple→omarchy-brightness-display-apple). So Omarchy already knows this is a Studio Display — and still blanks it in the way that kills the USB4 tunnel.
On this APU there is no S3. Power-menu Suspend is s2idle and dies the same way. That can be a follow-up. The everyday path is lock.
Suggested change
Do not DPMS-disable the connector on Apple Studio Display / Pro Display XDR when locking.
Leave the modeset up. Dim to 0, or cover the picture with the lock surface. The on path already avoids a redundant DPMS enable because it forces a modeset — the same caution belongs on off for these panels.
Who benefits
Anyone whose main screen is an Apple Studio Display or Pro Display XDR over USB4/Thunderbolt. Locking the session should not be a hardware event. HDMI / normal DP users are unaffected if the skip is gated on the existing Apple-display helper.
Scope (small, Omarchy-owned)
bin/omarchy-brightness-display:off/onshould not DPMS-disable an Apple USB4 panel (reuseomarchy-hyprland-monitor-focused-apple, or apply per monitor).- and/or
shell/plugins/lock/Service.qml: don’t callomarchy-brightness-display offfor those outputs.
Out of scope: rewriting amdgpu, Beelink BIOS, “never sleep / keep the PC fully on,” session restore.
Steps to reproduce
- Apple Studio Display as the (only) output over USB4.
- Super+Ctrl+L, wait ~10 seconds (lock blanks at 5s).
- Press a key or move the mouse.
- Panel stays black. After you get a picture again:
journalctl -b | grep -iE 'DPIA AUX|amdgpu'Related (different bugs)
- #7388 — Studio Display over USB4 dropping because stock
preferredpicks 5K@120; not lock DPMS. - #7805 — password field fills with key-repeat after DPMS wake; assumes the panel does come back.
Happy to test a patch on this SER9 + Studio Display setup.
View raw text
### System details
- **Omarchy:** 4.0.4-1
- **Kernel:** linux-omarchy 7.2.5-3
- **Machine:** Beelink SER9 (AZW SER9)
- **CPU / GPU:** AMD Ryzen 7 255, Radeon 780M (`amdgpu`)
- **Display:** Apple Studio Display over **USB4** (Hyprland `DP-5`, 5120×2880). This is a USB4 DisplayPort tunnel, not HDMI or a dumb DP cable.
### What's wrong?
**In one sentence:** locking the machine turns the display connector off, which on an Apple Studio Display over USB4 drops the video tunnel so the panel stays black until you power-cycle the display (or the PC).
This is not “the lock screen is ugly.” After lock, the picture often does not come back with a keypress. `amdgpu` logs `DPIA AUX failed`. Recovery is a power cycle, not unlocking.
**What Omarchy does today**
1. You lock (Super+Ctrl+L, or idle lock).
2. The lock plugin waits **5 seconds**, then blanks the screens (`idleBlankTimer` in `shell/plugins/lock/Service.qml`).
3. Blanking runs `omarchy-brightness-display off`.
4. That command **always** does:
```bash
hyprctl dispatch 'hl.dsp.dpms({ action = "disable" })'
```
It does not check whether the output is an Apple USB4 display.
5. Brightness up/down **already** special-cases Apple panels (`omarchy-hyprland-monitor-focused-apple` → `omarchy-brightness-display-apple`). So Omarchy already knows this is a Studio Display — and still blanks it in the way that kills the USB4 tunnel.
On this APU there is no S3. Power-menu **Suspend** is s2idle and dies the same way. That can be a follow-up. The everyday path is lock.
**Suggested change**
Do **not** DPMS-disable the connector on Apple Studio Display / Pro Display XDR when locking.
Leave the modeset up. Dim to 0, or cover the picture with the lock surface. The `on` path already avoids a redundant DPMS enable because it forces a modeset — the same caution belongs on `off` for these panels.
**Who benefits**
Anyone whose main screen is an Apple Studio Display or Pro Display XDR over USB4/Thunderbolt. Locking the session should not be a hardware event. HDMI / normal DP users are unaffected if the skip is gated on the existing Apple-display helper.
**Scope (small, Omarchy-owned)**
- `bin/omarchy-brightness-display`: `off` / `on` should not DPMS-disable an Apple USB4 panel (reuse `omarchy-hyprland-monitor-focused-apple`, or apply per monitor).
- and/or `shell/plugins/lock/Service.qml`: don’t call `omarchy-brightness-display off` for those outputs.
Out of scope: rewriting `amdgpu`, Beelink BIOS, “never sleep / keep the PC fully on,” session restore.
**Steps to reproduce**
1. Apple Studio Display as the (only) output over USB4.
2. Super+Ctrl+L, wait ~10 seconds (lock blanks at 5s).
3. Press a key or move the mouse.
4. Panel stays black. After you get a picture again:
```bash
journalctl -b | grep -iE 'DPIA AUX|amdgpu'
```
**Related (different bugs)**
- #7388 — Studio Display over USB4 dropping because stock `preferred` picks 5K@120; not lock DPMS.
- #7805 — password field fills with key-repeat after DPMS wake; assumes the panel *does* come back.
Happy to test a patch on this SER9 + Studio Display setup.
Also reported as
This defect is tracked under R-323 (filed Sep 19, 2026). 4 other reports describe the same defect.
Earliest report of this defect: R-921 (filed Sep 5, 2026).
- Sep 19, 2026R-323 · this report— tracked here
- ·Decided by agents · verified
Open upstream.
- ·Decided by agents · verified
Open upstream.
- ·Decided by agents · verified
Open upstream.
- Sep 16, 2026External-only HDMI display becomes unusable after idle lock/DPMS wake with eDP-1 disabled R-461·Decided by agents · verified
Open upstream.
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
- Fixed bypr/6642· confirmed
- Related PRpr/11072· 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: in the audited area (lock)
- Decided by agents · verified: matches no known issue
The outcome (valid, duplicate, not a bug, …) is not decided yet.