Proton/README
2018-03-30 10:40:09 -05:00

60 lines
2.6 KiB
Plaintext

Proton is a tool for use with the Steam client which allows games which are
exclusive to Windows to run on Linux and macOS operating systems. It uses Wine
to facilitate this.
To build Proton for Linux, set up a Debian machine with the Steam chroots as
documented in the Steam Runtime repository:
https://github.com/ValveSoftware/steam-runtime
You should then be able to build Proton using the "build_proton.sh" script.
Some package installation will be necessary, for example the mingw-w64 cross
compiler will be needed, as well as various runtime libraries such as Vulkan.
Examine the output near the end of build/wine.win{64,32}/config.log to ensure
you have all of the relevant libraries installed in each chroot.
TODO: Better document setting up the build machine.
To build Proton for macOS, install the latest Xcode command line tools, as
well as cmake (for openal-soft) and a recent nasm (for libjpeg-turbo). You can
use a packager like Homebrew to find these packages. Then run
"build_proton.sh".
Once built, the dist/ directory will contain the files which can be distributed
through Steam. For testing purposes, you should be able to clear out the files
in your steamapps/common/Proton directory and replace them with the contents of
dist/. The proton script will unpack the files on first run.
NOTE: For now, dxvk requires build-time components that are too new for Debian
9. It's recommended to build the DLLs on Arch Linux, where dxvk is actively
being developed. This may be resolved in dxvk in the future, or may be worked
around by using a newer Debian release. See comments in build_proton.sh.
Each component of this software is used under the terms of their licenses.
See the LICENSE files here, as well as the LICENSE, COPYING, etc files in each
submodule and directory for details.
----
RUNTIME CONFIG OPTIONS
----
Proton can be tuned at runtime to help certain games run. The runtime
configuration options are documented here. Options can either be defined in a
comma-separated list stored in the STEAM_COMPAT_CONFIG environment variable
when running Proton (the Steam client does this), or passed through the
presence of individual environment variables as documented below.
All of the below are runtime options. They do not effect permanent changes to
the Wine prefix. Removing the option will revert to the previous behavior.
----
Run game with DXVK instead of wined3d.
Compat config string: dxvk
Environment variable: PROTON_USE_DXVK
----
Disable d3d11.dll, for games which can fall back to and run better with d3d9.
Compat config string: nod3d11
Environment variable: PROTON_NO_D3D11