GPU vendor config + scope env fix #10

Merged
gabrielgad merged 3 commits from fix/gpu-vendor-scope-env into main 2026-06-18 18:55:53 -04:00
gabrielgad commented 2026-06-18 18:55:51 -04:00 (Migrated from github.com)

Two fixes that stop us fighting GPU driver alignment per-machine/per-game:

  1. scope: env via --setenvsystemd-run --scope children inherit the systemd user manager's environment. The scope wrapper carried inner env with cmd.env() on the systemd-run client, which doesn't override manager-set vars — so a stale LIBVA_DRIVER_NAME=nvidia in the manager env silently won over the launch env on every scoped launch. Now passed via --setenv= (wins inside the scope). Fixes GPU alignment and any future env collision.

  2. config: gpu_vendor (auto|amd|nvidia|intel, default auto) — centralizes per-vendor driver env (LIBVA + NVIDIA GLX/GBM), auto-detected from the DRM render node, applied to both the seat-streamer and the game launch (replaces a hardcoded radeonsi).

Verified: clean launch → seat-streamer and game both report LIBVA_DRIVER_NAME=radeonsi (was nvidia).

**Two fixes that stop us fighting GPU driver alignment per-machine/per-game:** 1. **scope: env via `--setenv`** — `systemd-run --scope` children inherit the systemd *user manager's* environment. The scope wrapper carried inner env with `cmd.env()` on the systemd-run client, which doesn't override manager-set vars — so a stale `LIBVA_DRIVER_NAME=nvidia` in the manager env silently won over the launch env on every scoped launch. Now passed via `--setenv=` (wins inside the scope). Fixes GPU alignment *and* any future env collision. 2. **config: `gpu_vendor`** (auto|amd|nvidia|intel, default auto) — centralizes per-vendor driver env (LIBVA + NVIDIA GLX/GBM), auto-detected from the DRM render node, applied to both the seat-streamer and the game launch (replaces a hardcoded `radeonsi`). Verified: clean launch → seat-streamer and game both report `LIBVA_DRIVER_NAME=radeonsi` (was `nvidia`).
Sign in to join this conversation.
No description provided.