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.
Lock screen repeatedly flashes blank due to periodic "no outputs" Wayland glitch
Reported by MarcelHuang · filed Aug 16, 2026Closed upstream on 2026-09-21 by bjarneo via an automated message, as a duplicate of #6628 (R-1882). GitHub close reason: completed.
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
What happened
While locked, the screen goes completely blank for roughly a second, reappears for ~20-25 seconds, then blanks again — repeating in a continuous cycle for as long as the lock screen is up.
What I expected
The lock screen should render continuously without flickering/blanking.
Steps to reproduce
- Lock the screen (
omarchy system lockor the idle timeout). - Leave it locked and watch — it will blank and reappear on a regular ~24s cycle.
Diagnosis
journalctl --user -f while locked shows this sequence repeating roughly every 23-25 seconds, for the entire duration the lock screen is shown:
INFO qt.qpa.wayland: There are no outputs - creating placeholder screen
WARN: Layershell screen does not correspond to a real screen. Letting the compositor pick.
WARN: Layershell screen does not correspond to a real screen. Letting the compositor pick.
DEBUG: Not creating lock surface for screen QScreen(...) as it is not backed by a valid wayland output.
WARN quickshell.hyprland.ipc: Got removal for monitor "FALLBACK" which was not previously tracked.Notably, `Telegram` (an unrelated Qt/Wayland client) logs the identical `There are no outputs - creating placeholder screen` message at the exact same timestamp every cycle — so this isn't specific to the omarchy-shell lock plugin; it looks like Hyprland/Quickshell's output list is briefly going empty for all Wayland clients on a periodic basis, and the lock screen is just the most visible casualty since it blanks the whole display when it can't attach a surface.
Screen recording attached showing three consecutive flicker cycles, timestamps corroborated against the journal (flicker events at the recording's ~26s, ~50s, and ~74s marks, matching journal timestamps 23:17:30, 23:17:54, 23:18:18).
Ruled out:
- hyprctl monitors shows the real display (HDMI-A-1) healthy throughout, no disable/mirror/DPMS issue.
- dmesg / kernel logs show no connector hotplug or EDID-loss events - not a cable/hardware issue.
- No user systemd timers, cron jobs, kanshi/autorandr, or hyprsunset schedule that could explain a ~24s periodic trigger.
- Idle/lock timing config (shell.json idle.lock=300, idle.screensaver=150; hypridle.conf 150s/152s listeners) is internally consistent, not the cause.
Possibly related: #6628 describes the omarchy-shell lock service having "existing guards for phantom screens" that can be bypassed, leading to a permanent crash requiring reboot. This issue may be a milder, recoverable manifestation of the same phantom/placeholder-screen handling path (here it recovers each cycle instead of crashing).
System details
- Omarchy: 4.0.0-1 (stable channel)
- Hyprland: 0.56.2
- Quickshell: 0.3.0 (quickshell-git 0.3.0.r20.g28771c7-1)
- GPU: AMD Radeon 780M (HawkPoint, amdgpu driver)
- CPU: AMD Ryzen 7 8745HS
- Kernel: 7.1.8-arch1-3
- Single monitor: HDMI-A-1, 3440x1440@60Hz
Note: omarchy debug referenced in the contributing docs doesn't exist as a command on this version (omarchy commands --all has no debug/diag entry) — diagnostics above were gathered manually.
View raw text
**What happened** While locked, the screen goes completely blank for roughly a second, reappears for ~20-25 seconds, then blanks again — repeating in a continuous cycle for as long as the lock screen is up. **What I expected** The lock screen should render continuously without flickering/blanking. **Steps to reproduce** 1. Lock the screen (`omarchy system lock` or the idle timeout). 2. Leave it locked and watch — it will blank and reappear on a regular ~24s cycle. **Diagnosis** `journalctl --user -f` while locked shows this sequence repeating roughly every 23-25 seconds, for the entire duration the lock screen is shown: ``` INFO qt.qpa.wayland: There are no outputs - creating placeholder screen WARN: Layershell screen does not correspond to a real screen. Letting the compositor pick. WARN: Layershell screen does not correspond to a real screen. Letting the compositor pick. DEBUG: Not creating lock surface for screen QScreen(...) as it is not backed by a valid wayland output. WARN quickshell.hyprland.ipc: Got removal for monitor "FALLBACK" which was not previously tracked. ``` Notably, **`Telegram` (an unrelated Qt/Wayland client) logs the identical `There are no outputs - creating placeholder screen` message at the exact same timestamp every cycle** — so this isn't specific to the omarchy-shell lock plugin; it looks like Hyprland/Quickshell's output list is briefly going empty for all Wayland clients on a periodic basis, and the lock screen is just the most visible casualty since it blanks the whole display when it can't attach a surface. Screen recording attached showing three consecutive flicker cycles, timestamps corroborated against the journal (flicker events at the recording's ~26s, ~50s, and ~74s marks, matching journal timestamps 23:17:30, 23:17:54, 23:18:18). Ruled out: - `hyprctl monitors` shows the real display (HDMI-A-1) healthy throughout, no disable/mirror/DPMS issue. - `dmesg` / kernel logs show no connector hotplug or EDID-loss events - not a cable/hardware issue. - No user systemd timers, cron jobs, kanshi/autorandr, or hyprsunset schedule that could explain a ~24s periodic trigger. - Idle/lock timing config (`shell.json` idle.lock=300, idle.screensaver=150; `hypridle.conf` 150s/152s listeners) is internally consistent, not the cause. **Possibly related:** #6628 describes the omarchy-shell lock service having "existing guards for phantom screens" that can be bypassed, leading to a permanent crash requiring reboot. This issue may be a milder, recoverable manifestation of the same phantom/placeholder-screen handling path (here it recovers each cycle instead of crashing). **System details** - Omarchy: 4.0.0-1 (stable channel) - Hyprland: 0.56.2 - Quickshell: 0.3.0 (quickshell-git 0.3.0.r20.g28771c7-1) - GPU: AMD Radeon 780M (HawkPoint, amdgpu driver) - CPU: AMD Ryzen 7 8745HS - Kernel: 7.1.8-arch1-3 - Single monitor: HDMI-A-1, 3440x1440@60Hz **Note:** `omarchy debug` referenced in the contributing docs doesn't exist as a command on this version (`omarchy commands --all` has no `debug`/`diag` entry) — diagnostics above were gathered manually.
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.