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.
Hybrid NVIDIA laptop: HDMI (dGPU-wired) external monitor corrupted after deep suspend; s2idle workaround
Reported by ButtercupRobrts · filed Sep 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
Summary
On a hybrid-graphics laptop where the HDMI port is wired to the NVIDIA dGPU, resuming from deep suspend leaves the external monitor permanently corrupted (pink screen, or black backlit). The dGPU's display engine cannot complete a modeset after resume until reboot. Switching to s2idle works around it.
Hardware
- MSI GL65 9SEK (MS-16U5), Intel Core i7-9750H
- iGPU: Intel UHD 630 (
i915, drives internaleDP-1) - dGPU: NVIDIA RTX 2060 Mobile (TU106),
nvidia-open610.57.04 — HDMI-A-1 is wired to the dGPU (verified via/sys/class/drm/card1-HDMI-A-1) - Omarchy 4.0.4-1, Hyprland 0.56.2, Linux 7.2.3-1-omarchy
Reproduction
- Boot normally (default
mem_sleep=deep) systemctl suspend, resume- External monitor shows a pink screen (or black backlit) — internal panel is fine
100% reproducible on this machine, including on the first suspend after a fresh boot.
Evidence
Journal from resume:
[drm:nv_drm_atomic_commit [nvidia_drm]] *ERROR* [nvidia-drm] Failed to apply atomic modeset. Error code: -11
[drm:nv_drm_atomic_commit [nvidia_drm]] *ERROR* [nvidia-drm] Flip event timeout on head 0
NVRM: Xid (PCI:0000:01:00): 13, Graphics Exception: Shader Program Header 11 Error
NVRM: Xid (PCI:0000:01:00): 13, pid=..., name=Hyprland, Graphics Exception: channel 0x00000005After this failure the output is unrecoverable in-session: hyprctl reload, a full DPMS off/on cycle, disabling/re-enabling the output, hl.dsp.force_renderer_reload(), and a VT switch round-trip all fail; every subsequent modeset attempt on HDMI-A-1 hits Flip event timeout on head 0 / atomic modeset -11 again.
Related observations:
- The
nvidia-suspend/nvidia-resume/nvidia-hibernateservices are a no-op on this driver:/proc/driver/nvidia/suspenddoes not exist in 610.57.04, andnvidia-sleep.shexits early in that case. NVreg_PreserveVideoMemoryAllocations=0(set by Omarchy, cf. reverted #5519 and discussion #5500) is required here: with the preserve parameter set and no procfs suspend interface, the driver aborts sleep withpci_pm_freeze(): nv_pmops_freeze returns -5.
Workaround that works
mem_sleep_default=s2idle on the kernel cmdline. With s2idle:
- No Xid 13, no GPU corruption; the desktop on the external monitor returns after ~4s of
Flip event timeoutretries and stays stable. s2idleis properly supported on this CPU (cat /sys/power/mem_sleep→[s2idle] deepafter the change), and hibernation is unaffected.
Suggestion
Consider either:
- documenting this in the manual for laptops where an output is wired to the dGPU, and/or
- shipping an opt-in setup command (e.g.
omarchy setup nvidia-sleep-fix) that adds themem_sleep_default=s2idlelimine-entry-tool drop-in:
echo 'KERNEL_CMDLINE[default]+=" mem_sleep_default=s2idle"' | sudo tee /etc/limine-entry-tool.d/mem-sleep.conf
sudo limine-mkinitcpioFull context
omarchy debug --no-sudo --printoutput: attached (omarchy-debug.log)- Suspected root cause is in the NVIDIA driver (dGPU VRAM/display state not preserved across S3 without the procfs suspend path), but Omarchy users on MSI/ASUS-style hybrids will keep hitting this.
View raw text
## Summary On a hybrid-graphics laptop where the HDMI port is wired to the NVIDIA dGPU, resuming from `deep` suspend leaves the external monitor permanently corrupted (pink screen, or black backlit). The dGPU's display engine cannot complete a modeset after resume until reboot. Switching to `s2idle` works around it. ## Hardware - MSI GL65 9SEK (MS-16U5), Intel Core i7-9750H - iGPU: Intel UHD 630 (`i915`, drives internal `eDP-1`) - dGPU: NVIDIA RTX 2060 Mobile (TU106), `nvidia-open` 610.57.04 — **HDMI-A-1 is wired to the dGPU** (verified via `/sys/class/drm/card1-HDMI-A-1`) - Omarchy 4.0.4-1, Hyprland 0.56.2, Linux 7.2.3-1-omarchy ## Reproduction 1. Boot normally (default `mem_sleep` = `deep`) 2. `systemctl suspend`, resume 3. External monitor shows a pink screen (or black backlit) — internal panel is fine 100% reproducible on this machine, including on the first suspend after a fresh boot. ## Evidence Journal from resume: ``` [drm:nv_drm_atomic_commit [nvidia_drm]] *ERROR* [nvidia-drm] Failed to apply atomic modeset. Error code: -11 [drm:nv_drm_atomic_commit [nvidia_drm]] *ERROR* [nvidia-drm] Flip event timeout on head 0 NVRM: Xid (PCI:0000:01:00): 13, Graphics Exception: Shader Program Header 11 Error NVRM: Xid (PCI:0000:01:00): 13, pid=..., name=Hyprland, Graphics Exception: channel 0x00000005 ``` After this failure the output is unrecoverable in-session: `hyprctl reload`, a full DPMS off/on cycle, disabling/re-enabling the output, `hl.dsp.force_renderer_reload()`, and a VT switch round-trip all fail; every subsequent modeset attempt on `HDMI-A-1` hits `Flip event timeout on head 0` / atomic modeset `-11` again. Related observations: - The `nvidia-suspend`/`nvidia-resume`/`nvidia-hibernate` services are a no-op on this driver: `/proc/driver/nvidia/suspend` does not exist in 610.57.04, and `nvidia-sleep.sh` exits early in that case. - `NVreg_PreserveVideoMemoryAllocations=0` (set by Omarchy, cf. reverted #5519 and discussion #5500) is required here: with the preserve parameter set and no procfs suspend interface, the driver aborts sleep with `pci_pm_freeze(): nv_pmops_freeze returns -5`. ## Workaround that works `mem_sleep_default=s2idle` on the kernel cmdline. With s2idle: - No Xid 13, no GPU corruption; the desktop on the external monitor returns after ~4s of `Flip event timeout` retries and stays stable. - `s2idle` is properly supported on this CPU (`cat /sys/power/mem_sleep` → `[s2idle] deep` after the change), and hibernation is unaffected. ## Suggestion Consider either: - documenting this in the manual for laptops where an output is wired to the dGPU, and/or - shipping an opt-in setup command (e.g. `omarchy setup nvidia-sleep-fix`) that adds the `mem_sleep_default=s2idle` limine-entry-tool drop-in: ```bash echo 'KERNEL_CMDLINE[default]+=" mem_sleep_default=s2idle"' | sudo tee /etc/limine-entry-tool.d/mem-sleep.conf sudo limine-mkinitcpio ``` ## Full context - `omarchy debug --no-sudo --print` output: attached (omarchy-debug.log) - Suspected root cause is in the NVIDIA driver (dGPU VRAM/display state not preserved across S3 without the procfs suspend path), but Omarchy users on MSI/ASUS-style hybrids will keep hitting this.
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 19:29 UTC