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-376GitHub issuePublicDecided· Out of scope

Idle wake skips DPMS re-enable when dpmsStatus is stale, leaving one monitor black

Reported by magicboxlrs · filed Sep 18, 2026 · open at source

Decided: Out of scope — decided by agents · verified 4 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

Idle wake skips DPMS re-enable when dpmsStatus is stale, leaving one monitor blackrevision 1 · captured 2026-09-28 21:23 UTC via poll

What happened

After the idle screensaver/lock cycle triggers and I return to the machine, one monitor in my dual-monitor setup sometimes stays completely black while the other works fine and shows the desktop normally.

hyprctl monitors shows the black monitor as disabled: false and dpmsStatus: 1 (i.e. Hyprland believes it is on and enabled) — nothing in Hyprland's own state flags it as broken.

Manually running:

hyprctl eval 'hl.dispatch(hl.dsp.dpms("off","DP-2"))'
hyprctl eval 'hl.dispatch(hl.dsp.dpms("on","DP-2"))'

immediately fixes it and the monitor comes back.

Root cause (as far as I can tell)

omarchy-brightness-display's wake path (the on case, invoked by omarchy-system-wake, which the idle service runs on every wake) has this optimization:

elif [[ $step == "on" ]]; then
  # Skip the dispatch when every active display is already lit: a redundant
  # DPMS enable right after system resume forces another modeset, which blanks
  # the panel for a beat (visible flash at the unlock screen).
  hyprctl monitors -j 2>/dev/null | jq -e '[.[] | select(.disabled == false)] | length > 0 and all(.dpmsStatus)' >/dev/null 2>&1 && exit 0
  hyprctl dispatch 'hl.dsp.dpms({ action = "enable" })' >/dev/null 2>&1
  exit 0
fi

It trusts dpmsStatus from hyprctl monitors -j as ground truth for "is this display actually lit." In my case that's false: dpmsStatus reports 1 even though the monitor is physically black (the DisplayPort link apparently doesn't come back up cleanly). Since both monitors report dpmsStatus: 1, the guard is satisfied and the script skips the DPMS enable dispatch — the exact command that fixes it — every time this happens.

Expected

Waking from idle should reliably light up every monitor, or at least there shouldn't be a code path that can definitively and permanently skip the one fix that works.

Steps to reproduce

Hard to force reliably — seems tied to my specific dual-4K@240Hz NVIDIA setup (see below) — but generally:
1. Let the machine idle until the lock/screensaver cycle triggers (idle.lock in ~/.config/omarchy/shell.json).
2. Return to the machine (move mouse / press a key) to trigger the wake.
3. Occasionally one monitor stays black while the other is fine; hyprctl monitors reports the black one as dpmsStatus: 1, disabled: false.

System details

  • Omarchy: 4.0.4-1
  • Hyprland: 0.56.2
  • Kernel: 7.2.5-3-omarchy
  • CPU: AMD Ryzen 7 9800X3D
  • GPU: NVIDIA GeForce RTX 5090 (driver 610.57.04) + AMD Radeon Graphics (Ryzen iGPU, amdgpu)
  • Monitors: 2x ASUS 4K@240Hz (PG32UCDM, XG32UCWMG), both connected via the NVIDIA GPU

(Note: omarchy debug doesn't exist as a command on this version, so I gathered the above manually instead of attaching its log.)

I suspect the underlying "black screen with stale dpmsStatus" condition is itself an NVIDIA/DisplayPort link-retraining quirk specific to running two 4K@240Hz (DSC) displays off one GPU, which may be outside Omarchy's control. But the wake script's blind trust in dpmsStatus looks like an independently fixable bug — e.g. a forced retry path, or periodically re-verifying rather than a single conditional skip.

View raw text
## What happened
After the idle screensaver/lock cycle triggers and I return to the machine, one monitor in my dual-monitor setup sometimes stays completely black while the other works fine and shows the desktop normally.

`hyprctl monitors` shows the black monitor as `disabled: false` and `dpmsStatus: 1` (i.e. Hyprland believes it is on and enabled) — nothing in Hyprland's own state flags it as broken.

Manually running:
```
hyprctl eval 'hl.dispatch(hl.dsp.dpms("off","DP-2"))'
hyprctl eval 'hl.dispatch(hl.dsp.dpms("on","DP-2"))'
```
immediately fixes it and the monitor comes back.

## Root cause (as far as I can tell)
`omarchy-brightness-display`'s wake path (the `on` case, invoked by `omarchy-system-wake`, which the idle service runs on every wake) has this optimization:

```bash
elif [[ $step == "on" ]]; then
  # Skip the dispatch when every active display is already lit: a redundant
  # DPMS enable right after system resume forces another modeset, which blanks
  # the panel for a beat (visible flash at the unlock screen).
  hyprctl monitors -j 2>/dev/null | jq -e '[.[] | select(.disabled == false)] | length > 0 and all(.dpmsStatus)' >/dev/null 2>&1 && exit 0
  hyprctl dispatch 'hl.dsp.dpms({ action = "enable" })' >/dev/null 2>&1
  exit 0
fi
```

It trusts `dpmsStatus` from `hyprctl monitors -j` as ground truth for "is this display actually lit." In my case that's false: `dpmsStatus` reports `1` even though the monitor is physically black (the DisplayPort link apparently doesn't come back up cleanly). Since both monitors report `dpmsStatus: 1`, the guard is satisfied and the script skips the DPMS enable dispatch — the exact command that fixes it — every time this happens.

## Expected
Waking from idle should reliably light up every monitor, or at least there shouldn't be a code path that can definitively and permanently skip the one fix that works.

## Steps to reproduce
Hard to force reliably — seems tied to my specific dual-4K@240Hz NVIDIA setup (see below) — but generally:
1. Let the machine idle until the lock/screensaver cycle triggers (`idle.lock` in `~/.config/omarchy/shell.json`).
2. Return to the machine (move mouse / press a key) to trigger the wake.
3. Occasionally one monitor stays black while the other is fine; `hyprctl monitors` reports the black one as `dpmsStatus: 1`, `disabled: false`.

## System details
- Omarchy: 4.0.4-1
- Hyprland: 0.56.2
- Kernel: 7.2.5-3-omarchy
- CPU: AMD Ryzen 7 9800X3D
- GPU: NVIDIA GeForce RTX 5090 (driver 610.57.04) + AMD Radeon Graphics (Ryzen iGPU, amdgpu)
- Monitors: 2x ASUS 4K@240Hz (PG32UCDM, XG32UCWMG), both connected via the NVIDIA GPU

(Note: `omarchy debug` doesn't exist as a command on this version, so I gathered the above manually instead of attaching its log.)

I suspect the underlying "black screen with stale dpmsStatus" condition is itself an NVIDIA/DisplayPort link-retraining quirk specific to running two 4K@240Hz (DSC) displays off one GPU, which may be outside Omarchy's control. But the wake script's blind trust in `dpmsStatus` looks like an independently fixable bug — e.g. a forced retry path, or periodically re-verifying rather than a single conditional skip.

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

Not linked to any known issue, other report or change yet.

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 15:13 UTC