Re: Packaging Valve's Proton
On Mon, 15 Oct 2018 at 12:45:35 -0400, Alexandre Viau wrote:
> On 2018-10-14 8:49 p.m., Paul Wise wrote:
> > [Proton] also seems to build-depend on a docker container, that would need
> > to be replaced with proper build dependencies.
> It dosen't really need that docker container. They involve Docker in
> their build system to ensure that the builds are done the right versions
> of the right libraries, and they also include proprietary steam runtime
> libraries that are not needed for a vanilla Proton build.
They might *also* be including proprietary Steam libraries, but in
general the term "Steam Runtime" refers to Steam Runtime v1 'scout', a
small Ubuntu derivative (based on Ubuntu 12.04 'precise') containing all
the open-source libraries you'd expect, used to give the Steam client and
Steam games a predictable baseline for library dependencies. Originally,
the script that launches the Steam client would preferentially use the
Steam Runtime libraries via LD_LIBRARY_PATH for everything, only using
host system libraries for things not in the Steam Runtime (notably
glibc and 3D drivers). It now uses either the host system or the Steam
Runtime (whichever appears newer) for each individual library, with a
The Docker container used to build official Proton binaries is probably
only there to make sure its dependencies are limited to the Steam Runtime.
For binaries that target Debian, we don't need to impose that constraint;
it can be free to target host system libraries, with dpkg-shlibdeps
ensuring that it has the right dependencies to support them.