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

omarchy-shell crashes and relaunches on every wake from idle lock (FALLBACK monitor removal, fatal Wayland error)

Reported by mcjansen · filed Aug 18, 2026Closed upstream on 2026-09-21 by bjarneo via an automated message, as a duplicate of #6628 (R-1882). GitHub close reason: completed.

Received and recorded verbatim. Nothing has been checked 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?
Not yet mapped to any requirement or component.
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. No decision has been recorded yet.

Original report

omarchy-shell crashes and relaunches on every wake from idle lock (FALLBACK monitor removal, fatal Wayland error)revision 1 · captured 2026-10-04 12:03 UTC via poll

What happened

Every time the screen unlocks after an idle lock (hypridle lock + DPMS wake), the omarchy-shell (Quickshell) process crashes and is immediately relaunched by its supervisor. It self-heals in about a second, so it shows up as a brief error/flash right as the system wakes, rather than a lasting freeze. Session security is not affected — secure=true holds throughout and unlock only completes via the real PAM prompt.

This is 100% reproducible on this machine: it happened on every single wake-from-idle-lock over the last 3 days of uptime (12+ occurrences checked in the journal), not an occasional fluke.

Expected behavior

The shell should survive a wake-from-idle-lock without crashing/relaunching.

Steps to reproduce

  1. Let the screen idle-lock (idle.lock in ~/.config/omarchy/shell.json, default 300s).
  2. Wake the screen (move the mouse / press a key).
  3. Watch journalctl --user -f (or just the screen) around the wake moment.

Log excerpt (journalctl -b 0)

Aug 18 13:51:36.456103 omarchydesktop omarchy-shell[2797450]:  DEBUG qml: omarchy idle 2026-08-18T11:51:36.456Z idle-monitor: active
Aug 18 13:51:38.357684 omarchydesktop omarchy-shell[2797450]:   INFO qt.qpa.wayland: There are no outputs - creating placeholder screen
Aug 18 13:51:38.430386 omarchydesktop omarchy-shell[2797450]:  DEBUG: Not creating lock surface for screen QScreen(0x7eff83c27970, name="") as it is not backed by a valid wayland output.
Aug 18 13:51:39.242525 omarchydesktop omarchy-shell[2797450]:   INFO qt.qpa.wayland: There are no outputs - creating placeholder screen
Aug 18 13:51:40.224861 omarchydesktop uwsm_hyprland.desktop[2133]: error in client communication (pid 2797450)
Aug 18 13:51:40.304037 omarchydesktop omarchy-shell[2797450]:   WARN quickshell.hyprland.ipc: Got removal for monitor "FALLBACK" which was not previously tracked.
Aug 18 13:51:40.367684 omarchydesktop omarchy-shell[2797450]:   WARN: The Wayland connection experienced a fatal error: Invalid argument
Aug 18 13:51:40.440390 omarchydesktop omarchy-shell[2888127]: Omarchy shell exited with status 255; relaunching.
Aug 18 13:51:41.458452 omarchydesktop omarchy-shell[2888220]:   INFO: Launching config: "/usr/share/omarchy/shell/shell.qml"
Aug 18 13:51:41.630341 omarchydesktop omarchy-shell[2888220]:   WARN qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID")
Aug 18 13:51:41.851609 omarchydesktop omarchy-shell[2888220]:  DEBUG qml: omarchy lock 2026-08-18T11:51:41.852Z lock-stranded: recovering

Also seen separately from xdg-desktop-portal-hyprland around a wake at 08:15:

Aug 18 08:15:06 omarchydesktop xdg-desktop-portal-hyprland[2621]: [LOG] Found output name FALLBACK

(repeated 10x in the same second)

My read on the cause

During the DPMS wake handshake, Hyprland briefly represents a transitional output as a placeholder monitor named FALLBACK. Quickshell's Hyprland-IPC layer receives a removal event for that monitor without ever having recorded it as added, which appears to desync its internal output/surface bookkeeping enough to trip a fatal Wayland protocol error (Invalid argument) and kill the whole shell client. The supervisor relaunches it immediately, and the lock state recovers (lock-stranded: recovering), but the crash-and-restart is visible on screen.

System info

  • Omarchy: 4.0.0-1
  • Hyprland: 0.56.2 (v0.56.2, commit efb50993780079460b0cbed1363e2166a2de1d9f)
  • quickshell-git: 0.3.0.r20.g28771c7-1
  • Kernel: 7.1.8-arch1-3
  • CPU: 12th Gen Intel(R) Core(TM) i7-12700
  • GPU: Intel Alder Lake-S GT1 [UHD Graphics 770] (rev 0c)
  • Monitor setup: single monitor (HDMI-A-1, 3840x2160@60, scale 1.5)
  • Idle config (~/.config/omarchy/shell.json): lock: 300, screensaver: 150 (defaults)
View raw text
## What happened

Every time the screen unlocks after an idle lock (`hypridle` lock + DPMS wake), the omarchy-shell (Quickshell) process crashes and is immediately relaunched by its supervisor. It self-heals in about a second, so it shows up as a brief error/flash right as the system wakes, rather than a lasting freeze. Session security is not affected — `secure=true` holds throughout and unlock only completes via the real PAM prompt.

This is 100% reproducible on this machine: it happened on every single wake-from-idle-lock over the last 3 days of uptime (12+ occurrences checked in the journal), not an occasional fluke.

## Expected behavior

The shell should survive a wake-from-idle-lock without crashing/relaunching.

## Steps to reproduce

1. Let the screen idle-lock (`idle.lock` in `~/.config/omarchy/shell.json`, default 300s).
2. Wake the screen (move the mouse / press a key).
3. Watch `journalctl --user -f` (or just the screen) around the wake moment.

## Log excerpt (journalctl -b 0)

```
Aug 18 13:51:36.456103 omarchydesktop omarchy-shell[2797450]:  DEBUG qml: omarchy idle 2026-08-18T11:51:36.456Z idle-monitor: active
Aug 18 13:51:38.357684 omarchydesktop omarchy-shell[2797450]:   INFO qt.qpa.wayland: There are no outputs - creating placeholder screen
Aug 18 13:51:38.430386 omarchydesktop omarchy-shell[2797450]:  DEBUG: Not creating lock surface for screen QScreen(0x7eff83c27970, name="") as it is not backed by a valid wayland output.
Aug 18 13:51:39.242525 omarchydesktop omarchy-shell[2797450]:   INFO qt.qpa.wayland: There are no outputs - creating placeholder screen
Aug 18 13:51:40.224861 omarchydesktop uwsm_hyprland.desktop[2133]: error in client communication (pid 2797450)
Aug 18 13:51:40.304037 omarchydesktop omarchy-shell[2797450]:   WARN quickshell.hyprland.ipc: Got removal for monitor "FALLBACK" which was not previously tracked.
Aug 18 13:51:40.367684 omarchydesktop omarchy-shell[2797450]:   WARN: The Wayland connection experienced a fatal error: Invalid argument
Aug 18 13:51:40.440390 omarchydesktop omarchy-shell[2888127]: Omarchy shell exited with status 255; relaunching.
Aug 18 13:51:41.458452 omarchydesktop omarchy-shell[2888220]:   INFO: Launching config: "/usr/share/omarchy/shell/shell.qml"
Aug 18 13:51:41.630341 omarchydesktop omarchy-shell[2888220]:   WARN qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID")
Aug 18 13:51:41.851609 omarchydesktop omarchy-shell[2888220]:  DEBUG qml: omarchy lock 2026-08-18T11:51:41.852Z lock-stranded: recovering
```

Also seen separately from `xdg-desktop-portal-hyprland` around a wake at 08:15:
```
Aug 18 08:15:06 omarchydesktop xdg-desktop-portal-hyprland[2621]: [LOG] Found output name FALLBACK
```
(repeated 10x in the same second)

## My read on the cause

During the DPMS wake handshake, Hyprland briefly represents a transitional output as a placeholder monitor named `FALLBACK`. Quickshell's Hyprland-IPC layer receives a *removal* event for that monitor without ever having recorded it as *added*, which appears to desync its internal output/surface bookkeeping enough to trip a fatal Wayland protocol error (`Invalid argument`) and kill the whole shell client. The supervisor relaunches it immediately, and the lock state recovers (`lock-stranded: recovering`), but the crash-and-restart is visible on screen.

## System info

- Omarchy: 4.0.0-1
- Hyprland: 0.56.2 (v0.56.2, commit efb50993780079460b0cbed1363e2166a2de1d9f)
- quickshell-git: 0.3.0.r20.g28771c7-1
- Kernel: 7.1.8-arch1-3
- CPU: 12th Gen Intel(R) Core(TM) i7-12700
- GPU: Intel Alder Lake-S GT1 [UHD Graphics 770] (rev 0c)
- Monitor setup: single monitor (HDMI-A-1, 3840x2160@60, scale 1.5)
- Idle config (`~/.config/omarchy/shell.json`): `lock: 300`, `screensaver: 150` (defaults)

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.

No decision has been recorded yet.