59 lines
2.6 KiB
Text
59 lines
2.6 KiB
Text
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
|