From 54fd1b76c978a8aa2bb0b4b3694c4ef0dc418bdb Mon Sep 17 00:00:00 2001 From: Simon McVittie <smcv@collabora.com> Date: Wed, 17 Jun 2020 15:55:31 +0100 Subject: [PATCH] README: Document how to replace libraries in a temporary sysroot Signed-off-by: Simon McVittie <smcv@collabora.com> --- README.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/README.md b/README.md index 5ad22fcad..14670054f 100644 --- a/README.md +++ b/README.md @@ -446,6 +446,32 @@ configured. The interactive shell's current working directory matches the game's. As with the xterm, run `"$@"` in the interactive shell to run the game. +* To get a modifiable copy of the runtime, use something like: + + mkdir -p $HOME/.steam/steam/steamapps/common/SteamLinuxRuntime/var + /opt/pressure-vessel/bin/pressure-vessel-unruntime \ + --runtime=$HOME/.steam/steam/steamapps/common/SteamLinuxRuntime/scout/files \ + --copy-runtime-into=$HOME/.steam/steam/steamapps/common/SteamLinuxRuntime/var \ + -- %command% + + You will find a temporary copy of the runtime in the directory you + chose, in this example something like + `.../SteamLinuxRuntime/var/tmp-1234567`. You can modify it in-place. + For example, if you want to replace `libdbus-1.so.3` with an + instrumented version, you can do something like this: + + cd .../SteamLinuxRuntime/var/tmp-1234567 + rm -f overrides/lib/x86_64-linux-gnu/libdbus-1.so.3* + rm -f usr/lib/x86_64-linux-gnu/libdbus-1.so.3* + cp --dereference ~/dbus/dbus/.libs/libdbus-1.so.3 \ + overrides/lib/x86_64-linux-gnu/libdbus-1.so.3 + + To avoid temporary copies building up forever, they will be deleted + *next* time you run a game in a container (assuming there is no longer + anything running in the previous container), unless you create a file + like `.../var/tmp-1234567/keep` to flag this root directory to be kept + for future reference. + ### More options Use `pressure-vessel-unruntime` or `pressure-vessel-unruntime-test-ui` -- GitLab