Skip to content
Snippets Groups Projects
Simon McVittie's avatar
Simon McVittie authored
Until now we've been conflating these two, but Timothee Besset recently
clarified their status for me.

~/.steam/steam is maintained by bin_steam.sh, aka /usr/bin/steam,
in which it is referred to as STEAMDATALINK. It is the data directory
containing user data (cloud-synced configuration and saves), the
download cache, and the default Steam Library directory.

~/.steam/root is maintained by steam.sh, in which it is referred to as
STEAMROOTLINK. It is the installation directory, containing Steam
executables and libraries.

As a result, they are normally the same, but can differ, in particular
in two situations:

* When testing a new Steam client build by running client/steam.sh,
  client/ gets used as the installation directory, in conjunction with
  the existing data directory pointed to by ~/.steam/steam. This avoids
  having to re-login or re-download your library of games for the new
  test installation.

* When Debian bug #916303 was present during the initial Steam
  installation, the Steam client was unpacked into ~/.steam, resulting
  in creation of ~/.steam/steam as a real directory that cannot be
  replaced with a symbolic link. We effectively ended up using
  ~/.steam as the installation path, but with ~/.steam/steam as the
  data path. (The Debian steam package has since been fixed, but we
  cannot easily disentangle existing installations.)

Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
41ac7a82
History

steam-runtime-tools — Steam Runtime integration for the Steam client

The steam-runtime-tools library provides low-level Unix-specific tools and functionality for the Steam client.

To support multiple architectures (currently only i386 and x86_64 are supported), you will need to build it once for each architecture and install at least the helper tools in /usr/libexec/steam-runtime-tools-0 (the libsteam-runtime-tools-0-helpers package) for every architecture in parallel.

The helper tools are located relative to the shared library, so it's OK to bundle steam-runtime-tools alongside some other stack in this layout:

anything/
    lib/
        x86_64-linux-gnu/
            libsteam-runtime-tools-0.so.0
    libexec/
        steam-runtime-tools-0/
            i386-linux-gnu-*
            x86_64-linux-gnu-*

as long as the program that is linked to libsteam-runtime-tools-0.so.0 can find it (via a RPATH or RUNPATH or by setting the LD_LIBRARY_PATH environment variable).