Skip to content
EntityQ60982120· pop 21· linked from 151 articles

compatibility layer for running Windows games on Linux

Source code

Proton is a tool for use with the Steam client which allows games which are exclusive to Windows to run on the Linux operating system. It uses Wine to facilitate this. Most users should use Proton provided by the Steam Client itself. See [this Steam Community post][steam-play-introduction] for more details. The source code is provided to enable advanced users the ability to alter Proton. For example, some users may wish to use a different version of Wine with a particular title. Acquire Proton's source by cloning and checking out the branch you desire. Most of Proton builds inside the Proton SDK container with very few dependencies on the host side. You need either a Docker or a Podman setup which Proton's build system uses internally. You should never need to use either container engine manually unless working on those parts of build system directly. We highly recommend [the rootless Podman setup][rootless-podman]. Please refer to your distribution's documentation for setup instructions (e.g. Arch [Podman][arch-podman] / [Docker][arch-docker], Debian [Podman][debian-podman] / [Docker][debian-docker]). We provide a top-level Makefile which will execute most of the build commands for you. If your build system is missing dependencies, it will fail quickly with a clear error message. After the build finishes, you may need to restart the Steam client to see the new Proton tool. The tool's name in the Steam client will be based on the currently checked out branch of Proton. You can override this name using the build name variable. Running configure.sh will create a Makefile allowing you to build Proton. The scripts checks if containers are functional and prompt you if any host-side dependencies are missing. You should run the command from a directory created specifically for your build. The configuration script tries to discover a working Docker or Podman setup to use, but you can force a compatible engine with --container-engine= . You can enable ccache with --enable-cache flag. This will mount your $CCACHE DIR or $HOME/.ccache inside the container. NOTE: If SELinux is in use, the Proton build container may fail to access your user's files. This is caused by [SELinux's filesystem labels][selinux-labels]. You may pass the --relabel-volumes switch to configure to cause the [container engine to relabel its bind-mounts][bind-mounts] and allow access to those files from within the container. This can be dangerous when used with system directories. Proceed with caution and refer your container engine's manual. make install - install Proton into your user's Steam directory, see the install Proton locally section for details. make module= module - build both 32- and 64-bit versions of the specified wine module. This allows rapid iteration on one module. This target is only useful after building Proton. Proton build system invokes builds of many subprojects in parallel. If one subprojects fails there can be thousands of lines printed by other sub-builds before the top level exits. This can make the real reason of the build failing hard to find. To prevent symbol stripping add UNSTRIPPED BUILD=1 to the make invocation. This should be used only with a clean build directory. You need an ARM64 build machine and pass --target-arch=arm64 to configure.sh . It's not possible to use the resulting builds in x86 Steam running via FEX. Steam ships with several versions of Proton, which games will use by default or that you can select in Steam Settings' Steam Play page. Steam also supports running games with local builds of Proton, which you can install on your machine. To install a local build of Proton into Steam, make a new directory in ~/.steam/root/compatibilitytools.d/ with a tool name of your choosing and place the directory containing your redistributable build under that path. The make install target will perform this task for you, installing the Proton build into the Steam folder for the current user. You will have to re

Excerpt from the source-code README · 16,828 chars · not written by Vinony

Wikidata facts

Show 4 more facts
software version identifier
10.0-4
publication date
2018-08-21
source code repository URL
github.com/ValveSoftware/Proton
Sources (7)

via Wikidata · CC0

Connections

Categories