Skip to content
Snippets Groups Projects
Commit feca5d9b authored by Simon McVittie's avatar Simon McVittie
Browse files

Improve support for using a chroot as the runtime

parent ff58c1c7
No related branches found
No related tags found
No related merge requests found
......@@ -242,6 +242,16 @@ Instructions for testing
-C ~/.steam/steam/steamapps/common/SteamLinuxRuntime/scout_sdk/files/lib/debug/ \
-xzvf ~/com.valvesoftware.SteamRuntime.Sdk-amd64,i386-scout-debug.tar.gz
Or if you have a `chroot` environment with extra packages installed,
such as the `/var/chroots/steamrt_scout_amd64` generated by
[`setup_chroot.sh`][], you can use that by making `files` a symbolic
link to it:
$ rm -fr ~/.steam/root/common/SteamLinuxRuntime/scout-chroot
$ mkdir -p ~/.steam/root/common/SteamLinuxRuntime/scout-chroot
$ ln -s /var/chroots/steamrt_scout_amd64 \
~/.steam/root/common/SteamLinuxRuntime/scout-chroot/files
* Launch a game once without pressure-vessel
* Configure the launch options for the chosen game. Either use the Steam
......@@ -278,8 +288,8 @@ Instructions for testing
- Next to pressure-vessel's `bin` and `lib` directories
- The directory above pressure-vessel's `bin` and `lib` directories
Runtimes intended for the test UI must have a `files` subdirectory
and a `metadata` file, like Flatpak runtimes.
Runtimes intended for the test UI must have a `files` subdirectory,
like Flatpak runtimes.
You can also choose to use the host system `/usr` directly.
......@@ -327,6 +337,8 @@ the host system or the runtime, whichever appears to be newer. This
is currently hard-coded in `pressure-vessel-wrap` and cannot be
configured.
[`setup_chroot.sh`]: https://github.com/ValveSoftware/steam-runtime
### Debugging
* To see the filesystem in which the game is executing, get the process ID
......
......@@ -66,7 +66,7 @@ class Gui:
files = os.path.join(path, 'files')
metadata = os.path.join(path, 'metadata')
if os.path.isdir(files) and os.path.exists(metadata):
if os.path.isdir(files):
description = self._describe_runtime(path)
self.runtimes[path] = description
......@@ -155,6 +155,9 @@ class Gui:
files = os.path.join(path, 'files')
metadata = os.path.join(path, 'metadata')
if os.path.islink(files):
description = os.path.realpath(files)
if description.startswith(self.home + '/'):
description = '~' + description[len(self.home):]
......@@ -176,6 +179,8 @@ class Gui:
name = keyfile.get_string('Runtime', 'runtime')
except GLib.Error:
pass
else:
variant = name.split('.')[-1]
except GLib.Error:
pass
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment