- Aug 06, 2021
-
-
Simon McVittie authored
This reduces the size of wrap.c, which is something we should be careful to keep under control. It also allows us to unit-test this code. Code changes made while factoring this out: * `flatpak_subsandbox` and `opt_remove_game_overlay` go via flags * `adverb_preload_argv` becomes `argv` * `return` instead of `continue` since pv_wrap_append_preload() is only one loop iteration Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
runtime: When copying the runtime, generate a new /etc/ld.so.cache See merge request !338
-
This avoids relying on the LD_LIBRARY_PATH as a way to get the overridden libraries into place. Co-authored-by:
Simon McVittie <smcv@collabora.com> Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Simon McVittie authored
Revert "pressure-vessel: Add support for the env var STEAM_COMPAT_FLAGS" See merge request !351
-
Ludovico de Nittis authored
Flag most G_OPTION_ARG_CALLBACK options with G_OPTION_FLAG_FILENAME See merge request !354
-
- Aug 05, 2021
-
-
Simon McVittie authored
Otherwise pv-adverb will exit unsuccessfully when asked to lock a file in a non-UTF-8 directory. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
If the user's locale is not UTF-8, we want to pass all filenames through as arbitrary blobs of bytes in no particular encoding, rather than requiring them to be UTF-8. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
pv-unruntime: Split LD_PRELOAD on either colons or spaces See merge request !352
-
Ludovico de Nittis authored
pv-wrap, pv-launcher: Set a reasonable RLIMIT_NOFILE See merge request !353
-
Simon McVittie authored
We could inherit any RLIMIT_NOFILE from Steam or another caller, but we want to give games a predictable execution environment. If a game uses select(), allocates memory proportional to the soft limit on file descriptors, or loops for a number of iterations proportional to the soft limit on file descriptors (as we did prior to commit 97b5a8f6 "pressure-vessel: Let short-term subprocesses inherit non-CLOEXEC fds"), then file descriptors numerically greater than 1023 are going to be a problem. If the soft limit is more than 1024 (= FD_SETSIZE), reduce it to 1024 to avoid this. Conversely, if we're launched with a soft limit strictly less than 1024, let's try to raise it to 1024 if the hard limit allows that. Related to <https://github.com/ValveSoftware/steam-for-linux/issues/7970 >. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Aug 04, 2021
-
-
Simon McVittie authored
There's no point in giving it an option that it will just ignore. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
According to ld.so(8), either is equally valid for LD_PRELOAD (although note that LD_AUDIT only accepts colons). Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
pv-adverb: Improve LD_AUDIT, LD_PRELOAD handling See merge request !350
-
- Aug 03, 2021
-
-
Ludovico de Nittis authored
This reverts commit f32f230a. Since the steam-runtime PR #439 the STEAM_COMPAT_FLAGS options are now a responsibility of run.sh Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Simon McVittie authored
This will allow pv-wrap to translate a host `LD_PRELOAD` item like `/usr/$LIB/libMangoHud.so` into a pair of `--ld-preload` options, each looking like `--ld-preload=/usr/lib32/libMangoHud.so:abi=i386-linux-gnu`. The only character that cannot appear in a `LD_PRELOAD` path entry is `:`, so we're free to use that as our representation for extra options. Instead of just appending the ABI tuple, use a key/value notation so we can extend later if we need to. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
At the moment the only way for this to get populated is when we guess it for gameoverlayrenderer.so, but a future commit will add a way to set it explicitly on the command-line. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This restructuring will let us add fields to the struct in future, in particular for architecture-specific modules. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
We only have two elements and we're iterating over them linearly. 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
pv-wrap: Generalize SHARED_LIBRARY_GUARD_CONFIG handling See merge request !349
-
Simon McVittie authored
PvRuntime: Factor out the list of supported architectures See merge request !348
-
Simon McVittie authored
We didn't handle the case where SHARED_LIBRARY_GUARD_CONFIG is already set to a custom value. It could conceivably also be in /usr or /lib*, which need the same remapping. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This avoids having two different tables of supported architectures: we can just add gameoverlayrenderer_dir to the table we already have. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
We can share this between PvRuntime and pv-adverb, which both want to know overlapping sets of details of known architectures. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Further preparation for !337 See merge request !347
-
Simon McVittie authored
We only need to do this once, and it's harmless to do this even if libshared-library-guard isn't even in use, so we might as well move it out of the loops. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
I think this makes it a bit clearer what's going on: we populate one list (currently a PreloadModule[]) from the command-line options, then translate it to form a second list (in -wrap it's a plain GPtrArray, in -adverb it's implicit in the environment variables we're setting). Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This provides some more design-for-test that we can use when unit-testing wrap-setup.c. Forwarded: https://github.com/flatpak/flatpak/pull/4352 Applied-upstream: 1.11.3, commit:c392e5ad Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Three nested loops with non-indicative iterator names are enough to get confusing, so let's index this array with an iterator with a meaningful name. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
launch: Show more explanatory message if Flatpak is using setuid bwrap See merge request !345
-
Simon McVittie authored
build: Separate most of pv-wrap into a convenience library See merge request !346
-
Simon McVittie authored
Equivalent to <https://github.com/flatpak/flatpak-xdg-utils/pull/54 > in flatpak-spawn. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This will test us add coverage for some of its code. 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
Use more glibc executables from provider when appropriate See merge request !344
-