- Apr 14, 2021
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
runtime: Don't set PulseAudio as default if PULSE_SERVER isn't set See merge request !291
-
- Apr 13, 2021
-
-
Simon McVittie authored
Since !269, on systems where PulseAudio is available, we set PULSE_SERVER to a suitable non-empty value, and "lock" it into the environment to avoid it getting overridden by pressure-vessel-launch (in use-cases where we're using that). We also create an /etc/asound.conf in the container's namespace that will make PulseAudio the default for applications that use the ALSA user-space library libasound.so.2, such as Shadowrun Returns. Conversely, on systems where PulseAudio is *not* available (for example where the system is using plain ALSA), we "lock" PULSE_SERVER to a null value so that we will actively remove it from the environment if set. However, this caused a regression: we created /etc/asound.conf based on whether PULSE_SERVER was "locked", which effectively meant this was done unconditionally. An /etc/asound.conf that configures PulseAudio to be the default is not going to work on non-PulseAudio systems. Instead of checking whether PULSE_SERVER is "locked", check whether it's null. This has the desired effect: we configure PulseAudio to be the default if and only if we detected that it's available. Helps: https://github.com/ValveSoftware/steam-runtime/issues/344 Helps: https://github.com/ValveSoftware/steam-runtime/issues/384 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
runtime: Search for libdrm_amdgpu.so.1 instead of libdrm.so.2 See merge request !290
-
Simon McVittie authored
runtime: Correctly handle data dirs when in a Flatpak environment See merge request !289
-
Ludovico de Nittis authored
libdrm.so.2 is not included in the freedesktop.org GL Platform runtime and this leads us to search for the libdrm directory in the wrong place. For this reason we first look at libdrm_amdgpu.so.1 and use libdrm.so.2 as a fallback. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
When we are in a Flatpak environment there are two issue: - It's common to have multiple data directory, usually one for every multiarch - If we bind the data directory in "/usr/share/${dir_basename}" there is no guarantee that it will be in the library search path For this reason we avoid raising a warning if we have multiple data directory and also we bind them preserving their original path. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
If we modify "/app" we want to bind it to the new subsandbox instead of always binding an empty directory. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
When we are in a Flatpak environment there are two issue: - It's common to have multiple data directory, usually one for every multiarch - If we bind the data directory in "/usr/share/${dir_basename}" there is no guarantee that it will be in the library search path For this reason we avoid raising a warning if we have multiple data directory and also we bind them preserving their original path. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
If we modify "/app" we want to bind it to the new subsandbox instead of always binding an empty directory. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Apr 12, 2021
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Apr 09, 2021
-
-
Ludovico de Nittis authored
runtime: When in a Flatpak env try to get the right executables See merge request !288
-
Ludovico de Nittis authored
When we are in a Flatpak environment we want to pick "localedef", "locale" and "ldconfig" from the Flatpak runtime instead of the ones provided by Scout/Soldier. By searching in the "provider_in_current_namespace" we can ensure to create a subsandbox where these executables are symlinked to the "/run/parent" counterpart. Fixes: T27438 Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Simon McVittie authored
runtime: Search gconv in the correct dir when it starts with /app See merge request !287
-
Ludovico de Nittis authored
When we search for gconv in the provider, if the directory we derived from libc starts with "/app/", we should not prepend "/usr/" because we don't expect to have "/usr/app/" in the provider. Without this patch, pressure-vessel in a Flatpak container fails to load i386 gconv with the following message: "We were expecting the gconv modules directory in the provider to be located in "/app/lib/i386-linux-gnu/gconv", but instead it is missing" Fixes: T27437 Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Apr 06, 2021
-
-
Simon McVittie authored
Only root can do this. Updating libglnx has given us the ability to skip that step, so do so. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
git remote add --no-tags libglnx https://gitlab.gnome.org/GNOME/libglnx.git git subtree merge -P subprojects/libglnx libglnx/master Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
wrap: Send a more clear warning when attempting to bind /usr/* dirs See merge request !284
-
Ludovico de Nittis authored
pressure-vessel doesn't support having the Steam Library under `/usr`. When this happens, pressure-vessel fails without a clear indication of what went wrong. For this reason we add a warning message to point out that pressure-vessel was asked to bind a directory that will not appear in the resulting container. Helps: https://github.com/ValveSoftware/steam-runtime/issues/288 Helps: #30 Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
This is useful when we want to log a warning message without spamming the same message over and over. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Mar 31, 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
urlopen: Add a more clever xdg-open executable See merge request !283
-
When inside a Steam Runtime container we currently make `xdg-open` points to the `flatpak-xdg-utils` implementation that relies on `xdg-desktop-portal`. But if an user doesn't have a working `xdg-desktop-portal` it will fail. Additionally the `steam://` URLs might end up opening another instance of the Steam client, even if one instance was already running. This can happen if more than one version are installed, e.g. the Steam client from the distro repositories and the Flatpak version. With this alternative implementation we try a more clever approach that should workaround the `xdg-open` shortcomings that we experienced in our Steam related use cases. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com> [smcv: Install all /usr/bin/steam-runtime-* executables] Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Mar 30, 2021
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
steam-remote: Add a stub steam executable See merge request !280
-
Ludovico de Nittis authored
This stub steam executable tries to directly pass the given commands, e.g. "steam://nav/downloads ", to the running Steam client, if any. This helps games that tries to run "steam ${command}" because when we are in a LD_LIBRARY_PATH runtime, "steam" might not be pointing to the same version that is currently running. Or if we are in a container, there is no "steam" executable in the PATH at all. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Mar 25, 2021
-
-
Ludovico de Nittis authored
pressure-vessel: Document how to test multi-GPU scenarios See merge request !282
-
Simon McVittie authored
Helps: T27110 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
CONTRIBUTING: Add issue tracking and code contribution details See merge request !281
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Mar 23, 2021
-
-
Ludovico de Nittis authored
Cope better with non-ASCII library names See merge request !279
-
Simon McVittie authored
wrap: Use a tmpfs home as a fallback when unsharing the home dir Closes #66 See merge request !277
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
JSON strings must be valid Unicode, so use the lossy transformation in g_utf8_make_valid() to replace non-UTF-8 (if found) with U+FFFD REPLACEMENT CHARACTER. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This means we can cope with filenames in their filesystem encoding, which are arbitrary bytestrings (not necessarily UTF-8). Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Instead of trying to format JSON using only glibc, this just prints key=value lines, some of which can be repeated. The values always have control characters and backslashes escaped as C-style octal sequences such as \040 for space, similar to the encoding of /etc/fstab. This allows non-UTF-8 bytestrings to be represented. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-