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.
Chromium/Electron apps fail GPU-process init on pre-Maxwell-2 NVIDIA: libva-nvidia-driver is incompatible system-wide
Reported by sbmthakur · filed May 31, 2026Closed upstream on 2026-06-06 by its own reporter sbmthakur. GitHub close reason: completed. Closed by its own reporter — not by itself 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
Chromium/Electron apps fail GPU-process init on pre-Maxwell-2 NVIDIA: libva-nvidia-driver is incompatible system-wide
System
- Omarchy 3.8.0 (git
0c6bd192) - GPU: NVIDIA Quadro M1000M (GM107, Maxwell 1st-gen), single GPU, no iGPU
nvidia-open-dkms/nvidia-utils595.71.05,libva-nvidia-driver0.0.16
Symptom
Every Chromium/Electron app on the system fails to initialize a GPU process. Shared signature:
libva error: /usr/lib/dri/nvidia_drv_video.so init failed
ERROR: media/gpu/vaapi/vaapi_wrapper.cc: vaInitialize failed: operation failed
ERROR: components/viz/service/main/viz_main_impl.cc: Exiting GPU process due to errors during initializationWhether the app dies vs. falls back to software depends only on the bundled Electron version, older builds treat GPU-process loss as fatal.
Reproduction (this hardware, no flags)
| App | VA-API fail | GPU process isn't usable (fatal) | App survives? |
|---|---|---|---|
| 1Password 8 | ✓ | ✓ (+ core dump) | NO — crashes |
| Spotify (CEF) | —* | ✓ | NO — crashes |
| VS Code | ✓ | yes (no GPU accel) | |
| Signal Desktop | ✓ | yes | |
| Obsidian | ✓ | yes | |
| Chromium 145 | ✓ | yes | |
| Bitwarden Desktop | — | — | yes — different signature: MESA: error: ZINK: vkEnumeratePhysicalDevices failed (VK_ERROR_INITIALIZATION_FAILED) → Exiting GPU process |
\* Spotify hits the fatal without the VA-API line (different libva path).
Root cause
libva-nvidia-driver (NVDEC-backed VAAPI shim) requires Maxwell 2nd-generation (GM20x) or newer; GM107 is unsupported, so vaInitialize always fails and Chromium tears down the GPU process. Bitwarden bypasses VA-API but hits a second wall on Mesa's ZINK Vulkan path, which is also broken on this card.
Why existing issues don't cover this
- #3899 (closed at 3.4.0) is Chromium-browser-focused and its
chromium-flags.confworkaround doesn't reach apps shipped outside pacman (1Password, Spotify, VS Code, Signal, Obsidian, Bitwarden all ignore it). - #4901 (hybrid Intel+NVIDIA) fixes a cross-GPU DMA-BUF mismatch by forcing Chromium onto Mesa/Intel EGL, cannot apply on pure-NVIDIA boxes, no iGPU to fall back to.
Workaround (per-app only)
Pass --disable-features=VaapiVideoDecoder,VaapiVideoEncoder (or --disable-gpu) by copying the app's .desktop to ~/.local/share/applications/ and editing Exec=. There is no global Electron hook, so this has to be repeated per app.
Proposed Omarchy-level fixes
- Don't install `libva-nvidia-driver` on pre-GM20x NVIDIA cards (detect via
lspci/nvidia-smi --query-gpu=name, then skip orIgnorePkg). The package is actively harmful on this hardware, not just unused. - Ship a global env hint (e.g.
LIBVA_DRIVER_NAME=nonein/etc/environmentor a Hyprlandenvs.confsnippet) on affected NVIDIA generations, so Chromium/Electron stop probing the broken path. - Maintain `.desktop` overrides for the closed-source Electron apps shipped outside pacman (1Password, Spotify), mirroring the existing
chromium-flags.confpattern.
Related: #3899, #4901.
View raw text
# Chromium/Electron apps fail GPU-process init on pre-Maxwell-2 NVIDIA: `libva-nvidia-driver` is incompatible system-wide ## System - Omarchy 3.8.0 (git `0c6bd192`) - GPU: NVIDIA Quadro M1000M (**GM107, Maxwell 1st-gen**), single GPU, no iGPU - `nvidia-open-dkms` / `nvidia-utils` 595.71.05, `libva-nvidia-driver` 0.0.16 ## Symptom Every Chromium/Electron app on the system fails to initialize a GPU process. Shared signature: ``` libva error: /usr/lib/dri/nvidia_drv_video.so init failed ERROR: media/gpu/vaapi/vaapi_wrapper.cc: vaInitialize failed: operation failed ERROR: components/viz/service/main/viz_main_impl.cc: Exiting GPU process due to errors during initialization ``` Whether the app **dies** vs. **falls back to software** depends only on the bundled Electron version, older builds treat GPU-process loss as fatal. ## Reproduction (this hardware, no flags) | App | VA-API fail | `GPU process isn't usable` (fatal) | App survives? | |---|---|---|---| | **1Password 8** | ✓ | ✓ (+ core dump) | **NO — crashes** | | **Spotify** (CEF) | —* | ✓ | **NO — crashes** | | VS Code | ✓ | | yes (no GPU accel) | | Signal Desktop | ✓ | | yes | | Obsidian | ✓ | | yes | | Chromium 145 | ✓ | | yes | | Bitwarden Desktop | — | — | yes — different signature: `MESA: error: ZINK: vkEnumeratePhysicalDevices failed (VK_ERROR_INITIALIZATION_FAILED)` → `Exiting GPU process` | \* Spotify hits the fatal without the VA-API line (different libva path). ## Root cause `libva-nvidia-driver` (NVDEC-backed VAAPI shim) requires Maxwell **2nd-generation** (GM20x) or newer; GM107 is unsupported, so `vaInitialize` always fails and Chromium tears down the GPU process. Bitwarden bypasses VA-API but hits a second wall on Mesa's ZINK Vulkan path, which is also broken on this card. ## Why existing issues don't cover this - **#3899** (closed at 3.4.0) is Chromium-browser-focused and its `chromium-flags.conf` workaround doesn't reach apps shipped outside pacman (1Password, Spotify, VS Code, Signal, Obsidian, Bitwarden all ignore it). - **#4901** (hybrid Intel+NVIDIA) fixes a cross-GPU DMA-BUF mismatch by forcing Chromium onto Mesa/Intel EGL, **cannot apply on pure-NVIDIA boxes**, no iGPU to fall back to. ## Workaround (per-app only) Pass `--disable-features=VaapiVideoDecoder,VaapiVideoEncoder` (or `--disable-gpu`) by copying the app's `.desktop` to `~/.local/share/applications/` and editing `Exec=`. There is no global Electron hook, so this has to be repeated per app. ## Proposed Omarchy-level fixes 1. **Don't install `libva-nvidia-driver` on pre-GM20x NVIDIA cards** (detect via `lspci` / `nvidia-smi --query-gpu=name`, then skip or `IgnorePkg`). The package is actively harmful on this hardware, not just unused. 2. **Ship a global env hint** (e.g. `LIBVA_DRIVER_NAME=none` in `/etc/environment` or a Hyprland `envs.conf` snippet) on affected NVIDIA generations, so Chromium/Electron stop probing the broken path. 3. **Maintain `.desktop` overrides** for the closed-source Electron apps shipped outside pacman (1Password, Spotify), mirroring the existing `chromium-flags.conf` pattern. Related: #3899, #4901.
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.