

This allows rapid iteration on one module. Make module= module - build both 32- and 64-bit versions of the specified wine module. This is what we use to deploy Proton to Steam users via Steamworks.

Make deploy - create a deployment build ( deploy/). Make redist - create a redistribute build ( redist/) that can be copied to ~/.steam/root/compatibilitytools.d/. Make install - install Proton into your user's Steam directory, see the install Proton locally section for details. Proceed with caution and refer your container engine's manual. This can be dangerous when used with system directories. You may pass the -relabel-volumes switch to configure to cause the container engine to relabel its bind-mounts and allow access to those files from within the container. This is caused by SELinux's filesystem labels. NOTE: If SELinux is in use, the Proton build container may fail to access your user's files. proton-sdk-image=/proton/soldier/sdk: can be used to build with a custom version of the Proton SDK images.Ĭheck -help for other configuration options. This will mount your $CCACHE_DIR or $HOME/.ccache inside the container. You can enable ccache with -enable-cache flag. The build by default uses Docker, but you can switch to another, compatible engine with -container-engine=. You should run the command from a directory created specifically for your build. The scripts checks if containers are functional and prompt you if any host-side dependencies are missing. Running configure.sh will create a Makefile allowing you to build Proton. proton/configure.sh -container-engine=podman -enable-ccache -build-name=my_build Arch Podman / Docker, Debian Podman / Docker).

Please refer to your distribution's docummentation for setup instructions (e.g. We highly recommend the rootless Podman setup. You need either a Docker or a Podman setup. Building with Podman or Docker Preparing the build environment The Vagrant VM is easier to set up but comes with higher overhead, which makes it more suitable for an occassional Proton build.

The direct container build is recommended for people building Proton on a regular basis as it is faster and less resource hungry. For convenience we also provide Vagrant scripts that will create a VM with all the dependencies and a working container runtime and build Proton inside it. Most of Proton builds inside the Proton SDK container with very few dependencies on the host side. For example, if you wish to make changes to Wine, you would apply them to the wine/ directory. If you want to change any subcomponent, now is the time to do so.
