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.
Omarchy shell stays alive but stops rendering after resume-time EGL_BAD_CONTEXT
Reported by Marlos001 · filed Aug 27, 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?
- 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
System details
ASUS ROG Zephyrus G14 GA402XV, AMD Ryzen 9 7940HS, NVIDIA RTX 4060 Mobile in ASUS MUX dGPU mode, Omarchy 4.0.1-1, Quickshell 0.3.1-1, Qt 6.11.2, Hyprland 0.56.2, Linux 7.1.9, NVIDIA 610.57.04
What's wrong?
After resume, omarchy-shell sometimes loses its EGL context and never renders another frame. The process remains alive and answers system activity, but the bar stays on a stale frame until omarchy restart shell replaces the process.
On Aug 26, the kernel logged PM: suspend exit at 12:21:16. At 12:22:14, PID 2287 logged:
QRhiGles2: Context is lost.
Graphics device lost, cleaning up scenegraph and releasing RHIs
QWaylandGLContext::makeCurrent: eglError: 0x3006
QRhiGles2: Failed to make context current. Expect bad things to happen.
Failed to start frameIt then logged 3,149 matching context/frame failures through 22:10:44. There was no Quickshell coredump. Running omarchy restart shell replaced PID 2287 with PID 1998087; the new process has logged zero matching render errors and the bar works again.
This has happened after resume on four dates in the retained journal:
2026-08-19: suspend exit 12:40:54, context lost 12:41:06, 2 warnings, recovered
2026-08-21: suspend exit 15:36:52, context lost 15:37:20, 3,371 failures through Aug 22 until shell restart
2026-08-25: suspend exit 07:25:19, context lost 07:25:31, 2 warnings, recovered
2026-08-26: suspend exit 12:21:16, context lost 12:22:14, 3,149 failures until shell restartSo the graphics context loss is intermittent, but a failed recovery leaves the shell permanently stale. Two of the four recorded events recovered; two required a restart.
Expected behavior: Qt/Quickshell recovers the scene graph, or the Omarchy shell supervisor detects repeated unrecoverable context failures and restarts the shell.
Actual behavior: the shell stays alive indefinitely while every attempted frame fails.
Steps that have produced it on this machine:
- Suspend with the Omarchy shell and lock screen active.
- Resume and unlock.
- Intermittently, the bar is visible but frozen.
- Confirm with
journalctl --user -b SYSLOG_IDENTIFIER=omarchy-shell | grep -E 'Context is lost|Failed to make context current|Failed to start frame'. omarchy restart shellrestores the bar immediately.
The low-level context loss may belong to Qt, Quickshell, or NVIDIA. The Omarchy-specific failure is that its long-running shell remains in a permanently non-rendering state instead of self-recovering.
This differs from #4891 because Hyprland and other windows remained usable, and from #8453 because this is persistent EGL_BAD_CONTEXT with a live process rather than EGL_BAD_ALLOC followed by a crash loop.
Built-in omarchy debug --no-sudo log, uploaded after removing unrelated network identifiers: https://logs.omarchy.org/qnC9gl
The debug-log link expires after 24 hours; the durable failure signature and timeline are included above.
View raw text
### System details ASUS ROG Zephyrus G14 GA402XV, AMD Ryzen 9 7940HS, NVIDIA RTX 4060 Mobile in ASUS MUX dGPU mode, Omarchy 4.0.1-1, Quickshell 0.3.1-1, Qt 6.11.2, Hyprland 0.56.2, Linux 7.1.9, NVIDIA 610.57.04 ### What's wrong? After resume, `omarchy-shell` sometimes loses its EGL context and never renders another frame. The process remains alive and answers system activity, but the bar stays on a stale frame until `omarchy restart shell` replaces the process. On Aug 26, the kernel logged `PM: suspend exit` at 12:21:16. At 12:22:14, PID 2287 logged: ```text QRhiGles2: Context is lost. Graphics device lost, cleaning up scenegraph and releasing RHIs QWaylandGLContext::makeCurrent: eglError: 0x3006 QRhiGles2: Failed to make context current. Expect bad things to happen. Failed to start frame ``` It then logged 3,149 matching context/frame failures through 22:10:44. There was no Quickshell coredump. Running `omarchy restart shell` replaced PID 2287 with PID 1998087; the new process has logged zero matching render errors and the bar works again. This has happened after resume on four dates in the retained journal: ```text 2026-08-19: suspend exit 12:40:54, context lost 12:41:06, 2 warnings, recovered 2026-08-21: suspend exit 15:36:52, context lost 15:37:20, 3,371 failures through Aug 22 until shell restart 2026-08-25: suspend exit 07:25:19, context lost 07:25:31, 2 warnings, recovered 2026-08-26: suspend exit 12:21:16, context lost 12:22:14, 3,149 failures until shell restart ``` So the graphics context loss is intermittent, but a failed recovery leaves the shell permanently stale. Two of the four recorded events recovered; two required a restart. Expected behavior: Qt/Quickshell recovers the scene graph, or the Omarchy shell supervisor detects repeated unrecoverable context failures and restarts the shell. Actual behavior: the shell stays alive indefinitely while every attempted frame fails. Steps that have produced it on this machine: 1. Suspend with the Omarchy shell and lock screen active. 2. Resume and unlock. 3. Intermittently, the bar is visible but frozen. 4. Confirm with `journalctl --user -b SYSLOG_IDENTIFIER=omarchy-shell | grep -E 'Context is lost|Failed to make context current|Failed to start frame'`. 5. `omarchy restart shell` restores the bar immediately. The low-level context loss may belong to Qt, Quickshell, or NVIDIA. The Omarchy-specific failure is that its long-running shell remains in a permanently non-rendering state instead of self-recovering. This differs from #4891 because Hyprland and other windows remained usable, and from #8453 because this is persistent `EGL_BAD_CONTEXT` with a live process rather than `EGL_BAD_ALLOC` followed by a crash loop. Built-in `omarchy debug --no-sudo` log, uploaded after removing unrelated network identifiers: https://logs.omarchy.org/qnC9gl The debug-log link expires after 24 hours; the durable failure signature and timeline are included above.
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 09:22 UTC