-
v0.20221208.0 protectede1624826 · ·
steam-runtime-tools v0.20221208.0 * pressure-vessel: Pass through Gamescope's special Wayland display * subprojects: Add a copy of the SteamLinuxRuntime scripts. This will help us to coordinate changes between steam-runtime-tools and SteamLinuxRuntime. * CI: Refactoring * debian: Stop including redundant source code in pressure-vessel-relocatable.deb (if source code is required, use the steam-runtime-tools.dsc source package)
-
v0.20221130.0 protectede8de4b15 · ·
steam-runtime-tools v0.20221130.0 * pressure-vessel: Update Flatpak-derived code to 1.14.1 * Don't bind-mount /efi into containers, same as /boot * Slightly better debug info for failures * Use a better XML DOCTYPE for fonts.conf - The remaining changes are in code that doesn't get compiled into pressure-vessel. * pressure-vessel: Update included copy of bubblewrap to 0.7.0 - Improve error messages - The remaining changes are not relevant to pressure-vessel. * pressure-vessel: Make sure we don't use bwrap --perms option if we are using a system copy of bwrap that doesn't support it * s-r-launch-client: Make --version, --list output to standard output as intended, not standard error * library: Improve logging/debugging support - Ensure the three standard file descriptors always point somewhere, even if that's /dev/null - Send warnings and error messages to the systemd journal (on systems where it exists) if they would otherwise go to /dev/null - If output is going to the systemd journal, create our own stream so that it is labelled correctly - pv-wrap: Log more details about the changes made to the runtime to create the container's root filesystem - pv-wrap, pv-adverb: with SRT_LOG=journal, redirect warnings and errors to the systemd journal (output from the actual game is not redirected) - pv-wrap: With SRT_LOG=overrides, log the full contents of /overrides for comparison and debugging - pv-wrap: With SRT_LOG=container, log the full contents of the container's root filesystem (as modified from the runtime) for comparison and debugging
-
v0.20221115.1 protected193dfb1f · ·
steam-runtime-tools v0.20221115.1 * tests: Don't assume /dev/shm is a real directory. In older chroot environments it's sometimes a symbolic link to /run/shm.
-
v0.20221115.0 protected67ffda59 · ·
steam-runtime-tools v0.20221115.0 [ Ludovico de Nittis ] * pv-wrap: Improve path mapping under FEX-Emu or similar emulators by distinguishing between paths visible to native code (aarch64) and paths visible to emulated code (x86) [ Simon McVittie ] * pv-exports: Treat /run/gfx the same as /run/host * pv-wrap: Add --deterministic option to make consecutive logs easier to compare with generic diff tools * pv-wrap: Make the debug log shorter and easier to compare by omitting redundant path segments * pv-runtime: Detect some errors that were previously ignored * pv-runtime: Improve robustness against crashing if initialization fails * pv-locale-gen: - Produce less repetitive output - Launch a bit faster - Give a better hint about why we want a locale * pv-adverb: Let missing locales show on stderr. This will give users a hint about how they can speed up container setup. (Helps: steam-runtime#541) * s-r-input-monitor: Sort hidraw and evdev devices "naturally" * library code: Add SRT_LOG=TOKEN[,TOKEN...] option to alter how we log. Possible values are subject to change, but currently: - debug: enables debug and info messages, implied by --verbose or PRESSURE_VESSEL_VERBOSE=1 - diffable: reduces differences between logs (show fewer process IDs, etc.), implied by pv-wrap --deterministic - info: enables info messages, implied by PRESSURE_VESSEL_LOG_INFO=1 - pid: force process IDs to be logged, even if diffable was used - timestamp: prefix log lines with a timestamp, implied by PRESSURE_VESSEL_LOG_WITH_TIMESTAMP=1 - timing: show the time taken for various operations (performance profiling), even if not debugging * Update libglnx subproject - Use its g_memdup2() backport instead of our own
-
v0.20221014.0 protected63ea5340 · ·
steam-runtime-tools v0.20221014.0 [ Ludovico de Nittis ] * pressure-vessel: Add support for FEX-Emu graphics library thunking. When emulating x86 on aarch64, FEX-Emu optionally loads thin x86 graphics driver libraries that make calls into the underlying aarch64 graphics drivers, instead of implementing the whole user-space part of the graphics driver in x86 code that needs to be emulated. To make this work as intended, we have to ensure that the search path for each of these categories includes both the x86 version from the FEX-Emu rootfs and the aarch64 version from the host system: - Vulkan drivers and layers - EGL drivers and external platforms - GLX drivers - Mesa DRI drivers - VA-API drivers Doing this for VDPAU drivers is not currently supported, because VDPAU only searches a single directory, not a search path. * pv-runtime, pv-graphics-provider: Refactoring to support the above * graphics: Refactoring to support the above [ Ludovico de Nittis, Simon McVittie ] * pv-runtime: Capture libudev.so.0 again, but only if the SONAME matches. This means we can pick up Arch Linux's libudev.so.0 shim if available, but we won't pick up an incorrect libudev.so.0 -> libudev.so.1 symlink like the one in ValveSoftware/steam-runtime#533. [ Simon McVittie ] * Update libglnx - Make cloning a file consistently seek to the end - More backports from newer GLib * Tests: - Add a script to run the tests in a LD_LIBRARY_PATH environment * Adjust for rename of default branch name to main
-
v0.20220927.0 protecteddac5c19b · ·
steam-runtime-tools v0.20220927.0 [ Simon McVittie ] * pv-runtime: Don't capture libudev.so.0 for now. This means we won't use a system copy of libudev0-shim, but avoids crashes on systems where libudev.so.0 is incorrectly a symlink to libudev.so.1. (steam-runtime-tools#96, ValveSoftware/steam-runtime#533) * libcurl-compat: Make it possible for run.sh to activate or deactivate the compatibility shim without re-running setup.sh (steamrt/tasks#119) * Tests: - Improve ability to run tests against the Steam Runtime environment - Improve diagnostic output if JSON results differ [ Ludovico de Nittis ] * Tests: - Fix an intermittent unit test failure (steamrt/tasks#162)
-
v0.20220919.0 protectedf1e8b73a · ·
steam-runtime-tools v0.20220919.0 [ Ludovico de Nittis ] * pressure-vessel: If using libudev from the host, provide read-only access to /run/udev. This is sufficient to identify non-hotplugged game controllers in games that use libudev directly (older bundled SDL versions, or not using SDL at all). - Controller hotplug support continues to require using an up-to-date version of SDL or Proton. - This is not done for older host OSs (Debian 10, Ubuntu 18.04, etc.) because on these older OSs we have to use the container's libudev, but the host /run/udev is not necessarily compatible with that. (steamrt/tasks#171) * tests: Fix test failure with Arch Linux glibc ≥ 2.36-4 [ Simon McVittie ] * pv-runtime: Use host's libudev if equal to or newer than container libudev, even if no graphics driver depends on it. This makes it more likely that we can parse /run/udev. (steamrt/tasks#171) * tests: Fix test failure with latest Steam Runtime 1 'scout' images
-
v0.20220908.0 protected57e16afe · ·
steam-runtime-tools v0.20220908.0 * libcurl-compat: When building for scout (only), build a shim libcurl that can dispatch to runtime or system copies. This works around ABI divergence from upstream in the libcurl in Debian/Ubuntu between about 2005 and 2018, which unfortunately includes the time at which Steam Runtime 1 'scout' started. Additional setup in the steam-runtime scripts is necessary to take advantage of this. (steamrt/tasks#119) * Documentation updates: - compat-tool-interface: Non-Steam launch options can have %command% now - launch-client, shared-paths: Remove notes about obsolete versions - launch-client: Update release status - launch-client: Say where to find it - launcher-interface-0: Move example to launch-client * Tests: - Improve support for using the tests "as-installed" to test a proposed Steam Runtime - generate-sysroots: Avoid using undefined string escape sequences - Generalize TAP test template * build-aux: Actually use clang for the build labelled "clang" * launch-options: Update for steam-launch-wrapper addition to recent betas
-
v0.20220803.0 protected7cb0693d · ·
steam-runtime-tools v0.20220803.0 * 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.