fix(gamescope): offer the refresh-rate set on the SteamOS path #466

Merged
enricobuehler merged 2 commits from fix/gamescope-steamos-refresh-rates into main 2026-08-30 23:39:17 +00:00
2 Commits
Author SHA1 Message Date
enricobuehler 0f7bc56588 docs(gamescope): say to restart the host after installing the build
android / android (pull_request) Canceled after 0s
ci / bun-nix (pull_request) Canceled after 18s
ci / rust (pull_request) Canceled after 2m42s
ci / rust-arm64 (pull_request) Canceled after 2m35s
ci / docs-site (pull_request) Canceled after 52s
ci / web (pull_request) Canceled after 1m2s
ci / docs-drift (pull_request) Canceled after 0s
A field reporter installed punktfunk-gamescope under a running host
and kept streaming SDR, with no error to explain it. The host probes
the gamescope binary once per process and caches the answer, because
a session's bit depth must be settled before the display exists - so
a build installed mid-run is never seen.

The install section listed a command for every distro and never
mentioned the restart. Add it, and name the two startup log lines
that tell the two states apart.
2026-08-31 01:27:07 +02:00
enricobuehler 45048dbee8 fix(gamescope): offer the refresh-rate set on the SteamOS path
A SteamOS-style session (Valve's /usr/lib/steamos/gamescope-session, as
CachyOS ships it) never got --custom-refresh-rates, so Steam's
in-session display menu showed one refresh entry and no resolutions,
and games paced themselves to that single number.

The two gamescope-session-plus paths hand the set to the SCRIPT as
CUSTOM_REFRESH_RATES and let it build the flag. Valve's script has
never read that variable, and the PATH shim forwards only
PF_HDR_ARGS - so the flag reached no SteamOS session at all.

Chain refresh_rate_args into that drop-in's PF_HDR_ARGS, keyed on the
session's own mode like launch_session's `offered`. Split the list
formatting into a pure refresh_rate_list so the no-whitespace
invariant that the unquoted ${PF_HDR_ARGS} depends on has a test.
2026-08-31 01:26:50 +02:00