From f2dfaf26a333df919605ac34eb1084050eef014e Mon Sep 17 00:00:00 2001 From: Wouter in 't Veld Date: Sat, 11 Apr 2026 15:27:05 +0200 Subject: [PATCH] proton: Disable DXVK d3d8 when wined3d is active PROTON_USE_WINED3D already disables DXVK for d3d11, d3d10, d3d9, and dxgi but not for d3d8. Since DXVK d3d8 depends on the d3d9 backend, leaving it enabled under wined3d causes crashes. Add the same 'not use_wined3d' guard that use_dxvk_dxgi already has. Fixes ValveSoftware/Proton#9453 --- README.md | 2 +- proton | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 37096af2ced..3e1033913e7 100644 --- a/README.md +++ b/README.md @@ -311,7 +311,7 @@ the Wine prefix. Removing the option will revert to the previous behavior. | | `PROTON_LOG_DIR` | Output log files into the directory specified. Defaults to your home directory. | | | `PROTON_WAIT_ATTACH` | Wait for a debugger to attach to steam.exe before launching the game process. To attach to the game process at startup, debuggers should be set to follow child processes. | | | `PROTON_CRASH_REPORT_DIR` | Write crash logs into this directory. Does not clean up old logs, so may eat all your disk space eventually. | -| `wined3d` | `PROTON_USE_WINED3D` | Use OpenGL-based wined3d instead of Vulkan-based DXVK for d3d11, d3d10, and d3d9. | +| `wined3d` | `PROTON_USE_WINED3D` | Use OpenGL-based wined3d instead of Vulkan-based DXVK for d3d11, d3d10, d3d9, and d3d8. | | `nod3d11` | `PROTON_NO_D3D11` | Disable `d3d11.dll`, for d3d11 games which can fall back to and run better with d3d9. | | `nod3d10` | `PROTON_NO_D3D10` | Disable `d3d10.dll` and `dxgi.dll`, for d3d10 games which can fall back to and run better with d3d9. | | `dxvkd3d8` | `PROTON_DXVK_D3D8` | Use DXVK's `d3d8.dll`. | diff --git a/proton b/proton index 7b07730c828..c07443a61a8 100755 --- a/proton +++ b/proton @@ -952,7 +952,7 @@ class CompatData: use_dxvk_dxgi = not use_wined3d and \ not ("WINEDLLOVERRIDES" in g_session.env and "dxgi=b" in g_session.env["WINEDLLOVERRIDES"]) use_nvapi = 'disablenvapi' not in g_session.compat_config or 'forcenvapi' in g_session.compat_config - use_dxvk_d3d8 = "dxvkd3d8" in g_session.compat_config + use_dxvk_d3d8 = not use_wined3d and "dxvkd3d8" in g_session.compat_config builtin_dll_copy = os.environ.get("PROTON_DLL_COPY", #dxsetup redist