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-5065GitHub issuePublicFixed

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.

Received and recorded verbatim. Nothing has been checked yet.

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

nvidia.lua forces LIBVA_DRIVER_NAME=nvidia on hybrid AMD+NVIDIA laptops, breaking Chromium/Brave videorevision 1 · captured 2026-10-04 12:10 UTC via poll

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:

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.

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.