steam-runtime-tools v0.20240301.0 * steam-runtime-check-requirements: - Diagnose some common situations that will break steamwebhelper now that it runs under a sniper container (steamrt/tasks#406) + Check for a working version of bubblewrap (either our bundled copy srt-bwrap if unprivileged processes can create new user namespaces or a setuid-root system copy if they cannot), reporting an error message if none can be found + Check whether ~/.steam/root is below /usr, reporting an error message if it is - Add repeatable -v option to show more info, similar to flatpak -vv * steam-runtime-system-info: - Add a diagnostic flag for running Steam from below /usr (just for completeness, since Steam will no longer launch successfully in this situation) * pressure-vessel: - Work around several important paths being symlinks to a non-shared filesystem by automatically sharing their symlink targets: - ~/.config/cef_user_data, fixing a steamwebhelper crash (steamrt/tasks#411) - ~/.cache, $XDG_CACHE_HOME - ~/.config, $XDG_CONFIG_HOME - ~/.local/share, $XDG_DATA_HOME - ~/.local/state, $XDG_STATE_HOME - $XDG_CONFIG_DIRS - $XDG_DATA_DIRS - ~/.local/share/Steam - Unset STEAM_ZENITY on entry, and reset it to a path accessible inside the container runtime before running the game (steamrt/tasks#397) - If the Steam Deck's system tracing developer option is enabled, mount /sys/kernel/tracing rw (steamrt/tasks#404) - Change pv-adverb exit status to 126 (was 127) if the executable was found but could not be run - Change pv-adverb exit status to 255 (was 69) if we somehow lose track of the main process - Fix pv-adverb --assign-fd=X=Y so that only Y is required to be open already (previously X was also required to be open) - Improve pv-adverb test coverage - Only build pressure-vessel during development builds, or if targeting Steam Runtime 1.0 'scout' (which is the source of the official binary releases, for maximum cross-distro compatibility) - Adjust for rename of pv-bwrap to srt-bwrap * Steam Linux Runtime 1.0 (scout): - Remove workaround for a mid 2021 configuration change * steam-runtime-launcher-service --alongside-steam: - Only unset STEAM_ZENITY if it belongs to the LDLP runtime. Keep it as-is if it's the empty string (used on Steam Deck to disable use of zenity) or if it's the absolute path to the host zenity. (steamrt/tasks#397) * steam-runtime-launch-options: - If GUI dependencies are missing, log that to stderr - Don't use zenity if STEAM_ZENITY is explicitly set empty (steamrt/tasks#397) - Don't re-enter the scout runtime to run system zenity (steamrt/tasks#396, steamrt/tasks#397) * Library code / tree-wide changes: - Change "adverb" commands' exit status to 255 (previously 70 for pv-adverb, 128 for launch-client and launcher-interface-0) if the wait status cannot be parsed, consistent with bubblewrap - Move some code from pressure-vessel to be shareable between tools - Avoid using Flatpak-derived code outside pressure-vessel, to simplify the build - Update libglnx to 2024-02-09 - Use libglnx's backport of g_fdwalk_set_cloexec() everywhere, for better async-signal-safety - Factor out basic libc-based utility functions into a static library - Better automated test coverage * Documentation updates