Experimenting with the Proton compatibility tool for Steam Play based on Wine and additional components for use with running Nintendo Switch games better on suyu and, as well as to test implementing in suyuOS more generally so it can become the ultimate gaming OS.
69942f9fc8
Doom II for example launches with a batch script. |
||
---|---|---|
dxvk@873deed4a3 | ||
dxvk.win32 | ||
dxvk.win64 | ||
freetype2@67a42aa887 | ||
glslang | ||
libjpeg-turbo@bf6c774305 | ||
libpng@b78804f9a2 | ||
lsteamclient | ||
openal-soft@ce6076091b | ||
SDL-mirror@14531cf0fc | ||
vrclient_x64 | ||
wine@c61a14925c | ||
.gitignore | ||
.gitmodules | ||
build_dxvk.sh | ||
build_proton.sh | ||
filelock.py | ||
LICENSE.lin | ||
LICENSE.osx | ||
proton | ||
README | ||
toolmanifest.vdf |
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. ---- 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