- Jan 11, 2021
-
-
Ludovico de Nittis authored
Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Jan 08, 2021
-
-
Ludovico de Nittis authored
Further refactoring towards Flatpak sub-sandboxing support See merge request !213
-
Simon McVittie authored
This will reduce the diff in later commits that actually change logic, hopefully making them easier to review. Best reviewed with `git diff --ignore-space-change` or similar. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Instead of this pseudocode: bwrap += argv_in_container final_argv += bwrap if we do this: final_argv += bwrap final_argv += argv_in_container it will be easier to adapt to Flatpak sub-sandboxing, in which we never directly build up a bwrap command-line and so bwrap remains NULL. This means that in the case where we are escaping from a Flatpak sandbox to run commands on the host, we have to forward the fds from argv_in_container in addition to the fds from bwrap. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This refactoring will be helpful when running in Flatpak. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
We always need a mutable copy of the runtime when running in Flatpak, because we are unable to run bwrap to do container setup. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
If we are not using the --launcher, then there's no point in setting this up: they won't be used for anything anyway. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
In the case where we use Flatpak sub-sandboxing, we're not going to be building a bubblewrap command-line at all. Luckily, when we make use of a mutable sysroot, we don't need it. This requires splitting bind_runtime(), which consists of * a part that builds up the basic bwrap command-line and environment variables before setting up the graphics stack (now bind_runtime_base()) * setting up the graphics stack by either building a bwrap command-line or editing the mutable sysroot, and in either case setting environment variables (pv_runtime_use_provider_graphics_stack()) * a final part that sets the last few bwrap arguments and exports (bind_runtime_finish(), which can't currently fail) Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
pressure-vessel: Find PulseAudio socket even if no XDG_RUNTIME_DIR Closes #51 See merge request !212
-
- Jan 07, 2021
-
-
Simon McVittie authored
On systems with no XDG_RUNTIME_DIR, PulseAudio falls back to creating a temporary directory in /tmp, then creating a symlink in legacy directory ~/.pulse or its more modern replacement ~/.config/pulse. The symlink is named according to the machine ID, falling back to the hostname. Resolves: #51 Resolves: https://github.com/ValveSoftware/steam-runtime/issues/343 Forwarded: https://github.com/flatpak/flatpak/pull/4059 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Jan 06, 2021
-
-
Simon McVittie authored
Refactoring in preparation for Flatpak support See merge request !208
-
Simon McVittie authored
runtime: Do not always use a subdir for library paths that are just SONAMEs Closes #49 See merge request !211
-
Ludovico de Nittis authored
When we bind an ICD library, and the path is just a SONAME, it might happen that the library gets mounted to a subdirectory that is not on the search path. To avoid that, now we have an option to disable the usage of subdirs when the library path that we want to bind is just a base SONAME. Fixes: #49 Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Jan 05, 2021
-
-
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
Start to use the "info" log level See merge request !209
-
Ludovico de Nittis authored
Now that we have the ability to set the log level to "info", this commit promotes, from the debug level, all the messages that can be useful to have, for debugging purposes, but that are not too lousy. Over time, when we also gain more first hand experience with the issue reports that users provide, we can tweak the log messages even more. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
wrap: Log pressure-vessel version on startup See merge request !210
-
Simon McVittie authored
This serves two purposes: it gives us a timestamp for when pressure-vessel started, and it puts the version number in the log. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
Refactoring from Flatpak branch See merge request !207
-
Simon McVittie authored
This keeps track of environment variables' values and their locked status in one place. We build it up over time, and then serialize it into final_argv->envp. In particular, this is a step towards no longer storing anything in the variable named bwrap except for bubblewrap options, which will be a necessary piece of refactoring when we move to launching the game as a Flatpak sub-sandbox, without ever invoking bubblewrap ourselves. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
It's easier to be sure that we are not using this variable outside the expected range of lines if it's only declared within those lines. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
The environment variables we have built up in `bwrap` are appropriate for the container itself, but inappropriate for the environment in which we run pressure-vessel-launch to ask Flatpak on the host to run bwrap. Keep them more carefully separate. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
If we're going to run the -launcher, then argv[1...] are the arguments for -launcher, not an argv array in their own right. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This makes the boundary between things inside the container and things outside the container clearer, which will be valuable when we stop always invoking bwrap directly ourselves. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
We previously parsed this to decide whether we could use --unshare-uts, but we stopped doing that more than a year ago, in commit 210fbd8c. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This makes it a bit easier to reason about what we do and don't need. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
These are more similar than they are different. In a subsequent commit we'll change how this works, and re-indenting it here will make that more reviewable. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
In a Flatpak environment, we will not be allowed to create /overrides. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
We're using FlatpakBwrap as a convenient way to collect up a set of argv, envp and inherited file descriptors, but it isn't actually a bwrap command in all cases. Use a less misleading name. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
The reason we originally did this is that older versions of bwrap didn't support the GNU-style "--" argument separator, used to disambiguate between non-option arguments and strangely-named executables that happened to start with a minus. However, we now wrap our user-controlled "payload" command with pressure-vessel-adverb(1) in all cases, which means we don't need this. bwrap's first non-option argument is the absolute path to pressure-vessel-adverb, which definitely does not start with "-" and so cannot be confused with an option; and all of our own commands, notably pressure-vessel-adverb, use GOptionContext and therefore support the "--" option-separator correctly. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Only use the name wrapped_command when it is genuinely a command that we are wrapping. Use a new temporary FlatpakBwrap structure, launcher_argv, for the case where it just contains arguments for the launcher. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This makes it clearer where the various arguments are going. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Add an option to save the log to a file See merge request !201
-
Simon McVittie authored
graphics: Do not load JSON ICDs multiple times from the same dirs Closes #48 See merge request !205
-
Ludovico de Nittis authored
This is especially useful when we are logging to a file to keep track of when a specific operation happened. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-