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.
nvidia.lua forces LIBVA_DRIVER_NAME=nvidia on hybrid AMD+NVIDIA laptops, breaking Chromium/Brave video
Reported by Yarlord · filed Sep 13, 2026Closed upstream on 2026-09-20 by bjarneo via an automated message, as a duplicate of #8215 (R-1472). GitHub close reason: completed.
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
What happened
On a hybrid laptop (AMD Phoenix iGPU driving the display + NVIDIA RTX 3050 discrete), YouTube loads but videos render black, page scrolling breaks, and audio plays in the background. Affects both Brave (brave-bin 1:1.95.101-1) and Chromium (152.0.7977.82-1), so it is environmental, not a browser bug.
Root cause: default/hypr/nvidia.lua sets LIBVA_DRIVER_NAME=nvidia (and __GLX_VENDOR_LIBRARY_NAME=nvidia) on any machine with a GSP-era NVIDIA GPU. But Hyprland runs on the AMD iGPU here, so Chromium's GPU process gets forced onto libva-nvidia-driver's EGL VA-API shim and hardware decode/compositing fails. Network, DNS, clock, and audio (PipeWire) all verified healthy; curl to youtube.com returns 200.
What was expected
On hybrid systems where NVIDIA is not the display GPU, Omarchy should not force the NVIDIA VA-API/GLX drivers globally — browsers should fall back to the iGPU's (radeonsi) decode path.
Steps to reproduce
- Hybrid AMD (display) + NVIDIA (discrete, Turing+) laptop, Omarchy 4.0.3, Hyprland 0.56.2.
- Open YouTube in Brave or Chromium, play any video.
- Black video + broken scrolling, audio continues.
Workaround confirming the cause — launching with the forced vars unset fixes it completely:
env -u LIBVA_DRIVER_NAME -u __GLX_VENDOR_LIBRARY_NAME brave --new-window https://www.youtube.com/System details
- Omarchy:
4.0.3-1, Hyprland0.56.2, Wayland - GPUs: AMD Phoenix1 (
1002:15bf,boot_vga=1, driveseDP-1) + NVIDIA GA107BM RTX 3050 (10de:25ac,boot_vga=0) systemctl --user show-environment:LIBVA_DRIVER_NAME=nvidia,__GLX_VENDOR_LIBRARY_NAME=nvidia/dev/dri:card1/renderD128= NVIDIA,card2/renderD129= AMD
Suggested fix
Gate the LIBVA_DRIVER_NAME=nvidia override on NVIDIA actually being the display GPU, e.g. a detector that checks the boot_vga sysfs flag (/sys/bus/pci/devices/<nvidia>/boot_vga == 1), consistent with the existing cached-sysfs detector style in omarchy-hw-nvidia*. Happy to submit a PR along these lines if the approach sounds right.
View raw text
## What happened On a hybrid laptop (AMD Phoenix iGPU driving the display + NVIDIA RTX 3050 discrete), YouTube loads but videos render black, page scrolling breaks, and audio plays in the background. Affects both Brave (`brave-bin 1:1.95.101-1`) and Chromium (`152.0.7977.82-1`), so it is environmental, not a browser bug. Root cause: `default/hypr/nvidia.lua` sets `LIBVA_DRIVER_NAME=nvidia` (and `__GLX_VENDOR_LIBRARY_NAME=nvidia`) on any machine with a GSP-era NVIDIA GPU. But Hyprland runs on the AMD iGPU here, so Chromium's GPU process gets forced onto `libva-nvidia-driver`'s EGL VA-API shim and hardware decode/compositing fails. Network, DNS, clock, and audio (PipeWire) all verified healthy; `curl` to `youtube.com` returns 200. ## What was expected On hybrid systems where NVIDIA is not the display GPU, Omarchy should not force the NVIDIA VA-API/GLX drivers globally — browsers should fall back to the iGPU's (`radeonsi`) decode path. ## Steps to reproduce 1. Hybrid AMD (display) + NVIDIA (discrete, Turing+) laptop, Omarchy 4.0.3, Hyprland 0.56.2. 2. Open YouTube in Brave or Chromium, play any video. 3. Black video + broken scrolling, audio continues. Workaround confirming the cause — launching with the forced vars unset fixes it completely: ```bash env -u LIBVA_DRIVER_NAME -u __GLX_VENDOR_LIBRARY_NAME brave --new-window https://www.youtube.com/ ``` ## System details - Omarchy: `4.0.3-1`, Hyprland `0.56.2`, Wayland - GPUs: AMD Phoenix1 (`1002:15bf`, `boot_vga=1`, drives `eDP-1`) + NVIDIA GA107BM RTX 3050 (`10de:25ac`, `boot_vga=0`) - `systemctl --user show-environment`: `LIBVA_DRIVER_NAME=nvidia`, `__GLX_VENDOR_LIBRARY_NAME=nvidia` - `/dev/dri`: `card1`/`renderD128` = NVIDIA, `card2`/`renderD129` = AMD ## Suggested fix Gate the `LIBVA_DRIVER_NAME=nvidia` override on NVIDIA actually being the display GPU, e.g. a detector that checks the `boot_vga` sysfs flag (`/sys/bus/pci/devices/<nvidia>/boot_vga == 1`), consistent with the existing cached-sysfs detector style in `omarchy-hw-nvidia*`. Happy to submit a PR along these lines if the approach sounds right.
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.
No decision has been recorded yet.