Skip to content
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