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
This commit is contained in:
Adrian Torres 2018-08-25 13:29:13 +02:00 committed by Andrew Eikum
parent b0e4ddf8e3
commit f9b5a08495
2 changed files with 4 additions and 3 deletions

View File

@ -190,7 +190,8 @@ the Wine prefix. Removing the option will revert to the previous behavior.
| Compat config string | Environment Variable | Description |
| :-------------------- | :----------------------------- | :----------- |
| | <tt>PROTON_LOG</tt> | Convenience method for dumping a useful debug log to `$HOME/steam-$APPID.log`. For more thorough logging, use `user_settings.py`. |
| | <tt>PROTON_DUMP_DEBUG_COMMANDS</tt> | When running a game, Proton will write some useful debug scripts for that game into <tt>/tmp/proton_$USER/</tt>. |
| | <tt>PROTON_DUMP_DEBUG_COMMANDS</tt> | When running a game, Proton will write some useful debug scripts for that game into `$PROTON_DEBUG_DIR/proton_$USER/`. |
| | <tt>PROTON_DEBUG_DIR<tt> | Root directory for the Proton debug scripts, `/tmp` by default. |
| <tt>wined3d11</tt> | <tt>PROTON_USE_WINED3D11</tt> | Use OpenGL-based wined3d instead of Vulkan-based DXVK for d3d11. |
| <tt>nod3d11</tt> | <tt>PROTON_NO_D3D11</tt> | Disable <tt>d3d11.dll</tt>, for games which can fall back to and run better with d3d9. |
| <tt>noesync</tt> | <tt>PROTON_NO_ESYNC</tt> | Do not use eventfd-based in-process synchronization primitives. |

4
proton
View File

@ -388,7 +388,7 @@ def dump_dbg_env(f):
def dump_dbg_scripts():
exe_name = os.path.basename(sys.argv[2])
dir = "/tmp/proton_" + os.environ["USER"] + "/"
dir = env.get("PROTON_DEBUG_DIR", "/tmp") + "/proton_" + os.environ["USER"] + "/"
makedirs(dir)
with open(dir + "winedbg", "w") as f:
@ -469,7 +469,7 @@ def dump_dbg_scripts():
os.chmod(dir + "run", 0o755)
def run():
if "PROTON_DUMP_DEBUG_COMMANDS" in os.environ:
if "PROTON_DUMP_DEBUG_COMMANDS" in env:
try:
dump_dbg_scripts()
except: