This reverts commits aef98f1e7df483ebc49acc7a8346c11bec2db8ed and f85b734f66606cd37ef74a3534fdeff4c9a55b3b.
The Steam Runtime is too old to build DXVK, so we have to continue
building it as a Windows DLL.
Frustratingly, Ubuntu ships no python binary by default, only python3,
so we can't just call python and expect it to work. This will fail on
distros that don't ship python3, but them's the breaks.
If PROTON_DUMP_DEBUG_COMMANDS is set, the directory where
the debug scripts will be dumped to can be defined with
the env variable / setting PROTON_DEBUG_DIR.
This commit also lets users set PROTON_DUMP_DEBUG_COMMANDS
in user_settings.py, which didn't work previously because
the variable was being fetched from os.environ instead of env.
Closes#511
This alters the behaviour of python2's print statement to be compatible
with python3's print function. While not strictly necessary for now,
this might help future compatibility.
Thanks to Seppo Yli-Olli (@nanonyme) for suggesting this.
The Steam client only sets critical environment variables for the game
process itself, not for getcompatpath etc. This verb lets the Steam
client wait for the prefix to shut down so it can restart the prefix
with the variables set.
Required to avoid duplicate controllers when controller config support
is enabled, for example.
Steam cloud sync places save files into pfx/ before proton is ever
invoked. Previously we would assume the prefix is valid if pfx/ exists
and run wine, which lead to very broken prefixes. Instead we should
check for files that cloud sync will never create (user.reg) and merge
the default prefix into any existing prefix tree.
DXVK needs to make some calls to openvr_api, but the game may not ship
it in a predictable location. So we provide a fallback called
openvr_api_dxvk.dll, which DXVK knows to load.