- Mar 17, 2021
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Mar 16, 2021
-
-
Simon McVittie authored
wrap: Set PulseAudio as the default ALSA driver if available See merge request !269
-
Ludovico de Nittis authored
pv-wrap: Communicate timeouts to pv-adverb as locale-independent ASCII See merge request !270
-
Simon McVittie authored
These arguments take a G_OPTION_ARG_DOUBLE, which is documented to be parsed using either the user's locale or the C locale (in fact they use g_strtod(), which parses it both ways and takes the longer match). The locale matters in locales like de_DE that use a decimal comma instead of a decimal point: we can always parse 2.000000 in the C locale, but we can only parse 2,000000 if we are in a correctly-set-up locale that uses the decimal comma. If we needed to generate new locale files inside the container, then pv-adverb needs to be able to parse its command-line before we have generated those locale files. This means that --terminate-idle-timeout=2,000000 won't work reliably, so we need to use the C locale format, --terminate-idle-timeout=2.000000. Using g_ascii_dtostr() has the side benefit that it uses the shortest possible representation that does not lose precision; in the common case that the timeout is an integer number of seconds, we'll just print it as an integer. Helps: https://github.com/ValveSoftware/steam-runtime/issues/381 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
To avoid audio issues, if we have successfully bound a PulseAudio socket, we should also set it as the default driver in ALSA. Addresses: #65 Partially addresses: https://github.com/ValveSoftware/steam-runtime/issues/371 Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Simon McVittie authored
runtime: Create libraries aliases in overrides See merge request !267
-
Ludovico de Nittis authored
If a library has different SONAMEs, called aliases in "steam-runtime-abi.json", it might lead to errors when a game tries to load a SONAME that is not the "real" library SONAME (the DT_SONAME that objdump shows). Because `ld.so.cache` will not consider the aliases when searching for the right match. To workaround this problem we create a directory called "aliases" that contains symlinks of the libraries aliases that we know about. By adding these directories, one for every multiarch, in the `LD_LIBRARY_PATH`, we ensure that even games that were linked to an alias will be able to find the library they were looking for. Helps: https://github.com/ValveSoftware/steam-runtime/issues/246 Fixes: T26816 Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Simon McVittie authored
tests: Check the correctness of unsharing the home directory See merge request !268
-
Ludovico de Nittis authored
Features without tests can easily regress. For this reason we added a check about the directories that we expect to have inside the container when we don't share the home directory. And we also compare the "steam-installation" issues of the container srsi with the one on the host. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Mar 12, 2021
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
wrap: Put game-specific $HOME on bwrap command-line before exports Closes #63 See merge request !266
-
Simon McVittie authored
This is how Flatpak behaves, and it's necessary to prevent the game-specific $HOME from being mounted over the top of some of the exports, preventing (for example) ~/.steam from being exposed to the container. We only do this for $HOME rather than completely reverting 3a8e939d, so that it won't be a regression for a symlink at /var/tmp. If the logical and physical paths to the real $HOME differ, we now also mount the game-specific $HOME onto the real $HOME's physical path, and replicate the logical path's symlinks in the container. This matches how Flatpak works, and avoids a similar regression. Fixes: 3a8e939d "pv-wrap: Delay --dir, etc. until after FlatpakExports are processed" Resolves: #63 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
pv-wrap: Only bind-mount systemd-resolved socket if using a runtime See merge request !265
-
- Mar 11, 2021
-
-
Simon McVittie authored
If we're not using a runtime, then all of /run/systemd is shared between host and container anyway. Mounting a socket over the top of an existing socket fails with "No such device or address" due to a bubblewrap bug (fixed in <https://github.com/containers/bubblewrap/pull/409 >). Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Mar 05, 2021
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
debian: Make symlinks in RPATH point to libraries by SONAME See merge request !263
-
Ludovico de Nittis authored
runtime: Make bumblebee.socket visible in container See merge request !262
-
- Mar 04, 2021
-
-
Simon McVittie authored
This means they don't stop working when the real path to a library happens to have changed, for example upgrading GLib 2.32.3 to 2.32.4, which changes the real file implementing the library from libglib-2.0.so.0.3200.3 to libglib-2.0.so.0.3200.4. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
When using Primus/Bumblebee, having this available is apparently enough for at least some games to work, and having this not available will result in the driver failing to load. Note that Primus/Bumblebee is not really supported by any of the GPU or driver vendors. Using PRIME render offloading (DRI_PRIME=1 for open-source Mesa drivers, __NV_PRIME_RENDER_OFFLOAD=1 for the proprietary NVIDIA drivers) is likely to work more reliably. Helps: https://github.com/ValveSoftware/steam-runtime/issues/372 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
build-relocatable-install: Include Vulkan shaders Closes #62 See merge request !261
-
Ludovico de Nittis authored
Previously we were missing to include the Vulkan shaders in the relocatable pressure-vessel tarball. This leaded to `check-vulkan` to fail because it didn't find the required shaders. Fixes: #62 Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Simon McVittie authored
tests: Programmatically generate the tests sysroots See merge request !260
-
Ludovico de Nittis authored
When we build a debian package of steam-runtime-tools, due to the debian source format 3.0 (native), all our `.so` test files are stripped down. To avoid losing them we generate the `fake-icds` and `fake-icds-flatpak` sysroots from the python script `generate-sysroots.py`. Addresses T26709 Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Mar 03, 2021
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
pressure-vessel: respect STEAM_COMPAT_FLAGS=search-cwd Closes #46 See merge request !206
-
Simon McVittie authored
pressure-vessel: Mount resolved varlink socket if available Closes #61 See merge request !257
-
Ludovico de Nittis authored
Respect the `STEAM_COMPAT_FLAGS` values in pressure-vessel. Currently the only expected flag is `search-cwd` that is used to append the game current working directory, stored in `STEAM_COMPAT_INSTALL_PATH`, to the `LD_LIBRARY_PATH`. Resolves: https://github.com/ValveSoftware/steam-runtime/issues/371 Fixes: #46 Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
nss-resolve uses systemd-resolved to resolve hostnames and, since systemd 247, it utilize the varlink API. To make it run inside the container we need to expose the varlink socket. Check the upstream commit for more info https://github.com/flatpak/flatpak/commit/e5da98ff4b12a080044d58b4cd2fb4edb4491132 Fixes: #61 Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Mar 01, 2021
-
-
Simon McVittie authored
Resolves: https://github.com/ValveSoftware/steam-runtime/issues/369 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
pressure-vessel: Add experimental code path for Flatpak sub-sandboxing See merge request !203
-
Simon McVittie authored
If opt_verbose is true, then we know we'll display these even if they are only at debug severity. Using g_debug instead of g_message gives them the correct prefixes in the log. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Feb 26, 2021
-
-
Simon McVittie authored
... and correctly credit Ludovico for the nvidia-modprobe change. (Sorry!) Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Flatpak subsandboxes don't have sufficiently powerful control over the container to use bubblewrap or FlatpakExports directly. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
My Flatpak branch puts it at /run/parent/app, alongside /run/parent/usr. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This is experimental and subject to change. It requires branches of Flatpak that have not yet been reviewed or merged, so it's guarded by (deliberately undocumented) environment variables by default. Only enable this if you are a pressure-vessel developer and know precisely what you're doing. This feature also requires a non-setuid bwrap executable, and a kernel that allows the non-setuid bwrap to create new user namespaces. Fedora, Ubuntu, Debian >= 11, and Arch Linux's default kernel are examples of systems that should be OK; Debian <= 10, SteamOS 2, and Arch Linux's linux-hardened are not. I'm landing this despite its experimental status because leaving it in a branch means we have to rebase it all the time, which just slows us down. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
launch: Add --app-path, --usr-path See merge request !256
-