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.
Hibernate hangs (forced power-off required) on hybrid-GPU ASUS ROG G14 — force-igpu/supergfxctl never installed
Reported by rdelpiano · filed Sep 1, 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
What happened
On an ASUS ROG Zephyrus G14 (GA403UM) with hybrid graphics (NVIDIA RTX 5060 Max‑Q dGPU + AMD Radeon 780M iGPU), triggering System → Hibernate from the Omarchy menu (systemctl hibernate) does not hibernate. The machine ends up in a hard hang — fans running, keyboard LEDs lit, black screen, unresponsive to keyboard and to a short press of the power button — and can only be recovered with a forced power‑off (hold power). On the reboot after that, amdgpu logs a GPU reset.
Hibernation itself is set up correctly (omarchy hibernation available returns true; swapfile + resume=/resume_offset= on the kernel cmdline are present and the resume image is written to swap successfully). The failure is entirely in the hybrid‑GPU sleep path.
What I expected
Either hibernate completes and resumes cleanly, or — if it cannot be made reliable on this hardware — Omarchy does not offer the Hibernate action, or warns, rather than leaving the machine in a state that needs a hard power‑off.
Root cause analysis
Omarchy ships default/systemd/system-sleep/force-igpu, whose own comments describe exactly this hardware and failure:
Use the Vfio to Integrated trick to turn off NVIDIA dgpu … This is needed because computers like the Asus G14 will wake after suspend in Hybrid mode, even if the system was in Integrated mode before suspending. Before hibernating, switch to Vfio so the nvidia driver is detached from the dGPU. Without this, hibernate resume fails because the nvidia driver can't freeze a powered‑off dGPU (returns -EIO), which aborts the entire resume.
But on this system neither `supergfxctl`/`supergfxd` nor the `force-igpu` hook is installed. install/hardware/asus-rog.sh only installs asusctl; supergfxctl and force-igpu are only ever installed as a side effect of the user manually running omarchy toggle hybrid gpu. A fresh install on a hybrid‑GPU G14 therefore has hibernation enabled and offered in the menu, with none of the dGPU sleep handling that Omarchy's own code says is required for it.
Observed sequence in the journal for one attempt:
- Hibernate image written, then a spurious wakeup aborts it:
PM: hibernation: Wrote 10938568 kbytes in 5.27 seconds (2075.62 MB/s)
PM: hibernation: Wakeup event detected during hibernation, rolling back. (S4 wakeup is enabled on the dGPU/Thunderbolt PCIe ports: GPP0, GP11, NHI0.)
2. Retry falls back to s2idle suspend; the NVIDIA driver refuses it:
kernel: WARNING: nvidia/nv.c:4574 at nv_set_system_power_state.part.0+0x539/0x5f0 [nvidia]
kernel: NVRM: PM suspend notifier failed: 0x11
systemd-sleep: Failed to put system to sleep. System resumed again: Operation not permitted
systemd-suspend.service: Failed with result 'exit-code'.amdgputhen hits a job timeout and its GPU‑reset path deadlocks against the dm_crypt (LUKS) worker; the whole graphics stack and Hyprland wedge:
INFO: task kworker/u64:45 blocked for more than 122 seconds.
Workqueue: amdgpu-reset-dev drm_sched_job_timedout [gpu_sched]
dm_suspend+0x1e4/0x3a0 [amdgpu]
amdgpu_device_gpu_recover.cold+0x28b/0x2ec [amdgpu]
INFO: task kworker/u64:45 is blocked on a mutex likely owned by task kworker/u64:50 (kcryptd-253:0-1)
INFO: task Hyprland:1376 is blocked on a mutex likely owned by task kworker/u64:50
systemd-logind: Power key pressed short # no effect; machine already deadlockedRecovery required holding the power button.
Steps to reproduce
- Install Omarchy on an ASUS ROG Zephyrus G14 (GA403 series) with the NVIDIA + AMD hybrid GPU, in the default (Hybrid) GPU mode, with an encrypted (LUKS) root.
- Do not run
omarchy toggle hybrid gpu(leavesupergfxctluninstalled — the default state after install). - Confirm hibernation is set up:
omarchy hibernation available→ true, Hibernate appears in the system menu. - Menu → System → Hibernate.
- Machine writes the image, does not power off, and hangs; forced power‑off required.
System details
- Machine: ASUSTeK ROG Zephyrus G14 GA403UM, BIOS GA403UM.309 (2025‑09‑19)
- CPU: AMD Ryzen 9 270 w/ Radeon 780M (Zen 4)
- GPU: NVIDIA GB206M [GeForce RTX 5060 Max‑Q], driver
nvidia610.57.04 (nvidia-open-dkms) + AMD Radeon 780M / "HawkPoint1", driveramdgpu - Kernel: 7.1.9-arch1-2
- Omarchy: 4.0.1-1
- Hyprland: 0.56.2
- Root: btrfs on LUKS (
/dev/mapper/root); disk swapfile/swap/swapfile(30.6 GiB, pri 0) + zram (pri 100) - GPU mode: Hybrid;
supergfxctlnot installed;/usr/lib/systemd/system-sleep/force-igpunot installed;nvidia-suspend/hibernate/resume.serviceall disabled
Suggested fix
For hybrid‑GPU ASUS laptops, install/hardware/asus-rog.sh (or the hibernation setup) should provision the same dGPU sleep handling that omarchy toggle hybrid gpu does — install supergfxctl + the force-igpu system‑sleep hook — or omarchy-hibernation-available should return false (hiding the menu entry) until that handling is in place.
View raw text
### What happened
On an ASUS ROG Zephyrus G14 (GA403UM) with hybrid graphics (NVIDIA RTX 5060 Max‑Q dGPU + AMD Radeon 780M iGPU), triggering **System → Hibernate** from the Omarchy menu (`systemctl hibernate`) does not hibernate. The machine ends up in a hard hang — fans running, keyboard LEDs lit, black screen, unresponsive to keyboard and to a short press of the power button — and can only be recovered with a forced power‑off (hold power). On the reboot after that, `amdgpu` logs a GPU reset.
Hibernation itself is set up correctly (`omarchy hibernation available` returns true; swapfile + `resume=`/`resume_offset=` on the kernel cmdline are present and the resume image is written to swap successfully). The failure is entirely in the hybrid‑GPU sleep path.
### What I expected
Either hibernate completes and resumes cleanly, or — if it cannot be made reliable on this hardware — Omarchy does not offer the Hibernate action, or warns, rather than leaving the machine in a state that needs a hard power‑off.
### Root cause analysis
Omarchy ships `default/systemd/system-sleep/force-igpu`, whose own comments describe exactly this hardware and failure:
> Use the Vfio to Integrated trick to turn off NVIDIA dgpu … This is needed because computers like the Asus G14 will wake after suspend in Hybrid mode, even if the system was in Integrated mode before suspending.
> Before hibernating, switch to Vfio so the nvidia driver is detached from the dGPU. Without this, hibernate resume fails because the nvidia driver can't freeze a powered‑off dGPU (returns -EIO), which aborts the entire resume.
But on this system **neither `supergfxctl`/`supergfxd` nor the `force-igpu` hook is installed.** `install/hardware/asus-rog.sh` only installs `asusctl`; `supergfxctl` and `force-igpu` are only ever installed as a side effect of the user manually running `omarchy toggle hybrid gpu`. A fresh install on a hybrid‑GPU G14 therefore has hibernation enabled and offered in the menu, with none of the dGPU sleep handling that Omarchy's own code says is required for it.
Observed sequence in the journal for one attempt:
1. Hibernate image written, then a spurious wakeup aborts it:
```
PM: hibernation: Wrote 10938568 kbytes in 5.27 seconds (2075.62 MB/s)
PM: hibernation: Wakeup event detected during hibernation, rolling back.
```
(S4 wakeup is enabled on the dGPU/Thunderbolt PCIe ports: `GPP0`, `GP11`, `NHI0`.)
2. Retry falls back to s2idle suspend; the NVIDIA driver refuses it:
```
kernel: WARNING: nvidia/nv.c:4574 at nv_set_system_power_state.part.0+0x539/0x5f0 [nvidia]
kernel: NVRM: PM suspend notifier failed: 0x11
systemd-sleep: Failed to put system to sleep. System resumed again: Operation not permitted
systemd-suspend.service: Failed with result 'exit-code'.
```
3. `amdgpu` then hits a job timeout and its GPU‑reset path deadlocks against the dm_crypt (LUKS) worker; the whole graphics stack and Hyprland wedge:
```
INFO: task kworker/u64:45 blocked for more than 122 seconds.
Workqueue: amdgpu-reset-dev drm_sched_job_timedout [gpu_sched]
dm_suspend+0x1e4/0x3a0 [amdgpu]
amdgpu_device_gpu_recover.cold+0x28b/0x2ec [amdgpu]
INFO: task kworker/u64:45 is blocked on a mutex likely owned by task kworker/u64:50 (kcryptd-253:0-1)
INFO: task Hyprland:1376 is blocked on a mutex likely owned by task kworker/u64:50
systemd-logind: Power key pressed short # no effect; machine already deadlocked
```
Recovery required holding the power button.
### Steps to reproduce
1. Install Omarchy on an ASUS ROG Zephyrus G14 (GA403 series) with the NVIDIA + AMD hybrid GPU, in the default (Hybrid) GPU mode, with an encrypted (LUKS) root.
2. Do **not** run `omarchy toggle hybrid gpu` (leave `supergfxctl` uninstalled — the default state after install).
3. Confirm hibernation is set up: `omarchy hibernation available` → true, Hibernate appears in the system menu.
4. Menu → System → Hibernate.
5. Machine writes the image, does not power off, and hangs; forced power‑off required.
### System details
- Machine: ASUSTeK ROG Zephyrus G14 GA403UM, BIOS GA403UM.309 (2025‑09‑19)
- CPU: AMD Ryzen 9 270 w/ Radeon 780M (Zen 4)
- GPU: NVIDIA GB206M [GeForce RTX 5060 Max‑Q], driver `nvidia` 610.57.04 (nvidia-open-dkms) + AMD Radeon 780M / "HawkPoint1", driver `amdgpu`
- Kernel: 7.1.9-arch1-2
- Omarchy: 4.0.1-1
- Hyprland: 0.56.2
- Root: btrfs on LUKS (`/dev/mapper/root`); disk swapfile `/swap/swapfile` (30.6 GiB, pri 0) + zram (pri 100)
- GPU mode: Hybrid; `supergfxctl` not installed; `/usr/lib/systemd/system-sleep/force-igpu` not installed; `nvidia-suspend/hibernate/resume.service` all disabled
### Suggested fix
For hybrid‑GPU ASUS laptops, `install/hardware/asus-rog.sh` (or the hibernation setup) should provision the same dGPU sleep handling that `omarchy toggle hybrid gpu` does — install `supergfxctl` + the `force-igpu` system‑sleep hook — or `omarchy-hibernation-available` should return false (hiding the menu entry) until that handling is in place.
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 10:31 UTC