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 GPU menu entry disappears after switching to Integrated mode (detection can't see dGPU once supergfxd removes it from PCI)
Reported by mechanicsunlocked · filed Apr 24, 2026Closed upstream on 2026-04-24 by dhh. GitHub close reason: completed. No closing PR or commit is recorded — "completed" alone is not evidence of a fix.
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
System details
ASUS ROG Zephyrus G16 GU605CR, Intel Core Ultra 9 285H, Intel Arc Pro 130T/140T iGPU + NVIDIA GeForce RTX 5070 Ti Mobile dGPU, Omarchy 3.6.0, Linux 6.19.13-arch1-1, Hyprland 0.54.3.
What's wrong?
After toggling Hybrid GPU -> Integrated via the menu (Trigger -> Hardware -> Hybrid GPU), the "Hybrid GPU" entry disappears from that menu, leaving no in-menu way back to Hybrid mode.
Root cause is in bin/omarchy-hw-hybrid-gpu, which detects hybrid-capable hardware by counting PCI display devices:
(($(lspci | grep -cE 'VGA|3D|Display') >= 2))
In Integrated mode, supergfxd removes the dGPU from the PCI bus (visible in journald: Removed ".../0000:01:00.1"). lspci then only reports one display device, so the check returns 1 and bin/omarchy-menu hides the entry:
if omarchy-hw-hybrid-gpu; then
options="$options\n Hybrid GPU"
fi
It's a chicken-and-egg situation: the hardware is still hybrid-capable, but the toggle itself hides the dGPU from the detection method, so the menu can no longer surface the option needed to reverse the switch.
Workaround: run omarchy-toggle-hybrid-gpu directly from a terminal -- that script reads state from supergfxctl -g, which correctly reports Integrated, so it prompts "Enable dedicated GPU and reboot?" as expected.
Reproduction
------------
1. On a hybrid-GPU laptop in Hybrid mode, open Trigger -> Hardware -> Hybrid GPU.
2. Confirm the switch to Integrated; reboot.
3. After reboot, open Trigger -> Hardware. The "Hybrid GPU" entry is no longer listed.
Expected: the entry stays visible so the user can switch back to Hybrid from the same menu path.
Possible fix
------------
Treat "supergfxd is installed and responding" as positive detection on supergfxd-managed laptops, since supergfxd knows the hardware is hybrid even when the dGPU is currently removed from the bus. Keep the lspci fallback for hybrid laptops that haven't installed supergfxd yet (first-run case).
Patch for bin/omarchy-hw-hybrid-gpu:
#!/bin/bash
# supergfxd is authoritative on hybrid laptops and keeps reporting
# the mode even when the dGPU has been removed from the PCI bus.
if omarchy-cmd-present supergfxctl && supergfxctl -g >/dev/null 2>&1; then
exit 0
fi
# Fallback for hybrid laptops before supergfxd is installed
(($(lspci | grep -cE 'VGA|3D|Display') >= 2))
View raw text
### System details
ASUS ROG Zephyrus G16 GU605CR, Intel Core Ultra 9 285H, Intel Arc Pro 130T/140T iGPU + NVIDIA GeForce RTX 5070 Ti Mobile dGPU, Omarchy 3.6.0, Linux 6.19.13-arch1-1, Hyprland 0.54.3.
### What's wrong?
After toggling Hybrid GPU -> Integrated via the menu (Trigger -> Hardware -> Hybrid GPU), the "Hybrid GPU" entry disappears from that menu, leaving no in-menu way back to Hybrid mode.
Root cause is in `bin/omarchy-hw-hybrid-gpu`, which detects hybrid-capable hardware by counting PCI display devices:
(($(lspci | grep -cE 'VGA|3D|Display') >= 2))
In Integrated mode, `supergfxd` removes the dGPU from the PCI bus (visible in journald: `Removed ".../0000:01:00.1"`). `lspci` then only reports one display device, so the check returns 1 and `bin/omarchy-menu` hides the entry:
if omarchy-hw-hybrid-gpu; then
options="$options\n Hybrid GPU"
fi
It's a chicken-and-egg situation: the hardware is still hybrid-capable, but the toggle itself hides the dGPU from the detection method, so the menu can no longer surface the option needed to reverse the switch.
Workaround: run `omarchy-toggle-hybrid-gpu` directly from a terminal -- that script reads state from `supergfxctl -g`, which correctly reports `Integrated`, so it prompts "Enable dedicated GPU and reboot?" as expected.
Reproduction
------------
1. On a hybrid-GPU laptop in Hybrid mode, open Trigger -> Hardware -> Hybrid GPU.
2. Confirm the switch to Integrated; reboot.
3. After reboot, open Trigger -> Hardware. The "Hybrid GPU" entry is no longer listed.
Expected: the entry stays visible so the user can switch back to Hybrid from the same menu path.
---
Possible fix
------------
Treat "supergfxd is installed and responding" as positive detection on supergfxd-managed laptops, since supergfxd knows the hardware is hybrid even when the dGPU is currently removed from the bus. Keep the lspci fallback for hybrid laptops that haven't installed supergfxd yet (first-run case).
Patch for `bin/omarchy-hw-hybrid-gpu`:
#!/bin/bash
# supergfxd is authoritative on hybrid laptops and keeps reporting
# the mode even when the dGPU has been removed from the PCI bus.
if omarchy-cmd-present supergfxctl && supergfxctl -g >/dev/null 2>&1; then
exit 0
fi
# Fallback for hybrid laptops before supergfxd is installed
(($(lspci | grep -cE 'VGA|3D|Display') >= 2))
---
[omarchy-debug.log](https://github.com/user-attachments/files/27051891/omarchy-debug.log)- omarchy-debug.log
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.