• v0.4.0 8f1fe58005

    v0.4.0
    All checks were successful
    release / arch (push) Successful in 1m20s
    release / deb (push) Successful in 1m29s
    release / nix-closure (push) Successful in 1m46s
    release / publish (push) Successful in 10s
    Stable

    max released this 2026-10-09 11:22:20 +02:00 | 15 commits to main since this release

    Changes since v0.3.0

    • CI: fix the gamescope patch gate — it could never have passed (d119d26)
    • packaging: gamescope needs lcms2, libxi, luajit and systemd-libs (d4e3b37)
    • doctor: check the input group, and that the RUNNING session has it (4ef4709)
    • spike: the input fds are in wine's helpers, not in the game (1a1867f)
    • spike: add a system-wide "who has this device open" table (cec52e7)
    • doctor: the ACL check never looked inside the games (83a8a24)
    • daemon: clear the webhelper singleton locks at every handoff (c72af03)
    • docs: shared-install state that permissions cannot reach (b5b8b82)
    • docs: wine refuses prefixes it does not own — Proton is session-only (e500578)
    • docs: the controller episode, honestly — resolved, cause unknown (f9c3201)
    • spike+docs: the overlay hook is not the gate — a working capture says 0 (66025bf)
    • daemon: session.env absence must read as the WRAPPER's mode, not ours (63862a8)
    • config: one source for the idle mode — /etc/hollowdeck/control-env (4708163)
    • viewer: the NVIDIA/sway shakedown — flicker, cursor gate, input pacing (e6f19bf)
    • docs: sharp edges from the NVIDIA bring-up, and what was exonerated (543d1b1)
    • viewer: direct scan-out on a dedicated surface, proven by the compositor (d519e1f)
    • docs: what is left of the session-side ceiling, and what is still unmeasured (5fe8be8)
    • patches: 0013 — keep the dma-buf capture texture in VRAM (61355f2)
    • packaging: a pinned tag does not pin its submodules' availability (2b5434e)
    • viewer: detect cross-GPU setups and keep the direct path off them (e6174db)
    • patches: 0014 — the capture fence must not stall the compositor thread (9c02a39)
    • patches: 0015 — instrument the capture path, and make 0014 switchable (5001b11)
    • profiling: measure the whole chain, and record the 4K split it found (3fa69cb)
    • session: HOLLOWDECK_GAME_CPUS=auto, and a nice knob that cannot break a launch (bdec9f6)
    • docs: what nvidia-smi is actually telling you on a hybrid host (7e31163)
    • tests+docs: diagnose the shader recompiles instead of guessing at them (e3260f7)
    • docs: measurement preconditions — check these before believing a number (f773a44)
    • viewer: ask for the deepest screencast pool gamescope allows, and report it (ba4858b)
    • docs: the shader-compiler crash is not a settled driver bug (e9c96e0)
    • patches: 0016 — a failed buffer allocation must not kill the session (45fddbe)
    • docs: what the clean runs established, and what they did not (5c92572)
    • provision: stop deleting session.env — the wrapper owns it (c188adb)
    • tests: stage-4 refuses to run while a game is running (5987356)
    • build: declare the MSRV (1.85, Debian trixie) and drop a 1.87 API (e55d0b2)
    • tests: stage-5 takes Debian's build deps from debian/control, copies no target/ (38ed57a)
    • tests: stage-4 gives the compat-tool restart time to be graceful (61b02e8)
    • daemon: compat-tool auto-apply must restart the session, not resize it (99406ea)
    • tests: stage-5 feeds its containers exactly what git sees (f4c42f8)
    • tests: run the release workflow's build jobs locally (release-local.sh) (20e38d0)
    • docs: the BufferMemo abort is fixed upstream in gamescope 3.16.31 (baeef74)
    • release: v0.4.0 (8f1fe58)

    Full diff: v0.3.0...v0.4.0

    Downloads