Skip to content

launch-options: Improve handling of steam-launch-wrapper and reaper

Simon McVittie requested to merge wip/smcv/launch-options into main
  • launch-options: Generalize handling of steam-launch-wrapper and reaper

    They were already treated as functionally equivalent. Formalize that by turning them into an ordered list of essentially arbitrary "adverb" wrappers.

    The functional change here is that previously, we would only have recognised the nesting used in practice by Steam, where %command% expands to:

      reaper ... -- steam-launch-wrapper ... -- [compat-tools --] game

    but now we recognise, and preserve, the opposite order, which is preferable if steam-launch-wrapper starts putting its contents into a systemd cgroup:

      steam-launch-wrapper ... -- reaper ... -- [compat-tools --] game

    steamrt/tasks#266

  • launch-options: Switch into correct LDLP runtime before launch adverbs

    It's reasonable for steam-launch-wrapper to want to adjust the PATH or LD_LIBRARY_PATH that were provided by the LDLP runtime, for example for steamrt/tasks#489. That won't work if we immediately overwrite them by switching into a different LDLP runtime.

    This also means that while testing a non-default LDLP runtime, we'll use the runtime under test (and not the LDLP runtime that Steam is using, if different) to run the steam-launch-wrapper and reaper.

  • launch-options: Always switch to a non-default LDLP runtime if selected

    If we're using a pressure-vessel-based container framework, it's potentially still desirable to switch to a LDLP runtime under test. This affects the execution environment for the reaper, the steam-launch-wrapper, and pressure-vessel-unruntime (although we expect that its effect is undone by pressure-vessel-unruntime).

Merge request reports