-
v0.20240212.0 protectede4db9be5 · ·
steam-runtime-tools v0.20240212.0 * pressure-vessel: - Look for internal Nvidia helper libraries by their canonical names, which will be helpful if canonical/steam-snap#361 is fixed (steam-runtime#586) - Drop code paths that we have not used in production since mid 2021: + Remove support for providing the runtime as a tar archive + Remove obsolete command line options: - pv-wrap --runtime-archive=... - pv-wrap --runtime-id=... - populate-depot.py --include-sdk-debug - populate-depot.py --include-sdk-runtime - populate-depot.py --no-minimize - populate-depot.py --no-unpack-runtime + Stop checking for and deleting pre-2021 unpack/deploy directories - Improve test coverage - Refactoring - CI: Simplify path to relocatable amd64+i386 build of pressure-vessel * Steam Linux Runtime 1.0 (scout): - Stop generating and uploading steam-container-runtime.tar.gz, superseded by SteamLinuxRuntime.tar.xz (steamrt/tasks#388) * Diagnostic tools: - Report some more VR-related environment variables (steam-runtime#575) - check-vulkan: Update list of known errors for v1.3.275 * s-r-launch-options: - Label medic and steamrt5 runtimes nicely * Library code: - Refactoring * Documentation updates
-
v0.20240126.0 protected5939215e · ·
steam-runtime-tools v0.20240126.0 * SteamLinuxRuntime_sniper.sh: Tolerate CRLF line endings in VERSIONS.txt (steamrt/tasks#375)
-
v0.20240125.0 protected37c764a8 · ·
steam-runtime-tools v0.20240125.0 * pressure-vessel: - When running in Flatpak, forward inherited fds to subsandbox (steam-runtime#644, fixing a regression in 0.20240103.0)
-
v0.20240124.1 protected0c743e73 · ·
steam-runtime-tools v0.20240124.1 * pressure-vessel: - Temporarily go back to using /run/pressure-vessel/ldso under Snap. This is a workaround for snapd's steam_support AppArmor profile making overly specific assumptions about pressure-vessel implementation details, and will be reverted in a future release. (canonical/steam-snap#356, steam-runtime#640) * SteamLinuxRuntime_sniper, etc.: - Fix relative path from steampipe metadata to top-level regular files (steamrt/tasks#375)
-
v0.20240124.0 protectedb7491311 · ·
steam-runtime-tools v0.20240124.0 * pressure-vessel: - Temporarily go back to using /run/pressure-vessel/ldso under Snap. This is a workaround for snapd's steam_support AppArmor profile making overly specific assumptions about pressure-vessel implementation details, and will be reverted in a future release. (canonical/steam-snap#356, steam-runtime#640) * SteamLinuxRuntime_sniper, etc.: - Fix relative path from steampipe metadata to top-level regular files (steamrt/tasks#375)
-
v0.20240123.2 protectedadae43e6 · ·
steam-runtime-tools v0.20240123.2 * SteamLinuxRuntime_sniper.sh, etc.: - Avoid corrupting machine-readable output on stdout, if any - If no COMMAND, just print an entry point to use later - Allow using a name not matching tarball content - Accept .version.txt as an alternative to .VERSIONS.txt (steamrt/tasks#375, steamrt/tasks#385)
-
v0.20240123.1 protectede18877a8 · ·
steam-runtime-tools v0.20240123.1 * upload-artifacts: Really upload SteamLinuxRuntime.tar.xz (steamrt/tasks#375, steamrt/tasks#376)
-
v0.20240123.0 protected967aac39 · ·
steam-runtime-tools v0.20240123.0 * SteamLinuxRuntime_sniper, etc.: - Optionally generate Steampipe upload configuration - Optionally generate an archive, and a script to unpack and launch it (steamrt/tasks#375, steamrt/tasks#376)
-
v0.20240119.0 protectedb0dd8468 · ·
steam-runtime-tools v0.20240119.0 * SteamLinuxRuntime 1.0 (scout): Catch up with changed filenames in the Steam client client beta, fixing a regression for SLR 1.0 games (steamrt/tasks#382) * Documentation updates * Add missing newline to some error messages * pv-adverb: Describe target of each redirection if debugging
-
v0.20240103.0 protected3d430f8c · ·
steam-runtime-tools v0.20240103.0 * pv-wrap: Don't register stdout, stderr, --pass-fd with FlatpakBwrap. This fixes two separate issues: - if stdout/stderr were directed to a log file, pv-adverb output would start again at byte 0, overwriting pv-wrap output; - on error, we would crash with an assertion failure on trying to close those fds twice (steamrt/tasks#370, fixing a regression in v0.20230621.0)
-
v0.20231208.0 protectedc43e6fa8 · ·
steam-runtime-tools v0.20231208.0 * pressure-vessel: - Try to load NSS plugins without relying on ld.so.cache, fixing their discovery on heavily customized OSs (steam-runtime#632) - Look up graphics libraries by their concrete SONAMEs, for the same reason - Improve compatibility with FEX-Emu (steamrt/tasks#342). The part of this change that is visible to those not using FEX is that ld.so.cache inside the container moves from /run to /var. * Steam Linux Runtime depots: - Remove all DRI plugins from future SLR branches, saving around 100M (steamrt/tasks#364) - When running pv-verify, allow SteamLinuxRuntime_whatever/.ref to exist
-
v0.20231128.0 protected52d02f09 · ·
steam-runtime-tools v0.20231128.0 * pressure-vessel: - Log a warning if we can't set up /etc/timezone - If emitting debug messages, include the full contents of the new ld.so.cache (steamrt/tasks#357, steam-runtime#630) - Make SRT_LOG=debug activate extra output. Previously, only --verbose or PRESSURE_VESSEL_VERBOSE would have activated this. - Better compatibility with very old CPUs, especially when using VDPAU, if the host OS has a supported expansion of ${LIB} + Affected Intel CPUs are older than "Haswell" (2013) + Affected AMD CPUs are older than "Excavator" (2015) + Systems where this works are those that use multiarch (Debian/Ubuntu or Flatpak), FHS multilib (Red Hat, etc.) or Arch Linux's multilib variant. Other systems where ${LIB} expands to distinct values for 32- and 64-bit x86 can easily be added to this mechanism if their users open an issue with the details. - Better compatibility with FEX-Emu, especially when using VDPAU (steamrt/tasks#349) - pv-verify: New tool to verify a directory against a mtree(5) manifest - Refactoring * Diagnostic tools: - Improve performance of steam-runtime-system-info, especially when running under FEX-Emu emulation (steam-runtime-tools#88) - Stop relying on ability to run timeout(1), which might improve compatibility with some sandboxed or limited environments (steam-runtime-tools#88) - Resync wflinfo implementation with waffle 1.8.0 * Steam Linux Runtime depots: - In usr-mtree.txt.gz, only put permissions in mode=, not all of st_mode, matching bsdtar(1) and mtree(8) - In usr-mtree.txt.gz, truncate fractional seconds to ".0" if zero - Add a top-level mtree manifest for the depot as a whole. In SLR 2.0 (soldier) and 3.0 (sniper), after pressure-vessel has been updated to a suitable version, it will be possible to verify the depot against its manifest by running a command like: /path/to/SteamLinuxRuntime_soldier/pressure-vessel/bin/pv-verify In SLR 1.0 (scout) the equivalent is: /path/to/SteamLinuxRuntime_soldier/pressure-vessel/bin/pv-verify \ path/to/SteamLinuxRuntime * Library code: - Refactor helper subprocess launching - Make execution environment for helper subprocesses more consistent * Tests: - Make the pv-adverb test coverage more realistic - When using valgrind, don't show reachable objects by default - Fix a minor memory leak in check-xdg-portal (not significant during production use since this is not a long-lived process) - Stop diagnosing memory leaks in wflinfo (not significant during production use since this is not a long-lived process)
-
v0.20231107.1 protected551c0407 · ·
steam-runtime-tools v0.20231107.1 * Fix internal version information
-
v0.20231107.0 protected6e34958d · ·
steam-runtime-tools v0.20231107.0 * All CLI tools: Consistently unblock and unignore signals during startup (steamrt/tasks#354) * system-info: - Document JSON format for virtualization - Add an option to skip checking libraries - Add an option to skip graphics smoke-tests - Use the common log handler, so SRT_LOG takes effect - steam-runtime-system-info --verbose now outputs all fields from os-release(5) * pressure-vessel: Refactoring * urlopen: Use steam://openurl_external to open http, https URLs (steamrt/tasks#80) * Library code: - SrtSystemInfo: Avoid using fd-relative I/O for the real root, making several diagnostics more accurate when running under FEX-Emu: * DRI, VA-API and VDPAU modules (steamrt/tasks#347) * Vulkan layers * os-release(5) (steamrt/tasks#342) * ld.so (steamrt/tasks#348) * /overrides - SrtSystemInfo: Make more use of fd-relative I/O when acting on a sysroot, avoiding being misled by absolute symbolic links - SrtSystemInfo: Break reference cycles in dispose() if necessary - SrtSystemInfo: Fix assertion failure if failing to get container information - SrtSystemInfo: Keep better track of whether opening a sysroot failed - SrtVirtualizationInfo: Add missing getter for host-machine property - SrtVirtualizationInfo: Add os-release(5) from the host system under FEX-Emu - Collect os-release(5) path, canonicalized path, and any diagnostic messages about errors parsing it, not just its contents - Improve test coverage - Improve build robustness in scout - Refactoring * Tests: - Move non-pressure-vessel-specific tests to tests/ - Fix test failure with a custom value for LC_ADDRESS - Remove unused imports
-
v0.20231013.1 protectedbac27c41 · ·
steam-runtime-tools v0.20231013.1 * launcher-service: Unblock and unignore all signals during startup, fixing detection of subprocesses exiting when launched by Steam (steamrt/tasks#354, ValveSoftware/SteamVR-for-Linux#618)
-
v0.20231013.0 protected9d0a96fb · ·
steam-runtime-tools v0.20231013.0 * pressure-vessel: - Add more entries to the list of NVIDIA driver libraries, notably libnvidia-gpucomp. Thanks to Daniel Dadap (steamrt/tasks#340) - pv-runtime: Duplicate symlinks in /etc, /var into the FEX-Emu interpreter root, fixing incorrect /etc/os-release under FEX-Emu (steamrt/tasks#342) - pv-adverb: Reduce environment variables, etc. to debug level. This reduces noise when redirecting to the systemd Journal. - pv-runtime: Use a closer match for 99-pulseaudio-default.conf when the host system uses PulseAudio. Thanks to Nozomi Miyamori (steam-runtime#623) - pv-runtime: Show warnings if unable to load drivers/layers (steam-runtime-tools#108) * Reduce profiling messages to debug level unless SRT_LOG=timing. This reduces noise when redirecting to the systemd Journal. * build: - Quote clang, clang++ commands correctly - Fix generation of timestamp for scout-on-soldier at merge commits - debian: Work around Debian#1053836 * tests: Silence valgrind false-positives for one-per-process allocations
-
v0.20230928.1 protectedce104521 · ·
steam-runtime-tools v0.20230928.1 * Hotfix for versions >= 0.20230919.0 * pv-runtime: Deduplicate Vulkan drivers, etc. by their manifest content. When using Flatpak with the Nvidia drivers, we see two identical sets of manifests: they are intended to describe the x86_64 and i386 drivers, but each one is equally valid to load the other, resulting in the same driver being loaded twice. Some games like Red Dead Redemption 2 and The Elder Scrolls Online have been reported to crash when this happens. Until 0.20230919.0, this was accidentally mitigated by steam-runtime-tools#124, but fixing that bug exposed the crashes. Avoid this by not making JSON manifests available in the container if they are a byte-for-byte duplicate of a manifest we already processed. (Regression in 0.20230919.0; steam-runtime#624) * tests: Stop assuming libcrypt will be pulled into a scout container. (Regression in 0.20230928.0)
-
v0.20230928.0 protectedbea59a83 · ·
steam-runtime-tools v0.20230928.0 * pressure-vessel: Update libcapsule to v0.20230928.0 - Don't treat libcrypt.so.1 as part of glibc. It's build-time optional since glibc 2.28, and is not built by default since 2.38. In newer distributions like Debian >= 11 and Ubuntu >= 20.04, it's usually replaced by libxcrypt. (steamrt/tasks#332) * launch-options: Override PRESSURE_VESSEL_PREFIX when needed
-
v0.20230922.0 protected99583941 · ·
steam-runtime-tools v0.20230922.0 * system-info: - Fix a use-after-free closing standard output of the vulkan and xdg-portal checks
-
v0.20230919.0 protectedf10cd8e4 · ·
steam-runtime-tools v0.20230919.0 * pressure-vessel: - Use a fully-resolved path when pointing to Vulkan drivers' and layers' JSON manifests, fixing broken symlinks when running under Flatpak (steam-runtime-tools#124) - Try to avoid duplicating Vulkan drivers and layers, by marking their manifests with the `library_arch` parameter where appropriate. In particular this fixes loading of released MangoHud versions under Flatpak (steam-runtime#618) * system-info: - Fix an incorrect use of VA-API that can cause an assertion failure in debug builds of Mesa (steam-runtime-tools#117). Thanks to David Rosca - Fix an incorrect use of VA-API that can cause the check to fail with non-Mesa drivers. Thanks to Emil Velikov - Avoid searching ~/.local/share for Vulkan drivers twice if it resolves to the same path as $XDG_DATA_HOME - Log a warning if machine-readable output cannot be closed - Refactoring * input-monitor: - Fix an ongoing memory leak * Documentation updates * Tests: - Fix continuous-integration failure when the beta and stable scout SDKs currently have different versions of a library that gets bundled with pressure-vessel, notably GLib - Improve logging when testing graphics driver discovery