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: nvidia.lua exports NVIDIA env vars even when the display runs on the iGPU → Chromium video flicker (reverse PRIME)
Reported by camargo-advanced · filed Sep 24, 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 a hybrid desktop (Intel UHD 770 + NVIDIA RTX A1000) with the monitor connected to the Intel output (DP-6, PCI 0000:00:02.0), Google Chrome running on the Omarchy session had severe flicker in video (YouTube, Google Meet, picture-in-picture) whenever hardware acceleration was enabled. Disabling acceleration stopped the flicker but broke WebGL apps (MATLAB Online results would not render). Picture-in-picture video "trembled" constantly.
Root cause
/usr/share/omarchy/default/hypr/nvidia.lua runs omarchy-hw-nvidia and, on any machine with NVIDIA hardware present (GSP branch), exports:
hl.env("NVD_BACKEND", "direct")
hl.env("LIBVA_DRIVER_NAME", "nvidia")
hl.env("__GLX_VENDOR_LIBRARY_NAME", "nvidia")These propagate to every process spawned in the session (verified via /proc/<pid>/environ for quickshell, foot, Chrome). When the compositor scans out on Intel, this forces app rendering and video decode onto the NVIDIA GPU; frames must then be copied back to the Intel display path (reverse PRIME), which produces exactly the observed flicker/tearing in Chromium video.
Chromium additionally auto-selects the discrete GPU adapter on hybrid desktops, compounding the issue: Chrome's GPU process launched with --render-node-override=/dev/dri/renderD128 (NVIDIA) and mapped libnvidia-glcore.
The detector only checks whether NVIDIA hardware exists — not whether the active display outputs are actually driven by NVIDIA.
Reproduction
- Hybrid desktop/laptop, monitor on the iGPU output, NVIDIA present.
- Log in; observe
LIBVA_DRIVER_NAME=nvidiaetc. in the env of session apps. - Open Chrome (native Wayland) with hardware acceleration on and play video (YouTube/Meet) → flicker.
Workaround applied
~/.config/uwsm/env.d/50-hybrid-gpu(uwsm-launched apps):LIBVA_DRIVER_NAME=iHD__GLX_VENDOR_LIBRARY_NAME=mesa__EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.jsonhl.envoverrides in~/.config/hypr/hyprland.luafor Hyprland-spawned apps.
After relogin, Chrome renders/decodes on Intel (GPU process maps only Mesa/iris, render-node override = Intel renderD129) and all flicker is gone with hardware acceleration enabled.
Expected behavior
The NVIDIA env vars should only be set when NVIDIA actually drives the active output(s) (or the session is configured for PRIME offload), not merely because NVIDIA hardware is present.
System details
- Omarchy 4.0.4-1, kernel 7.2.5-3-omarchy
- CPU: Intel Core i7-14700
- GPUs: Intel UHD 770 (i915) + NVIDIA RTX A1000 (nvidia 610.57.04); monitor BenQ RD280U on Intel DP-6
- Hyprland 0.56.2, Chrome stable with
--ozone-platform=wayland(chrome-flags.conf)
View raw text
## What happened
On a hybrid desktop (Intel UHD 770 + NVIDIA RTX A1000) with the monitor connected to the **Intel** output (DP-6, PCI 0000:00:02.0), Google Chrome running on the Omarchy session had severe flicker in video (YouTube, Google Meet, picture-in-picture) whenever hardware acceleration was enabled. Disabling acceleration stopped the flicker but broke WebGL apps (MATLAB Online results would not render). Picture-in-picture video "trembled" constantly.
## Root cause
`/usr/share/omarchy/default/hypr/nvidia.lua` runs `omarchy-hw-nvidia` and, on **any** machine with NVIDIA hardware present (GSP branch), exports:
```lua
hl.env("NVD_BACKEND", "direct")
hl.env("LIBVA_DRIVER_NAME", "nvidia")
hl.env("__GLX_VENDOR_LIBRARY_NAME", "nvidia")
```
These propagate to every process spawned in the session (verified via `/proc/<pid>/environ` for quickshell, foot, Chrome). When the compositor scans out on Intel, this forces app rendering and video decode onto the NVIDIA GPU; frames must then be copied back to the Intel display path (reverse PRIME), which produces exactly the observed flicker/tearing in Chromium video.
Chromium additionally auto-selects the discrete GPU adapter on hybrid desktops, compounding the issue: Chrome's GPU process launched with `--render-node-override=/dev/dri/renderD128` (NVIDIA) and mapped `libnvidia-glcore`.
The detector only checks whether NVIDIA hardware exists — not whether the active display outputs are actually driven by NVIDIA.
## Reproduction
1. Hybrid desktop/laptop, monitor on the iGPU output, NVIDIA present.
2. Log in; observe `LIBVA_DRIVER_NAME=nvidia` etc. in the env of session apps.
3. Open Chrome (native Wayland) with hardware acceleration on and play video (YouTube/Meet) → flicker.
## Workaround applied
- `~/.config/uwsm/env.d/50-hybrid-gpu` (uwsm-launched apps):
- `LIBVA_DRIVER_NAME=iHD`
- `__GLX_VENDOR_LIBRARY_NAME=mesa`
- `__EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json`
- `hl.env` overrides in `~/.config/hypr/hyprland.lua` for Hyprland-spawned apps.
After relogin, Chrome renders/decodes on Intel (GPU process maps only Mesa/iris, render-node override = Intel renderD129) and all flicker is gone with hardware acceleration enabled.
## Expected behavior
The NVIDIA env vars should only be set when NVIDIA actually drives the active output(s) (or the session is configured for PRIME offload), not merely because NVIDIA hardware is present.
## System details
- Omarchy 4.0.4-1, kernel 7.2.5-3-omarchy
- CPU: Intel Core i7-14700
- GPUs: Intel UHD 770 (i915) + NVIDIA RTX A1000 (nvidia 610.57.04); monitor BenQ RD280U on Intel DP-6
- Hyprland 0.56.2, Chrome stable with `--ozone-platform=wayland` (chrome-flags.conf)
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
- Fixed bypr/9483· confirmed
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:36 UTC