Skip to content
Snippets Groups Projects
  1. Nov 30, 2020
  2. Sep 09, 2020
  3. Sep 02, 2020
    • Ludovico de Nittis's avatar
      Initial support for custom graphics provider path and Flatpak · d7ad67a2
      Ludovico de Nittis authored
      
      pressure-vessel had a few hard coded assumptions about the host system
      and where to look at for the graphics provider.
      
      For example it was assumed that the root was the same host system used
      by both pressure-vessel current environment (where pressure-vessel-wrap
      runs) and also later on by `bwrap`.
      
      But when we run pressure-vessel in a Flatpak container, the final
      `bwrap` command is expected to be executed against the real host system
      (mounted in `/run/host`, in Flatpak).
      
      Also when we are in a Flatpak container we might want to pick the
      graphics stack from the host system (`/run/host`), from the Flatpak
      container itself or it could even be a completely separate one.
      (T22373, T22371)
      
      Signed-off-by: default avatarLudovico de Nittis <ludovico.denittis@collabora.com>
      d7ad67a2
  4. Jun 23, 2020
  5. Apr 08, 2020
    • Simon McVittie's avatar
      wrap: Add the ability to unshare the pid namespace · feb948ed
      Simon McVittie authored
      This improves isolation between the host system and the game, and can
      be used in conjunction with bwrap's init/reaper process to make game
      termination fully reliable (unlike subreapers, killing the init process
      automatically kills the entire pid namespace).
      
      One major down-side of doing this is that if the game uses
      process-ID-oriented APIs, for example older versions of
      <https://github.com/FeralInteractive/gamemode
      
      >, then they will not
      work, because the process ID inside the container is not the same as
      the process ID outside the container.
      
      Unfortunately, Steam's own tracking of the processes that belong to a game
      is one of the process-ID-oriented APIs that this harms, so this branch
      does not unshare the pid namespace by default, only when requested. We
      can use this to test whether it can be done without breaking Steam;
      We will probably need to cope with separate pid namespaces if we create
      new containers from inside a Flatpak environment.
      
      Also add an option to unload the gameoverlayrenderer.so module, which
      is not acceptable for production use, but at least works around this
      well enough to unblock further testing.
      
      Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
      feb948ed
  6. Apr 06, 2020
  7. Apr 03, 2020
    • Simon McVittie's avatar
      scripts: Assert that we have the desired Python version · b4f85647
      Simon McVittie authored
      
      In Steam Runtime 1 'scout' and Steam Runtime 1½ 'heavy' SDK
      environments, we have a backport of python3.5 in order to run Meson,
      and meson.build automatically selects it if available.
      
      In newer environments like a developer's laptop, we expect to have a
      strictly newer Python version, like the python3.7 in Debian 10.
      
      One notable exception is that we only require Python 3.4+ for scripts
      that are meant to run on test machines or on non-developer Steam users'
      systems, which right now just means the test UI. This version was chosen
      because SteamOS 2 'brewmaster' and Ubuntu 14.04 'trusty' both have 3.4.
      
      Ubuntu 12.04 'precise' only has 3.2, but the Steam client doesn't
      actually work on 12.04 any more for orthogonal reasons.
      
      Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
      b4f85647
  8. Mar 04, 2020
  9. Feb 25, 2020
  10. Feb 17, 2020
  11. Sep 17, 2019
  12. Aug 23, 2019
  13. Aug 20, 2019
  14. Aug 16, 2019
  15. Aug 15, 2019
  16. Aug 01, 2019
  17. Jul 23, 2019
  18. May 10, 2019
  19. May 03, 2019
    • Simon McVittie's avatar
      Add an experimental UI to launch games with pressure-vessel · f7fd019c
      Simon McVittie authored
      
      Instead of setting the game's launch options every time, you can
      configure them once, with:
      
          env PRESSURE_VESSEL_WRAP_GUI=1 .../bin/pressure-vessel-unruntime -- %command%
      
      and then use the launcher. It is currently hard-coded to look for
      runtimes in ../scout and ../spy relative to its own executable, so
      you'll want a directory structure like this:
      
          pressure-vessel-0.x
              bin/
                  pressure-vessel-test-ui
                  pressure-vessel-unruntime
                  ...
              lib/
                  i386-linux-gnu/
                      ...
                  x86_64-linux-gnu/
                      ...
              scout/
                  files/
                      ...
              spy/
                  files/
                      ...
      
      Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
      f7fd019c
Loading