Commit Graph
129 Commits
Author SHA1 Message Date
Andrew Eikum 64f4d42c77 proton: Track prefix files and remove them on a major proton version change
This is to allow downgrading prefixes, for example if a user switches
from 3.16 to 3.7.
2018-10-12 08:30:19 -05:00
Andrew Eikum a84120449d Remove macOS support 2018-10-11 08:32:16 -05:00
Andrew Eikum 5286f43fda proton: Call python3 explicitly on Linux
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.
2018-08-29 09:24:41 -05:00
AsciiWolf 7081022403 proton: Fix typo 2018-08-27 08:57:09 -05:00
Adrian Torres f9b5a08495 Make debug scripts dump dir configurable
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
2018-08-27 08:56:06 -05:00
Andrew Eikum e7c4d12f8d proton: Fix byte string comparison 2018-08-24 13:48:57 -05:00
Andrew Eikum 088c88b745 Merge remote-tracking branch 'MayeulC/python3' into proton_3.7 2018-08-24 11:19:10 -05:00
Mayeul Cantan 0f80f2f52c Import print_function from __future__ for python compatibility
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.
2018-08-24 09:28:52 +02:00
Andrew Eikum fa8f06efaf proton: Move debug scripts to /tmp/proton_$USER/
To avoid conflicts between multiple Unix accounts.
2018-08-23 11:29:56 -05:00
Andrew Eikum 1b9d405d14 proton: Only dump debug scripts when requested 2018-08-23 11:29:54 -05:00
Andrew Eikum af9eb02401 proton: Dump some default logging if PROTON_LOG is set 2018-08-23 11:29:54 -05:00
Andrew Eikum 8dc036b298 proton: Drop WINEARCH from environment 2018-08-23 11:29:49 -05:00
Andrew Eikum 10012eee17 proton: Fix null deref 2018-08-23 09:43:12 -05:00
Andrew Eikum 4d127190a6 proton: Fix for broken 64-bit-only prefix shipped 20180822 2018-08-23 09:10:15 -05:00
Mayeul Cantan 9c3667c083 Make proton, gen_wrapper and user_settings python scripts version-agnostic 2018-08-23 14:24:39 +02:00
Sebastian Wick 2863402e9e move proton from python2.7 to python3 2018-08-23 12:05:35 +02:00
Seppo Yli-Olli 6f0a6f656d Sanitize hashbang 2018-08-22 16:50:20 +03:00
Andrew Eikum dea40ea0a8 Revert "proton: Use $USER instead of "steamuser""
This reverts commit 935875ceab.
2018-08-20 10:45:38 -05:00
Andrew Eikum 935875ceab proton: Use $USER instead of "steamuser" 2018-08-20 10:45:08 -05:00
Andrew Eikum 9cae619993 proton: Change waitforexit to waitforexitandrun 2018-08-08 08:01:55 -05:00
Andrew Eikum 17294f3b4a proton: Add waitforexit verb
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.
2018-08-06 08:12:01 -05:00
Andrew Eikum 1846fe4260 Copy default prefix into place even if files are already present there
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.
2018-07-20 09:48:32 -05:00
Andrew Eikum cf10d17310 proton: Handle errors in user_settings better 2018-07-12 11:16:45 -05:00
Andrew Eikum 39d80d114c copy openvr_api.dll into place for DXVK
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.
2018-07-12 11:16:45 -05:00
Andrew Eikum 81a56ba815 proton: Don't crash if we're missing SteamGameId 2018-06-27 08:17:11 -05:00