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-557GitHub issuePublicDecided· Out of scope

force-igpu resume hook strands system in Vfio mode on Integrated->Vfio transition failure; toggle can't recover

Reported by ujo4eva · filed Sep 15, 2026 · open at source

Decided: Out of scope — decided by agents · verified 3 days ago.

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

force-igpu resume hook strands system in Vfio mode on Integrated->Vfio transition failure; toggle can't recoverrevision 1 · captured 2026-09-28 21:23 UTC via poll

What happened

After switching to Integrated mode via Super+Ctrl+H > Hybrid GPU (omarchy-toggle-hybrid-gpu), the system intermittently gets stuck in Vfio mode after suspend/resume. Once stuck, the same menu entry fails with:

Hybrid GPU not found or in unknown mode.

because bin/omarchy-toggle-hybrid-gpu only handles Integrated/Hybrid in its case statement and falls through to *) for Vfio.

Why it strands in Vfio

default/systemd/system-sleep/force-igpu post does Vfio -> Integrated on every resume while in Integrated mode. supergfxctl -m persists each step immediately, so if the second transition fails the config is left at "mode": "Vfio". The restore marker is in /run/ (tmpfs), so a reboot wipes the recovery state and the machine boots straight into Vfio with nothing to restore it.

Two failures on this machine, identical signature:

Sep 13 11:33:46 Switching gfx mode to Vfio / Graphics mode changed to Vfio
Sep 13 11:33:47 Switching gfx mode to Integrated / Graphics mode changed to Integrated
Sep 13 11:33:47 UnbindRemoveGpu: No such file or directory (os error 2)
Sep 13 11:33:48 rmmod nvidia_drm failed: "rmmod: ERROR: Module nvidia_drm is in use"
Sep 13 11:33:58 Could not confirm the GPU transition to Integrated mode
Sep 13 11:33:58 '/usr/lib/systemd/system-sleep/force-igpu' failed with exit status 1.

Sep 14 21:53:55 Switching gfx mode to Vfio / Graphics mode changed to Vfio
Sep 14 21:53:56 Switching gfx mode to Integrated / Graphics mode changed to Integrated
Sep 14 21:53:56 UnbindRemoveGpu: No such file or directory (os error 2)
Sep 14 21:53:57 rmmod nvidia_drm failed: "rmmod: ERROR: Module nvidia_drm is in use"
Sep 14 21:54:07 Could not confirm the GPU transition to Integrated mode

The same hook succeeded 8+ times in the prior week (Sep 9/10/13/14), so it is a race, not a deterministic failure. Likely contributors on this machine: quickshell (Omarchy 4 shell) holds /dev/nvidia0,nvidia-uvm,nvidia-modeset across resume, plus ollama.service (pid 1248 (ollama) is holding /dev/nvidia0. Killing in logs), plus nvidia 580.159.04 -> 580.178.04 / kernel 7.1.9 -> 7.2.3.

Expected

  1. A failed resume hook should never leave the persistent config stranded in the intermediate Vfio state (retry, revert config, or keep the marker so the next boot/post can recover).
  2. omarchy-toggle-hybrid-gpu should handle Vfio (and other real modes like Dedicated/AsusMuxDgpu) instead of Hybrid GPU not found or in unknown mode — at minimum offer recovery back to Hybrid/Integrated, since that is the only UI users get via Super+Ctrl+H.

Steps to reproduce

  1. On a dual-GPU laptop, Super+Ctrl+H > Hybrid GPU to switch Hybrid -> Integrated, reboot.
  2. Suspend/resume repeatedly with something holding nvidia_drm (e.g. a GPU app + ollama.service enabled).
  3. Eventually post fails as above; supergfxctl -g returns Vfio, /etc/supergfxd.conf says "mode": "Vfio".
  4. After next reboot, still Vfio; Super+Ctrl+H > Hybrid GPU prints Hybrid GPU not found or in unknown mode. and exits 1.

System details

  • Omarchy: 4.0.3-1 (channel package), upstream default branch quattro
  • supergfxctl 5.2.7-2, supergfxd 5.2.7, kernel 7.2.3-arch1-3
  • nvidia-580xx-dkms/utils 580.178.04-1.1
  • CPU: Intel i5-9300H, iGPU CoffeeLake-H GT2 [UHD 630] (00:02.0), dGPU NVIDIA GP107M [GTX 1050 3 GB Max-Q] (01:00.0, subsys HP 103c:85fa) — supported modes [Integrated, Hybrid, Vfio]
  • force-igpu + delay-start.conf installed by the toggle (expected for Integrated); hook source matches upstream quattro as of filing.

Suggested fix directions

  • bin/omarchy-toggle-hybrid-gpu: add a Vfio (and ideally Dedicated/MUX) arm that offers to return to Hybrid/Integrated with the same cleanup the Integrated -> Hybrid path does (remove force-igpu + delay-start.conf), instead of the *) dead-end.
  • force-igpu: don't persist the intermediate state — e.g. on post failure, rewrite /etc/supergfxd.conf back toward Integrated and/or preserve the restore marker across reboot (not /run-only) so the next boot can retry; consider KillNvidia-style holder handling or a bounded retry before giving up.
  • Docs: note the hook is primarily for Asus G14-style mux behavior; non-Asus muxless laptops (like this HP) still get it installed unconditionally when entering Integrated mode.

Workaround (verified on this machine)

supergfxctl -m Hybrid
sudo rm -rf /usr/lib/systemd/system-sleep/force-igpu /etc/systemd/system/supergfxd.service.d/delay-start.conf
sudo systemctl daemon-reload
sudo reboot
# verify: supergfxctl -g -> Hybrid
View raw text
## What happened

After switching to Integrated mode via `Super+Ctrl+H > Hybrid GPU` (`omarchy-toggle-hybrid-gpu`), the system intermittently gets stuck in `Vfio` mode after suspend/resume. Once stuck, the same menu entry fails with:

```
Hybrid GPU not found or in unknown mode.
```

because `bin/omarchy-toggle-hybrid-gpu` only handles `Integrated`/`Hybrid` in its `case` statement and falls through to `*)` for `Vfio`.

## Why it strands in Vfio

`default/systemd/system-sleep/force-igpu` `post` does `Vfio -> Integrated` on every resume while in Integrated mode. `supergfxctl -m` persists each step immediately, so if the second transition fails the config is left at `"mode": "Vfio"`. The restore marker is in `/run/` (tmpfs), so a reboot wipes the recovery state and the machine boots straight into `Vfio` with nothing to restore it.

Two failures on this machine, identical signature:

```
Sep 13 11:33:46 Switching gfx mode to Vfio / Graphics mode changed to Vfio
Sep 13 11:33:47 Switching gfx mode to Integrated / Graphics mode changed to Integrated
Sep 13 11:33:47 UnbindRemoveGpu: No such file or directory (os error 2)
Sep 13 11:33:48 rmmod nvidia_drm failed: "rmmod: ERROR: Module nvidia_drm is in use"
Sep 13 11:33:58 Could not confirm the GPU transition to Integrated mode
Sep 13 11:33:58 '/usr/lib/systemd/system-sleep/force-igpu' failed with exit status 1.

Sep 14 21:53:55 Switching gfx mode to Vfio / Graphics mode changed to Vfio
Sep 14 21:53:56 Switching gfx mode to Integrated / Graphics mode changed to Integrated
Sep 14 21:53:56 UnbindRemoveGpu: No such file or directory (os error 2)
Sep 14 21:53:57 rmmod nvidia_drm failed: "rmmod: ERROR: Module nvidia_drm is in use"
Sep 14 21:54:07 Could not confirm the GPU transition to Integrated mode
```

The same hook succeeded 8+ times in the prior week (`Sep 9/10/13/14`), so it is a race, not a deterministic failure. Likely contributors on this machine: `quickshell` (Omarchy 4 shell) holds `/dev/nvidia0,nvidia-uvm,nvidia-modeset` across resume, plus `ollama.service` (`pid 1248 (ollama) is holding /dev/nvidia0. Killing` in logs), plus nvidia `580.159.04 -> 580.178.04` / kernel `7.1.9 -> 7.2.3`.

## Expected

1. A failed resume hook should never leave the persistent config stranded in the intermediate `Vfio` state (retry, revert config, or keep the marker so the next boot/post can recover).
2. `omarchy-toggle-hybrid-gpu` should handle `Vfio` (and other real modes like `Dedicated`/`AsusMuxDgpu`) instead of `Hybrid GPU not found or in unknown mode` — at minimum offer recovery back to `Hybrid`/`Integrated`, since that is the only UI users get via `Super+Ctrl+H`.

## Steps to reproduce

1. On a dual-GPU laptop, `Super+Ctrl+H > Hybrid GPU` to switch `Hybrid -> Integrated`, reboot.
2. Suspend/resume repeatedly with something holding `nvidia_drm` (e.g. a GPU app + `ollama.service` enabled).
3. Eventually `post` fails as above; `supergfxctl -g` returns `Vfio`, `/etc/supergfxd.conf` says `"mode": "Vfio"`.
4. After next reboot, still `Vfio`; `Super+Ctrl+H > Hybrid GPU` prints `Hybrid GPU not found or in unknown mode.` and exits 1.

## System details

- Omarchy: `4.0.3-1` (channel package), upstream default branch `quattro`
- `supergfxctl 5.2.7-2`, `supergfxd 5.2.7`, kernel `7.2.3-arch1-3`
- `nvidia-580xx-dkms/utils 580.178.04-1.1`
- CPU: `Intel i5-9300H`, iGPU `CoffeeLake-H GT2 [UHD 630] (00:02.0)`, dGPU `NVIDIA GP107M [GTX 1050 3 GB Max-Q] (01:00.0, subsys HP 103c:85fa)` — supported modes `[Integrated, Hybrid, Vfio]`
- `force-igpu` + `delay-start.conf` installed by the toggle (expected for Integrated); hook source matches upstream `quattro` as of filing.

## Suggested fix directions

- `bin/omarchy-toggle-hybrid-gpu`: add a `Vfio` (and ideally `Dedicated`/MUX) arm that offers to return to `Hybrid`/`Integrated` with the same cleanup the `Integrated -> Hybrid` path does (remove `force-igpu` + `delay-start.conf`), instead of the `*)` dead-end.
- `force-igpu`: don't persist the intermediate state — e.g. on `post` failure, rewrite `/etc/supergfxd.conf` back toward `Integrated` and/or preserve the restore marker across reboot (not `/run`-only) so the next boot can retry; consider `KillNvidia`-style holder handling or a bounded retry before giving up.
- Docs: note the hook is primarily for Asus G14-style mux behavior; non-Asus muxless laptops (like this HP) still get it installed unconditionally when entering Integrated mode.

## Workaround (verified on this machine)

```bash
supergfxctl -m Hybrid
sudo rm -rf /usr/lib/systemd/system-sleep/force-igpu /etc/systemd/system/supergfxd.service.d/delay-start.conf
sudo systemctl daemon-reload
sudo reboot
# verify: supergfxctl -g -> Hybrid
```

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 13:32 UTC