Skip to content
Snippets Groups Projects
changelog 96.2 KiB
Newer Older
Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20220803.1) UNRELEASED; urgency=medium

  * pressure-vessel: Preserve X11 display number instead of redirecting
    it to :99. This avoids X11 being broken by an unrelated X display :99
    on the host, listening on an abstract socket. (steam-runtime#524)
  * pressure-vessel: Improve test coverage for directory exporting
    (steamrt/tasks#149)
  * pressure-vessel: Avoid startup failure with --filesystem=/overrides
  * build: Require Meson 0.56.2 backport, update build system accordingly
  * tests: Work around a Meson 0.63 regression

 -- Simon McVittie <smcv@collabora.com>  Thu, 11 Aug 2022 20:10:59 +0100

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20220803.0) steamrt; urgency=medium

  * pressure-vessel: Share more paths with the container by default
    (steamrt/tasks#149, steam-runtime#334, steam-runtime#393,
    steam-runtime#429, steam-runtime#470, Proton#5102,
    steam-runtime-tools#18)
    - If the user's real home directory is shared with the container,
      also share the typical paths for removable media: /run/media,
      /media, /mnt.
    - If the user's real home directory is shared with the container,
      also share FHS 3.0 top-level directories /home, /opt and /srv.
  * Locally-created top-level directories that don't follow any particular
    specification (for example /storage, /files, /games) continue to not be
    shared by default. They can still be shared by setting the
    STEAM_COMPAT_MOUNTS environment variable.
  * A new document docs/shared-paths.md describes what is and isn't shared.

 -- Simon McVittie <smcv@collabora.com>  Wed, 03 Aug 2022 17:38:10 +0100

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20220802.0) steamrt; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

  * s-r-launch-client, s-r-launcher-service improvements:
    - s-r-launch-client now defaults to --directory="" (inherit directory
      from server) unless talking to Flatpak services (steamrt/tasks#145)
    - s-r-launch-client automatically overrides $TERM if stdin, stdout or
      stderr is a terminal, unless disabled with --inherit-env=TERM
    - s-r-launch-client defaults to running a shell if no command
      is specified
    - Add s-r-launch-client -c COMMAND, a CLI shortcut for
      s-r-launch-client ... -- sh -c COMMAND
    - Add s-r-launch-client --inherit-env[-matching]=VAR
    - Add s-r-launch-client --env-fd=FD
    - Deprecate s-r-l-s --socket[-directory]
    - Documentation improvements
  * tests: More strict machine-readable TAP output
  * tests: Avoid s-r-launch-client altering controlling terminal settings

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Tue, 02 Aug 2022 16:36:35 +0100
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20220726.0) steamrt; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

  * s-r-launch-client, s-r-launcher-service improvements:
    - Add s-r-launcher-interface-0, a simplified interface for compat
      tools such as SteamLinuxRuntime and Proton to enable debugging
      commands.
    - Use a pseudo-terminal to bridge terminals into the container.
      This allows debugging processes inside the container to take the
      pseudo-terminal as their controlling terminal, which is enough to
      run an interactive shell with full job control. (steamrt/tasks#125)
Simon McVittie's avatar
Simon McVittie committed
  * build: Prefer to send Meson test logs to a log file
  * docs: Documentation updates
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Tue, 26 Jul 2022 15:20:15 +0100
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20220725.1) steamrt; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
  [ Simon McVittie ]
  * pressure-vessel: Fix a regression when launching Steam games when
    an exported filesystem path, or an ancestor or parent of an exported
    filesystem path, is an absolute symbolic link
    (Resolves: ValveSoftware/steam-runtime#516, #517, #518)
  * pressure-vessel: Improve debug logging when exporting host system
    directories to the container
  * pv-runtime: Add a log message to clarify why we are hiding the original
    version of Vulkan layers' JSON manifests (see
    ValveSoftware/steam-runtime#511)
  * build: Update option syntax for gtk_doc and man options
  * build: Update populate-depot.py from SteamLinuxRuntime scripts

Simon McVittie's avatar
Simon McVittie committed
  [ Ludovico de Nittis ]
  * system-info: Report whether each VA-API driver is for libva.so.1
    or libva.so.2
  * system-info: Refactoring

Simon McVittie's avatar
Simon McVittie committed
  [ Ryan Houdek, Ludovico de Nittis, Simon McVittie ]
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Improve correctness of FEX-Emu host architecture
    detection

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Mon, 25 Jul 2022 14:51:29 +0100
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20220624.0) steamrt; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

  [ Simon McVittie ]
  * pressure-vessel: Update libcapsule to v0.20220623.0
    - Implement DT_RUNPATH for dependency search, fixing Vulkan layers
      with non-trivial dependencies (notably MangoHud) on NixOS
      (ValveSoftware/steam-runtime#511)
  * pv-runtime: Pad numeric prefixes if necessary.
    Otherwise, we could end up loading drivers or layers in an unexpected
    order, with the layer numbered 10 loaded before the layer numbered 2.
  * pressure-vessel: Override log handler for pressure-vessel log domain.
    This fixes a regression that resulted in PRESSURE_VESSEL_VERBOSE and
    STEAM_LINUX_RUNTIME_VERBOSE only being partially effective.
  * pv-runtime: Improve debug output
  * pv-runtime: Only prepend /usr to expected glibc gconv directory if it
    starts with /lib
  * .reuse/dep5: Update

  [ Ludovico de Nittis ]
  * API documentation: Remove "not optional" annotations

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Fri, 24 Jun 2022 10:58:48 +0100
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20220620.0) steamrt; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel improvements:
    - Compatibility with Solus glibc patches (steam-runtime#510)
    - Compatibility with FEX-Emu x86 emulation on ARM
      (steam-runtime-tools#81)
Simon McVittie's avatar
Simon McVittie committed
  * s-r-launch-client improvements:
    - Add --list option
    - Improve compatibility with s-r-launcher-service --replace
    - Exit 0 if Terminate() succeeds
    - Clarify documentation
  * s-r-launcher-service improvements:
    - Don't exit while we are still managing any processes
    - Add --[no-]stop-on-name-loss option. --stop-on-name-loss is still
      the default, but this might change. (steamrt/tasks#128)
    - Fail if initial acquisition of bus names fails, unless
      --no-stop-on-name-loss was given
    - Add --[no-]stop-on-exit option. --stop-on-exit is still
      the default. (steamrt/tasks#127)
    - Add --exec-fallback option (steamrt/tasks#129)
    - Allow taking more than one D-Bus name
    - Add --session, which chooses a D-Bus name automatically
    - Fix terminating non-process-group-leader processes
    - Provide $MAINPID to debug processes (steamrt/tasks#126)
  * tests: Reliability fixes

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Mon, 20 Jun 2022 12:03:49 +0100
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20220601.0) steamrt; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
  [ Simon McVittie ]
Simon McVittie's avatar
Simon McVittie committed
  * system-info: Work around diagnostic tools failing in a Snap app
  * system-info: Show Snap app as a container
  * system-info: Detect several virtual machine managers, hypervisors and
    emulators (via CPUID 0x40000000 or /sys/class/dmi/id)
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Speed up detection of host graphics drivers,
    particularly Mesa DRI and VA-API
  * pressure-vessel: Refactoring
  * pressure-vessel: Update bubblewrap subproject to 0.6.2
  * Update libglnx subproject
  * tests: Add test coverage for x86 CPU feature identification
Simon McVittie's avatar
Simon McVittie committed
  * build: Use Meson feature options for gtk-doc, GObject-Introspection,
    man pages
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
  [ Ludovico de Nittis ]
Simon McVittie's avatar
Simon McVittie committed
  * system-info: Indicate Vulkan "portability drivers", a new flag in
    recent versions indicating drivers implementing an API subset
  * system-info: Refactoring
Simon McVittie's avatar
Simon McVittie committed
  * Remove unnecessary REUSE license info for subprojects.
    Please see the subprojects' own license info instead.

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Wed, 01 Jun 2022 17:58:13 +0100
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20220420.0) steamrt; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

  * system-info: Don't consider a symlink /run/host -> .. to be a container.
    In particular, Toolbx 0.0.99.3 sets up this situation.
    (steamrt/steam-runtime-tools!427)
  * s-r-launch-client: Rename from pv-launch and move it to bin/
  * s-r-launcher-service: Rename from pv-launcher and move it to bin/
  * s-r-launcher-service: Add the ability to wrap an arbitrary command
    (steamrt/steam-runtime-tools!428)
Simon McVittie's avatar
Simon McVittie committed
  * bin: Add steam-runtime-launch-options script.
    This is an experimental replacement for, and generalization of,
    PRESSURE_VESSEL_WRAP_GUI=1. When it is included in a scout runtime
    shipped with Steam, it will allow developers and testers to swap
    between runtimes by setting the Steam launch options for a game to:
        steam-runtime-launch-options -- %command%
Simon McVittie's avatar
Simon McVittie committed
  * build: Consistently include libglnx header as "libglnx.h"
Simon McVittie's avatar
Simon McVittie committed
  * build: Exclude generated code from gtk-doc documentation
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel, s-r-launch-client, s-r-launcher-service: Refactoring

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Wed, 20 Apr 2022 18:08:40 +0100
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20220315.0) steamrt; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

  * pressure-vessel: Refactoring
  * pv-runtime: Only consider locale paths if they are directories
  * pv-runtime: Try to import list of PCI IDs into container.
    MangoHud wants this, to be able to display the name of a graphics card
    from its PCI ID. (Resolves: steam-runtime-tools#85)
  * system-info: Diagnose variables added in Vulkan-Loader 1.3.207
  * pressure-vessel: Set both VK_DRIVER_FILES and VK_ICD_FILENAMES,
    for better compatibility with Vulkan-Loader 1.3.207
  * graphics: Respect VK_DRIVER_FILES, VK_ADD_DRIVER_FILES, VK_ADD_LAYER_PATH
    for better compatibility with Vulkan-Loader 1.3.207.
    Note that we are assuming the semantics that are planned for 1.3.208,
    where VK_DRIVER_FILES overrides VK_ADD_DRIVER_FILES.
    (Resolves: steamrt/tasks#95)
  * pressure-vessel: Resync Flatpak-derived code with Flatpak 1.12.7
Simon McVittie's avatar
Simon McVittie committed
  * build: Silence a Meson future-compatibility warning
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Tue, 15 Mar 2022 14:31:51 +0000
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20220311.0) steamrt; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Warn if we have to fall back to copying.
    pressure-vessel is designed to use hard-links when preparing the
    container runtime, and we rely on them to get fast startup and not waste
    disk space. (steam-runtime#495)
  * pressure-vessel: Don't copy extended attributes.
    This can fail if we're copying from e.g. btrfs to tmpfs.
    (steam-runtime#495)
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Treat libXNVCtrl as part of graphics stack.
    MangoHUD uses this to get performance information for older NVIDIA
    hardware via the NV-CONTROL X extension.
    This is not technically part of the NVIDIA driver (it's part of the
    nvidia-settings open-source module), and there's no guarantee that
    NVIDIA users will have it installed at all, but we're probably more
    likely to get a version compatible with the user's GPU and drivers if
    we prefer to take it from the same place as the actual driver.
    (steam-runtime-tools#82)
  * pressure-vessel: Update bubblewrap subproject to v0.6.1
  * pressure-vessel: Update code taken from Flatpak
    - Cope with WAYLAND_DISPLAY being an absolute path
  * Update libglnx subproject
    - Better compatibility with eCryptFS and maybe ZFS (GNOME/libglnx#3)
    - REUSE: Drop .reuse/dep5 stanza for libglnx, no longer needed.
      libglnx itself is now REUSE-compliant.
  * Documentation updates
    - Add documents introducing the LDLP and container Steam Runtimes
    - Document some of the assumptions made by the Steam Runtime
    - Developer mode is available in releases now
    - Add a cross-reference to SDK documentation

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Fri, 11 Mar 2022 16:03:22 +0000
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20220131.0) steamrt; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

  * pressure-vessel: Handle X11 over local abstract or TCP sockets
    (steam-runtime#486)
  * pressure-vessel: Allow remapping Xauthority entries for remote or
    forwarded X11 (related to steam-runtime#486)
  * pressure-vessel: Interpret tcp: addresses for PulseAudio
  * pressure-vessel: Update Flatpak-based code to Flatpak 1.12.4
    - Support more variations of PulseAudio server strings
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Expose systemd journal sockets inside container
  * urlopen: Improve error handling
  * urlopen: Allow steam.pipe to be tried either before or after x-d-p
  * Use steam-runtime-tools log domain for non-pressure-vessel CLI tools
  * urlopen, steam-remote: Optionally log to the systemd Journal
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Mon, 31 Jan 2022 13:00:06 +0000
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20220119.0) steamrt; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

  * graphics: Add support for enumerating EGL external platforms.
    These are used by the NVIDIA proprietary driver for integration with
    non-X11 display technologies such as Wayland and gbm.
  * pressure-vessel: Collect EGL external platforms from graphics stack.
    This should allow the NVIDIA proprietary EGL driver to operate on Wayland,
    if it is a sufficiently new version.
  * graphics: Refactoring

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Wed, 19 Jan 2022 11:35:32 +0000
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20220111.0) steamrt; urgency=medium

  * graphics: Load ICDs and layers to match Vulkan-Loader >= 1.2.198
  * graphics: Improve Vulkan-Loader reference URLs
  * tests: Expand timeout for test-locale-gen.sh.
    This can take more than 60s on heavily loaded autobuilders.

 -- Simon McVittie <smcv@collabora.com>  Tue, 11 Jan 2022 14:02:44 +0000

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20220107.0) steamrt; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

  * pressure-vessel: Make /gnu/store available read-only, if it exists.
    This is necessary but not sufficient for Guix support; the rest of
    the necessary setup (notably a glibc configured to read /etc/ld.so.cache)
    is provided by the FHS-style container that Guix uses to run Steam.
Simon McVittie's avatar
Simon McVittie committed
    (steam-runtime-tools!406, steam-runtime#478)
Simon McVittie's avatar
Simon McVittie committed
  * build: Fix build with Vulkan 1.1 headers, in particular on
Simon McVittie's avatar
Simon McVittie committed
    Steam Runtime 1½ 'heavy' (steam-runtime-tools!407)
Simon McVittie's avatar
Simon McVittie committed
  * build: Fix GObject-Introspection build by separating public headers
  * Fix some GObject-Introspection warnings
  * API documentation fixes
Simon McVittie's avatar
Simon McVittie committed
  * pv-adverb: Fix regression in generation of required locales
    (steam-runtime-tools!408)
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Fri, 07 Jan 2022 11:58:26 +0000
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20211207.0) steamrt; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

  [ Simon McVittie ]
Simon McVittie's avatar
Simon McVittie committed
  * build: Include our own copy of wflinfo, depending on libwaffle 1.6.
Simon McVittie's avatar
Simon McVittie committed
    This was the last remaining third-party executable used for our
    diagnostic checks that needed its packaging to be forked to build a
    multiarch-qualified version. If we avoid needing that, then we can use
    dependencies from an ordinary Linux distribution, making development
    outside a Steam Runtime environment easier.
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Reduce size of relocatable binary package
Simon McVittie's avatar
Simon McVittie committed
  * pv-adverb: Improve error-checking
  * pv-launch: Use headers from Flatpak 1.12.2 for many constants
Simon McVittie's avatar
Simon McVittie committed
  * system-info: Improve Vulkan driver version reporting
    (steam-runtime-tools#79, steamrt/tasks#45)
    - Stop reporting an incorrect version number for Nvidia proprietary
    - Use the driverInfo field for the version number if possible,
      so we can report specific mesa-git commits if available
    - Report the VkDriverID that identifies a specific driver, if known
Simon McVittie's avatar
Simon McVittie committed
  * tests: Coding style adjustments
  * tests: Fix mypy warnings
  * pressure-vessel: Refactoring
Simon McVittie's avatar
Simon McVittie committed
  * check-vulkan: Refactoring

  [ Simon McVittie, Ludovico de Nittis ]
  * Improve ability to build for non-x86_64 architectures
Simon McVittie's avatar
Simon McVittie committed

  [ Ludovico de Nittis ]
  * d/rules: Remove unused vulkaninfo symlink
Simon McVittie's avatar
Simon McVittie committed
  * build-relocatable-install: Remove unused ld.so value
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Tue, 07 Dec 2021 16:15:56 +0000
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20211027.0) steamrt; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

  [ Simon McVittie ]
Simon McVittie's avatar
Simon McVittie committed
  * pv-runtime: Improve support for locating data associated with host
    libraries
    - In particular take drirc.d from OS, even if using Mesa in a
      non-standard location (Resolves: steam-runtime-tools#77)
  * graphics: Improve support for Vulkan layers in a Flatpak environment
  * pv-wrap: Add --devel option for "developer mode"
    - Mount /sys read/write so developers can access debugfs, event tracing
      or similar facilities, if allowed by filesystem permissions on host
    - Don't detach from standard input (like --terminal=tty)
    - More developer-mode tweaks are likely to be added in future versions
  * pv-wrap: Update messages that refer to Flatpak versions
    - Users of 1.11.x should upgrade to at least 1.12.1 to fix an unrelated
      security issue in Flatpak
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel, system-info: Fix various minor memory leaks
Simon McVittie's avatar
Simon McVittie committed
  * helpers: Translate check-gl from C++ into C
  * library: Move most JSON report parsing to its own translation unit
  * check-xdg-portal: Avoid a crash if no interfaces can be found
  * pv-runtime: Refactoring
  * Build system improvements
Simon McVittie's avatar
Simon McVittie committed
  * Unit test improvements
Simon McVittie's avatar
Simon McVittie committed
  * Avoid functions deprecated in GLib 2.70
  * Add some game-developer-oriented documentation
    (Resolves: steamrt/tasks#6)
Simon McVittie's avatar
Simon McVittie committed
  * Update shared code from Flatpak 1.12.2
Simon McVittie's avatar
Simon McVittie committed

  [ Ludovico de Nittis ]
Simon McVittie's avatar
Simon McVittie committed
  * Update libcapsule to 0.20211026.0
    - Fix dependency resolution with host glibc <= 2.33 and
      container runtime glibc >= 2.34
      (libcapsule!49, Resolves: steamrt/tasks#13)
Simon McVittie's avatar
Simon McVittie committed
  * pv-runtime: Use correct ld.so from graphics stack provider
  * graphics: Respect graphics-stack provider sysroot (if not the host)
    when loading graphics libraries
  * Add proof-of-concept support for non-x86 architectures.
    Steam is x86-specific, but the majority of steam-runtime-tools is
    architecture-agnostic; make it work on aarch64 (e.g. Raspberry Pi 4)
    to get an idea of how much work is required to support each new
    architecture.
  * graphics: Refactoring
  * Build system improvements
  * Unit test improvements
Simon McVittie's avatar
Simon McVittie committed
  * Create an issue template

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Wed, 27 Oct 2021 19:36:25 +0100
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20210906.2) steamrt; urgency=medium

  [ Ludovico de Nittis ]
  * Update libcapsule to 0.20210906.0
    - Improve forward compatibility with glibc 2.34

 -- Simon McVittie <smcv@collabora.com>  Mon, 06 Sep 2021 17:43:10 +0100

steam-runtime-tools (0.20210906.1) steamrt; urgency=medium

  * debian: Build-Depend on libcap-dev, for bubblewrap

 -- Simon McVittie <smcv@collabora.com>  Mon, 06 Sep 2021 15:36:04 +0100

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20210906.0) steamrt; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

  [ Simon McVittie ]
  * pv-wrap: Use $PRESSURE_VESSEL_BWRAP in preference to $BWRAP
  * pv-wrap: Use local copy of bwrap in preference to system copy.
    The system copy might be older and less featureful, or might be
    unnecessarily setuid, so let's try to use a version that is under our
    control. If it works, great. If not, we can try a system copy, which
    we might have to use anyway (for example on Debian 10, RHEL 7 or
    SteamOS 2).
  * pv-wrap: Build and use our own copy of bubblewrap 0.5.0.
    This is considerably newer than the backport we have in scout, and
    includes fixes relevant to pressure-vessel, particularly for users of
    case-insensitive filesystems.
    (Resolves: steam-runtime-tools#47, steam-runtime#326, T30017)
  * pv-wrap: Log an info message if bwrap is setuid.
    A setuid-root version of bwrap cannot use all of its features, so this
    is useful information.
  * graphics: Accept Vulkan layer manifests up to version 1.2.0.
    Version 1.2.0 added some new fields, but nothing critical for our
    purposes. (Resolves: steam-runtime#457)

  [ Ludovico de Nittis ]
  * check-va-api: Do not stop if one decoding profile fails.
    This improves detection of working VA-API on Intel. (T27513)
  * Import host's icons and cursors into the container
    (Resolves: steam-runtime#311, T29983)

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Mon, 06 Sep 2021 14:24:36 +0100
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20210820.0) steamrt; urgency=medium

  * debian: Split steam-runtime-tools-minimal package.
    We don't want to include all of steam-runtime-tools-bin in heavy,
    because that drags in json-glib, waffle and other libraries not
    historically included in heavy, and we're trying to make heavy as light
    as possible (perhaps ironically, given its name and its use to support
    a 100M+ browser engine).
Simon McVittie's avatar
Simon McVittie committed
  * debian: Change misleading suite name in changelog.
    We use the same source code across all Steam Runtime branches for this
    particular package.
  * tests: Update populate-depot.py from SteamLinuxRuntime v0.20210806.0
  * tests: Don't make populate-depot.py guess what we mean
  * build-aux: Remove redundant COPYING file
  * build-aux: Move sysroot convenience scripts to here

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Fri, 20 Aug 2021 17:48:44 +0100
Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20210809.1) scout; urgency=medium

  * Rebuild with fixed version number and CI pipeline

 -- Simon McVittie <smcv@collabora.com>  Mon, 09 Aug 2021 17:25:34 +0100

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20210809.0) scout; urgency=medium

  * pv-runtime: Try to create /sbin/ldconfig.real if using host glibc.
    This fixes a regression for Ubuntu and older versions of Debian.
    (Resolves: T29764)
  * pv-adverb: If we cannot regenerate ld.so.cache, fall back to
    pre-0.20210806.0 behaviour
  * pv-adverb: Expand error message if we cannot regenerate ld.so cache

 -- Simon McVittie <smcv@collabora.com>  Mon, 09 Aug 2021 16:43:21 +0100

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20210806.0) scout; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

  [ Ludovico de Nittis, Simon McVittie ]
  * pv-runtime: Generate a new /etc/ld.so.cache with our overridden
    libraries. This means we can now run games that clear the
    LD_LIBRARY_PATH, such as Dead Cells, Evoland Legendary Edition and
    Shenzhen I/O. (Resolves: steam-runtime#224, steam-runtime#268, T14481)
Simon McVittie's avatar
Simon McVittie committed

  [ Simon McVittie ]
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Take ldd, etc. from provider if we are using its glibc,
Simon McVittie's avatar
Simon McVittie committed
    for better compatibility with newer glibc in host OSs like Arch Linux
    (Resolves: T29581)
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Improve handling of LD_PRELOAD and LD_AUDIT modules.
    Modules that are not a literal, absolute filename are now supported
    as far as possible. In particular, this handles two common configurations
    for MangoHud: the convenience build script and binary builds provided by
    upstream, and the layout used in the Debian packaging.
    (Resolves: steam-runtime#435, T29490)
Simon McVittie's avatar
Simon McVittie committed
  * pv-launch: Show more explanatory message if Flatpak is using setuid
    bwrap. In particular, this should help users of recent Flatpak
    on Gentoo.
  * pv-unruntime: Handle LD_PRELOAD with spaces correctly.
    Unlike LD_AUDIT, LD_PRELOAD items are separated by either colon or
    space delimiters.
  * pv-wrap: Generalize SHARED_LIBRARY_GUARD_CONFIG handling to cope with
    the case where the variable is already set, or points to a file in
    /usr or /lib*
  * pressure-vessel: Update flatpak-exports from Flatpak
Simon McVittie's avatar
Simon McVittie committed
  * Update libcapsule subproject to v0.20210728.0
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Refactor handling of LD_PRELOAD and LD_AUDIT modules
  * pv-wrap, pv-launcher: Set a reasonable RLIMIT_NOFILE to avoid
Simon McVittie's avatar
Simon McVittie committed
    problems with select().
    (Resolves: T29726; related to steam-for-linux#7970)
Simon McVittie's avatar
Simon McVittie committed
  * tests: Improve pressure-vessel test coverage
Simon McVittie's avatar
Simon McVittie committed

  [ Ludovico de Nittis ]
  * pv-runtime: Delete overridden libraries from the correct "mesa" path
    to improve robustness
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Remove support for STEAM_COMPAT_FLAGS=search-cwd.
    This is now handled by run.sh from the LD_LIBRARY_PATH runtime, with a
    fallback implementation in the "Steam Linux Runtime" compat tool
    (versions >= 0.20210806.33) until we can get the run.sh change into a
    General Availability version of Steam.
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Fri, 06 Aug 2021 17:51:39 +0100
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20210722.0) scout; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

  [ Ludovico de Nittis ]
  * pv-runtime: Share /usr/share/nvidia with container if NVIDIA driver
    is used (steam-runtime-tools#73, T29292)
  * pressure-vessel: Adjust LD_PRELOAD to reduce misleading ELF warnings
    (steam-runtime-tools#33, T28950)

  [ Simon McVittie ]
Simon McVittie's avatar
Simon McVittie committed
  * pv-runtime: Fix startup regression on NixOS (steam-runtime#431)
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Remove the concept of "locking" environment variables.
    This complexity is no longer necessary with the simplified compat-tool
    interface in the current stable version of Steam.
  * pv-wrap: Optionally try to run games in a systemd scope
  * Add licensing information in REUSE format
  * CI/test improvements

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Thu, 22 Jul 2021 17:39:53 +0100
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20210630.0) scout; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

  [ Ludovico de Nittis ]
  * pv-wrap: Make Nvidia Vulkan ray-tracing more likely to work.
    Run nvidia-modprobe with the -c=0 option to make sure /dev/nvidia-uvm
    gets created.
  * steam-runtime-identify-library-abi: New executable to identify the
    ABI of shared libraries.

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Wed, 30 Jun 2021 12:26:40 +0100
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20210617.1) scout; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
  [ Simon McVittie ]
  * pressure-vessel: Fix compatibility with Ubuntu 14.04 and other older
    non-systemd Debian derivatives
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Improve compatibility with other mtree implementations
Simon McVittie's avatar
Simon McVittie committed
  * tests: Update populate-depot.py from SteamLinuxRuntime v0.20210608.0
Simon McVittie's avatar
Simon McVittie committed
  * CI: Improve configuration
Simon McVittie's avatar
Simon McVittie committed
  * docs: Document the Steam compatibility tool interface.
    This is based on testing with Steam beta 1623823138 and older versions,
    and is not necessarily authoritative.
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
  [ Ludovico de Nittis ]
  * pressure-vessel: Address various build warnings

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Thu, 17 Jun 2021 19:03:58 +0100
Simon McVittie's avatar
Simon McVittie committed

steam-runtime-tools (0.20210608.3) scout; urgency=medium

  * Rebuild with adjusted CI settings

 -- Simon McVittie <smcv@collabora.com>  Tue, 08 Jun 2021 16:43:27 +0100
Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20210608.0) scout; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

  [ Simon McVittie ]
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Build capsule-capture-libs from a bundled copy of
    libcapsule, currently v0.20210114.0.
Simon McVittie's avatar
Simon McVittie committed
    This reduces the number of components required to get a pressure-vessel
    build: now all we need is the multiarch-prefixed wflinfo, and some
    common shared libraries. (s-r-t!311)
Simon McVittie's avatar
Simon McVittie committed
  * system-info: Make STEAM_RUNTIME take precedence over os-release.
    If we're running the scout runtime inside a soldier container
    (scout_layered_slim beta branch, T18668) then we want to be reporting
    facts about the scout runtime.
  * system-info: Show /overrides even if in scout runtime.
    This is helpful if we're stacking the scout runtime onto the soldier
    runtime (T18668): both pinned_libs_* and overrides are relevant there.
Simon McVittie's avatar
Simon McVittie committed
  * CI: Upload a pressure-vessel binary release for each tag (T28526)
Simon McVittie's avatar
Simon McVittie committed

  [ Ludovico de Nittis ]
Simon McVittie's avatar
Simon McVittie committed
  * system-info: Use a more compact output for overrides and pinned
    libraries.
Simon McVittie's avatar
Simon McVittie committed
    Most of the information in `find -ls` output is not particularly
    interesting for debugging, so just log the list of files, whether each
    one is a directory, and the targets of symlinks. Replace the paths
    to the home directory and the LD_LIBRARY_PATH Steam Runtime with
    $HOME and $STEAM_RUNTIME respectively, to make things more concise.
    (s-r-t!315, Resolves: T28240)
Simon McVittie's avatar
Simon McVittie committed
  * pv-wrap: Adjust Flatpak libshared-library-guard configuration path
    (T27444)
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Tue, 08 Jun 2021 16:06:58 +0100
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20210518.0) scout; urgency=medium

  * system-info: List /overrides/ correctly in recent SteamLinuxRuntime.
    When pressure-vessel operates in --copy-runtime mode, /overrides is a
    symlink to /usr/lib/pressure-vessel/overrides. "find /overrides -ls"
    is useless here: it just lists the symlink, rather than traversing the
    directory hierarchy.
  * pv-wrap: Share Pipewire socket with container if available
  * pv-runtime: Refactoring
  * resolve-in-sysroot: Correct misleading error messages
  * resolve-in-sysroot: Correctly bail out if a non-directory is found

 -- Simon McVittie <smcv@collabora.com>  Tue, 18 May 2021 11:22:07 +0100

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20210430.0) scout; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

  [ Simon McVittie ]
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Performance improvements, especially on systems with
    slow I/O performance
    - Enumerate host system graphics drivers in parallel with other
      required setup
    - Speed up startup with cold cache by skipping unnecessary checks
    - Speed up --copy-runtime mode by not opening shared libraries
      with libelf
  * pressure-vessel: Add a new runtime format with unpacked files
    accompanied by a mtree(5) manifest. This is more space-efficient than
    deploying a tarball, and speeds up setup when running under Flatpak.
    1.11.x subsandboxing. (Resolves: T27912)
  * pv-wrap: Auto-detect Flatpak 1.11.x (T27612)
  * pv-wrap: Suggest an appropriate `flatpak override` command if needed
Simon McVittie's avatar
Simon McVittie committed
  * pv-wrap: Remove support for escaping from a Flatpak container.
    We did this as a very early prototype, but it never fully worked, and
    required configuring Flatpak specially to allow Steam to escape from the
    sandbox (which obviously undermines Flatpak's intended sandboxing).
Simon McVittie's avatar
Simon McVittie committed
  * pv-runtime: Fix some misleading log messages and comments
  * pressure-vessel: Remove unnecessary bundled copies of vainfo and
    vulkaninfo
Simon McVittie's avatar
Simon McVittie committed
  * tests: Update populate-depot.py from SteamLinuxRuntime.
    Adjust invocation as required.
Simon McVittie's avatar
Simon McVittie committed
  * Refactoring
Simon McVittie's avatar
Simon McVittie committed

  [ Ludovico de Nittis ]
Simon McVittie's avatar
Simon McVittie committed
  * system-info: Try to detect the expansion of $LIB and $PLATFORM (T27436)
  * system-info: Detect Flatpak version (T27635)
  * pressure-vessel: Undo SDL_VIDEODRIVER=wayland if running in scout.
    The SDL in scout is too old for this to work.
    (steam-runtime#232, steam-runtime#396, T27777)
  * pressure-vessel: Show a warning if $PLATFORM cannot be detected.
    This would break our ability to set up VDPAU drivers.
Simon McVittie's avatar
Simon McVittie committed
  * Refactoring

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Fri, 30 Apr 2021 16:45:15 +0100
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20210415.0) scout; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

  [ Ludovico de Nittis ]
  * pressure-vessel: Show a warning when attempting to bind /usr/* dirs
    (Helps: #30)
Simon McVittie's avatar
Simon McVittie committed
  * pv-runtime: Improve experimental Flatpak sub-sandboxing support
    (Fixes: T27437, T27438, T27442, T27443)
Simon McVittie's avatar
Simon McVittie committed
  * pv-launch: Fix typo in --help

  [ Simon McVittie ]
Simon McVittie's avatar
Simon McVittie committed
  * pv-runtime: Don't set PulseAudio as default if it was not found,
    fixing a regression in 0.20210317.0 on systems that use plain ALSA
    (Helps: steam-runtime#344, steam-runtime#384)
Simon McVittie's avatar
Simon McVittie committed
  * pv-runtime: Improve experimental Flatpak sub-sandboxing support
Simon McVittie's avatar
Simon McVittie committed
  * Update libglnx
  * pressure-vessel: Don't try to change file ownership when copying a tree

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Thu, 15 Apr 2021 20:25:04 +0100
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20210331.0) scout; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

  [ Simon McVittie ]
  * Fix handling of libraries with non-ASCII paths
    - pressure-vessel: Fix a crash if a Vulkan ICD or layer is in a
      directory with a non-ASCII name
    - system-info: Show details of libraries in non-ASCII locations
      correctly
    (Resolves: steam-runtime#385, steam-runtime-tools#69)
  * system-info: Force environment variables into UTF-8

  [ Ludovico de Nittis ]
  * pressure-vessel: Use a tmpfs home directory when unsharing the home
    directory and running non-interactively. (Resolves: steam-runtime#66)
Simon McVittie's avatar
Simon McVittie committed
  * steam-runtime-steam-remote: Add a stub steam executable.
    This tries to communicate with the running Steam client and pass
    command-line options to it, and is suitable for placing in a container's
    PATH as 'steam'. (Helps: T27035)
Simon McVittie's avatar
Simon McVittie committed
  * steam-runtime-urlopen: Add a more Steam-centric URL-opening helper,
    command-line-compatible with xdg-open.
    This handles steam: and steamlink: URLs by passing them to the running
    Steam client, even if it is not the default handler for those URLs,
    and makes it possible to open http and https URLs via Steam if
    xdg-desktop-portal is not available. (Helps: T27036)
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Wed, 31 Mar 2021 16:59:04 +0100
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20210317.0) scout; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

  [ Ludovico de Nittis ]
  * pressure-vessel: Create symlinks for non-canonical SONAMES
    such as libbz2.so.1
    (Resolves: T26816; helps: steam-runtime#246)
  * pressure-vessel: Set PulseAudio as the default ALSA driver if available.
    (Resolves: steam-runtime-tools#65; helps: steam-runtime#371)
Simon McVittie's avatar
Simon McVittie committed
  * pv-runtime: Use "/usr/share" as a fallback library data directory,
    for better support for e.g. Exherbo (Resolves: steam-runtime-tools#68)
  * pv-runtime: Try Exherbo's locale dirs as a fallback
    (partially addresses: steam-runtime-tools#67)
Simon McVittie's avatar
Simon McVittie committed
  * tests: Test ability to unshare the home directory

  [ Simon McVittie ]
  * pressure-vessel: Fix Proton setup commands in locales that use a
    decimal comma, such as de_DE (helps: steam-runtime#381)
Simon McVittie's avatar
Simon McVittie committed
  * pv-runtime: Avoid a spurious warning on first use
  * pv-wrap: Fix a regression in the experimental Flatpak sub-sandboxing
    code path with newer SteamLinuxRuntime wrapper scripts
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Wed, 17 Mar 2021 19:17:08 +0000
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20210312.0) scout; urgency=medium

  * pressure-vessel: Fix a regression when using a game-specific home
    directory. Mount points appeared in the wrong order, resulting in
    the game-specific home covering up directories that should have been
    shared, such as ~/.steam (Resolves: #63)
  * pressure-vessel: Fix a regression when not using any runtime

 -- Simon McVittie <smcv@collabora.com>  Fri, 12 Mar 2021 19:19:42 +0000

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20210305.0) scout; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

  [ Simon McVittie ]
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Fix processing of Vulkan ICDs/layers outside /usr
    where the library_path in the JSON manifest is just a SONAME
    (Resolves: steam-runtime#366)
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Fix regressions when graphics provider is set to empty
  * pressure-vessel: Default to using graphics drivers from the current
    execution environment, not necessarily the host
    (Resolves: steam-runtime#367)
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Cope with /var/tmp (or /var) being a symlink
    (Resolves: steam-runtime#368)
Simon McVittie's avatar
Simon McVittie committed
  * pv-wrap: Make PROTON_LOG_DIR available in the container
    (Resolves: steam-runtime#369)
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Never set XDG_DATA_DIRS to just our override directory.
    Default to /usr/local/share:/usr/share as per the specification.
  * pressure-vessel: Mask Vulkan layers in home directory or other non-/usr
    paths. This avoids the Steam fossilize and overlay layers being
    duplicated in the container's search path. (Resolves: T26160)
  * pressure-vessel: Accept runtime with or without ./files at top level
  * pv-launch: Sync minor improvements from flatpak-xdg-utils
  * pv-launch: Use unset-env option for subsandbox API >= v5.
    This was added in Flatpak 1.10.0.
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Improve diagnostics for various error conditions
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Generalize --copy-runtime-into into --variable-dir
  * pressure-vessel: Fix locking behaviour in variable directory
  * pressure-vessel: Add support for unpacking runtimes from an archive.
    This previously had to be done by the SteamLinuxRuntime shell scripts.
  * pressure-vessel: Automatically enable --copy-runtime if running
    under Flatpak
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Make sure Debian-based runtimes will look in
    /lib/terminfo, fixing the PRESSURE_VESSEL_SHELL=instead xterm's
    behaviour when not running on a Debian derivative
  * pressure-vessel: Treat LD_AUDIT the same as LD_PRELOAD, as another step
    towards Flatpak support
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Put apt-style severity prefixes on messages
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Add experimental code path for Flatpak sub-sandboxing.
    This requires branches of Flatpak that have not yet been reviewed or
    merged, so it isn't expected to work yet. Only pressure-vessel or
    Flatpak developers should enable this.
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Make /run/bumblebee.socket visible in container.
    This is sometimes helpful for Primus/Bumblebee setups, although we
    recommend PRIME render offloading (DRI_PRIME=1 for Mesa or
    __NV_PRIME_RENDER_OFFLOAD=1 for NVIDIA) as a more reliable way to manage
    multiple GPUs. (Helps: steam-runtime#372)
  * debian: Make symlinks in RPATH point to libraries by SONAME.
    This makes the steam-runtime-system-info in the LD_LIBRARY_PATH
    Steam Runtime work more reliably across GLib upgrades.
Simon McVittie's avatar
Simon McVittie committed
  * Refactoring
Simon McVittie's avatar
Simon McVittie committed

  [ Ludovico de Nittis ]
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Respect search-cwd flag in STEAM_COMPAT_FLAGS.
    This should fix games like Shadowrun Returns that assume their
    installation directory is in the LD_LIBRARY_PATH.
    (Resolves: steam-runtime#371, steam-runtime-tools#46)
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Run nvidia-modprobe -u before entering the container
    if needed, to load nvidia_uvm.ko for Vulkan ray-tracing support
Simon McVittie's avatar
Simon McVittie committed
    (Resolves: steam-runtime-tools#59)
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Update flatpak-run to the latest upstream version.
    This includes a fix to propagate the X11 cookies that have an address
    equal to XAUTHLOCALHOSTNAME, fixing X11 authentication on some openSUSE
    systems (Resolves: steam-runtime-tools#53)
Simon McVittie's avatar
Simon McVittie committed
  * runtime: Bind the drirc settings from the provider
    (Resolves: steam-runtime-tools#60)
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Improve library binding speed
Simon McVittie's avatar
Simon McVittie committed
  * pv-adverb: Remove unused locales temporary directories
    (Resolves: steam-runtime-tools#56)
Simon McVittie's avatar
Simon McVittie committed
  * system-info: Report duplicate Vulkan ICDs/layers as an issue.
    This helps us to detect misconfigured host systems, and also helps to
    detect regressions where we duplicate ICDs/layers in the pressure-vessel
    container that were not duplicates on the host. (Resolves: T26156)
Simon McVittie's avatar
Simon McVittie committed
  * system-info: Add ability to set multiarch tuples to inspect
Simon McVittie's avatar
Simon McVittie committed
    (Resolves: steam-runtime-tools#58)
  * pressure-vessel: Mount systemd-resolved varlink socket if available
    (Resolves: steam-runtime-tools#61)
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Include Vulkan shaders required by the included
    diagnostic tool (Resolves: steam-runtime-tools#62)
Simon McVittie's avatar
Simon McVittie committed
  * system-info: Parse Vulkan layers from a report in the right order
Simon McVittie's avatar
Simon McVittie committed
  * tests: Programmatically generate more mock sysroots instead of including
    them in the source release (Resolves: T26709)
Simon McVittie's avatar
Simon McVittie committed
  * Refactoring
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Fri, 05 Mar 2021 11:08:01 +0000
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20210203.0) scout; urgency=medium

  * pressure-vessel: Revert improvements to speed of container setup.
    This optimization caused some Vulkan layers and ICDs to appear more
    than once in the container, which makes some games hang.
    (Maybe resolves: steam-runtime#361, steam-runtime#362, steam-runtime#363)
  * system-info: Log environment variables used by various Vulkan layers

 -- Simon McVittie <smcv@collabora.com>  Wed, 03 Feb 2021 16:33:56 +0000

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20210201.0) scout; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

  [ Simon McVittie ]
  * pressure-vessel: Make graphics stack provider's /etc/amd available
    in the container.
    This is needed for at least one of the AMD-maintained graphics stacks:
    AMDVLK (open-source) and/or AMDGPU-PRO (proprietary).
    (Resolves: steam-runtime#313)
  * pressure-vessel: Make host's /etc available for reference in
    /run/host/etc inside the container (also graphics stack provider's /etc
    in /run/gfx/etc, if different)
  * pressure-vessel: Make /var/tmp available in the container
  * system-info: Show various environment variables that influence
    components that we are interested in:
    - the Steam client
    - SDL
    - Wine/Proton
    - PulseAudio clients
    - ALSA clients
  * check-vulkan: Fix compilation on Steam Runtime 1½ 'heavy'.
    heavy is still on Vulkan loader v1.1.73, which doesn't know
    VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT.
  * tests: Fix unit test failure if environment variables like DRI_PRIME
    are set

  [ Ludovico de Nittis ]
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Improve speed of container setup by combining multiple
    calls to capsule-capture-libs
Simon McVittie's avatar
Simon McVittie committed
  * system-info: Show machine-readable info for each Vulkan PhysicalDevice
    (each GPU/driver combination, plus software rendering if available).
    This should help us to see what is going wrong in multi-GPU scenarios.
    (Helps: steam-runtime#312, steam-runtime#341, steam-runtime#352;
    maybe also steam-runtime#340)

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Mon, 01 Feb 2021 19:03:26 +0000
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20210126.0) scout; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

  [ Ludovico de Nittis ]
  * pressure-vessel: Fix a crash when environment variables carried over
    from the host are not in the expected encoding
    - In particular this fixes a crash when a game's installation directory
      contains the trademark symbol. (Resolves: #52, steam-runtime#349)
  * system-info: Fix a crash in some unlikely error cases
  * system-info: Refactoring
Simon McVittie's avatar
Simon McVittie committed
  * check-vulkan: Avoid a possible crash
  * check-vulkan: Convert from C++ to C
  * check-vulkan: List all Vulkan GPUs
  * check-vulkan: Improve error messages
Simon McVittie's avatar
Simon McVittie committed

  [ Simon McVittie ]
Simon McVittie's avatar
Simon McVittie committed
  * system-info: Log more influential environment variables
Simon McVittie's avatar
Simon McVittie committed
  * system-info: Add support for reading /run/host/container-manager
  * system-info: Add support for detecting Podman
Simon McVittie's avatar
Simon McVittie committed
  * system-info: Print diagnostic messages as arrays of lines
Simon McVittie's avatar
Simon McVittie committed
  * system-info: Temporarily print details of all GPUs as diagnostic
    messages, until we support printing them in a machine-readable way
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Tue, 26 Jan 2021 13:22:50 +0000
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20210114.0) scout; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

  [ Ludovico de Nittis ]
  * pressure-vessel: Fix loading of ICDs and Vulkan layers that are
    referenced by a bare SONAME (Resolves: #49)
    - In particular this fixes the Mesa device selection layer
  * pressure-vessel: Improve handling of LD_PRELOAD

  [ Simon McVittie ]
  * pressure-vessel: Find PulseAudio socket on systems that do not use
    XDG_RUNTIME_DIR (Resolves: #51, steam-runtime#343)
  * pressure-vessel: Further refactoring towards being able to run from
    inside Flatpak
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Create symlinks for various distros' ld.so.cache
    equivalents, improving ability to run on Clear Linux and Exherbo
Simon McVittie's avatar
Simon McVittie committed
    (partially addresses steam-runtime#345, steam-runtime#230)
Simon McVittie's avatar
Simon McVittie committed
  * pv-wrap: *Really* don't assume container's env is in the PATH,
    again for Exherbo (partially addresses steam-runtime#230).
  * pressure-vessel: Implement the container indicator from systemd's
    CONTAINER_INTERFACE ($container and /run/host/container-manager)
Simon McVittie's avatar
Simon McVittie committed
  * test-ui: Look for runtimes in PRESSURE_VESSEL_VARIABLE_DIR.
    Future versions of SteamLinuxRuntime will use this to move the
    non-Steampipe-managed runtimes into a var/ subdirectory.
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Thu, 14 Jan 2021 14:29:37 +0000
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20210105.0) scout; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

  [ Simon McVittie ]
  * pv-wrap: Make graphics drivers outside $HOME available, if used
    (Resolves: #29, steam-runtime#313)
  * pv-wrap: Refactor collection of DRI drivers so we use all the search
    paths that SrtGraphics knows about
    - Also look for Mesa DRI drivers in ${libdir}/xorg/modules/dri,
      used on Slackware (Resolves: steam-runtime#318)
  * pv-wrap: Don't assume container's env is in the PATH.
    Some OS distributions, notably Exherbo, don't put /usr/bin in their
    PATH. This means we can't safely use their PATH to invoke standard tools
    inside the container. (Partially addresses steam-runtime#230)
  * pv-wrap: Always disable gtk3-nocsd.
    This module interposes in front of g_object_get(), and is known to cause
    crashes, even in programs that use GObject but not GTK.
    (Resolves: steam-runtime#286)
  * pv-wrap: Cope with /tmp being a symlink.
    If /tmp is a symlink in the current execution environment, then when
    we ask bwrap to bind-mount /tmp/pressure-vessel-wrap.XXXXXX/overrides
    over itself, it will try to create the parent directory /tmp, and fail
    because there's a symlink in the way. Canonicalize the path and use that
    instead. Partially addresses steam-runtime#321 (symlinks "above" the home
    directory have the same problem, but are harder to fix).
  * Improve diagnostic tools bundled with relocatable pressure-vessel:
    - Don't wrap steam-runtime-system-info, so it can find its helpers
    - Include vulkaninfo and wflinfo in relocatable installs
  * pv-wrap: Remove --host-fallback option.
    We are not going to be able to do this from within Flatpak, and it is
    unsuitable for running runtimes other than Steam Runtime 1 'scout',
    for which the LD_LIBRARY_PATH runtime mostly already works.
    If we need an automatic fallback to running on the host for scout games,
    we can do that better by running `pressure-vessel-wrap --test`.
  * pressure-vessel: Speed up execution of short-lived subprocesses.
    In particular, if the soft limit on open file descriptors is very large
    (formerly recommended for Proton "esync", although the current
    recommendation is to set a small soft limit and a large hard limit)
    this can speed up pressure-vessel by as much as 90%. In more normal
    configurations it can still save 10%. (Resolves: steam-runtime#323)
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Stop running bwrap --help, no longer needed.
Simon McVittie's avatar
Simon McVittie committed
  * pv-wrap: Log pressure-vessel version on startup.
    This serves two purposes: it gives us a timestamp for when
    pressure-vessel started, and it puts the version number in the log.
Simon McVittie's avatar
Simon McVittie committed
  * Preparatory work for being able to run inside Flatpak:
Simon McVittie's avatar
Simon McVittie committed
    - system-info: Look in both /overrides and /usr/lib/p-v/overrides
Simon McVittie's avatar
Simon McVittie committed
    - pv-wrap: In Flatpak, use pv-launch to run commands on the host
    - pv-wrap: Remap $HOME for Flatpak correctly
    - pv-wrap: In Flatpak, put game in same userns/pidns as Steam if possible
    - pv-launch: Add the ability to unset environment variables when using
      Flatpak APIs on the host
    - Lots of refactoring in PvRuntime
  * THIRD-PARTY.md: Add more licenses for steam-runtime-tools
  * THIRD-PARTY.md: Point to git repo for steam-runtime-tools source
  * THIRD-PARTY.md: Point to scout images for third-party library source

  [ Ludovico de Nittis ]
  * system-info: Diagnose STEAM_COMPAT_CLIENT_INSTALL_PATH mismatch
    (Resolves: #41)
  * runtime: correctly handle ICD for different ABI even without subdirs
    (Resolves: #45)
Simon McVittie's avatar
Simon McVittie committed
  * graphics: Do not load JSON ICDs multiple times from the same directory
    (Resolves: #48; partially addresses steam-runtime#336)
  * Refactor logging
  * Add PRESSURE_VESSEL_LOG_INFO and PRESSURE_VESSEL_LOG_WITH_TIMESTAMP
    environment variables
Simon McVittie's avatar
Simon McVittie committed
  * pressure-vessel: Start to use the "info" log level
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
 -- Simon McVittie <smcv@collabora.com>  Tue, 05 Jan 2021 18:12:58 +0000
Simon McVittie's avatar
Simon McVittie committed

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20201203.0) scout; urgency=medium

  [ Ludovico de Nittis ]
  * pressure-vessel: Cope with Vulkan meta-layers and handle them specially,
    fixing an assertion failure (Resolves: steam-runtime#306)
  * pressure-vessel: Add option to disable the import of Vulkan layers.
    Users experiencing problems with Vulkan layers can disable their
    inclusion in the container with environment variable
    PRESSURE_VESSEL_IMPORT_VULKAN_LAYERS=0. (Resolves: steam-runtime-tools#37)
  * pressure-vessel: Do not dlopen layers if it isn't necessary.
    This makes it more likely that we can share the same JSON manifest
    for all word-sizes, working around some overzealous deduplication
    in the Vulkan loader. (Partially addresses: steam-runtime-tools#39)
  * diagnostic tools: Try more VA-API code paths, so that the check can pass
    on Intel GPUs (Resolves: steam-runtime-tools#24)

  [ Simon McVittie ]
  * pressure-vessel: Fix VDPAU driver loading when using newer glibc on
    post-Haswell CPUs
  * pressure-vessel: Improve correctness of PRESSURE_VESSEL_COPY_RUNTIME_INTO
    by removing more conflicting libraries
  * input-device test: Add more test data

 -- Simon McVittie <smcv@collabora.com>  Thu, 03 Dec 2020 18:20:30 +0000

Simon McVittie's avatar
Simon McVittie committed
steam-runtime-tools (0.20201124.0) scout; urgency=medium
Simon McVittie's avatar
Simon McVittie committed

  [ Simon McVittie ]
Simon McVittie's avatar
Simon McVittie committed
  * runtime: Expand libqual into an array of multilib directories.
    This is a step towards searching all the necessary places for unusual
Simon McVittie's avatar
Simon McVittie committed
    distributions like Exherbo (see steam-runtime#230), and gives us
Simon McVittie's avatar
Simon McVittie committed
    an obvious extension point for adding more multilib directories.