mirror of
https://github.com/ValveSoftware/Proton.git
synced 2024-12-28 23:55:52 +03:00
proton: Add PROTON_DXVK_D3D8 / dxvkd3d8.
This commit is contained in:
parent
9aa92b8b13
commit
8d7f593f9d
@ -291,6 +291,7 @@ the Wine prefix. Removing the option will revert to the previous behavior.
|
|||||||
| `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, and d3d9. |
|
||||||
| `nod3d11` | `PROTON_NO_D3D11` | Disable `d3d11.dll`, for d3d11 games which can fall back to and run better with d3d9. |
|
| `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. |
|
| `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`. |
|
||||||
| `noesync` | `PROTON_NO_ESYNC` | Do not use eventfd-based in-process synchronization primitives. |
|
| `noesync` | `PROTON_NO_ESYNC` | Do not use eventfd-based in-process synchronization primitives. |
|
||||||
| `nofsync` | `PROTON_NO_FSYNC` | Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no `FUTEX_WAIT_MULTIPLE` support.) |
|
| `nofsync` | `PROTON_NO_FSYNC` | Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no `FUTEX_WAIT_MULTIPLE` support.) |
|
||||||
| `noxim` | `PROTON_NO_XIM` | Enabled by default. Do not attempt to use XIM (X Input Methods) support. XIM support is known to cause crashes with libx11 older than version 1.7. |
|
| `noxim` | `PROTON_NO_XIM` | Enabled by default. Do not attempt to use XIM (X Input Methods) support. XIM support is known to cause crashes with libx11 older than version 1.7. |
|
||||||
|
10
proton
10
proton
@ -38,7 +38,7 @@ from random import randrange
|
|||||||
#To enable debug logging, copy "user_settings.sample.py" to "user_settings.py"
|
#To enable debug logging, copy "user_settings.sample.py" to "user_settings.py"
|
||||||
#and edit it if needed.
|
#and edit it if needed.
|
||||||
|
|
||||||
CURRENT_PREFIX_VERSION="9.0-200"
|
CURRENT_PREFIX_VERSION="9.0-203"
|
||||||
|
|
||||||
PFX="Proton: "
|
PFX="Proton: "
|
||||||
ld_path_var = "LD_LIBRARY_PATH"
|
ld_path_var = "LD_LIBRARY_PATH"
|
||||||
@ -803,6 +803,7 @@ class CompatData:
|
|||||||
use_dxvk_dxgi = not use_wined3d and \
|
use_dxvk_dxgi = not use_wined3d and \
|
||||||
not ("WINEDLLOVERRIDES" in g_session.env and "dxgi=b" in g_session.env["WINEDLLOVERRIDES"])
|
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_nvapi = 'disablenvapi' not in g_session.compat_config or 'forcenvapi' in g_session.compat_config
|
||||||
|
use_dxvk_d3d8 = "dxvkd3d8" in g_session.compat_config
|
||||||
|
|
||||||
builtin_dll_copy = os.environ.get("PROTON_DLL_COPY",
|
builtin_dll_copy = os.environ.get("PROTON_DLL_COPY",
|
||||||
#dxsetup redist
|
#dxsetup redist
|
||||||
@ -853,6 +854,7 @@ class CompatData:
|
|||||||
str(use_dxvk_dxgi),
|
str(use_dxvk_dxgi),
|
||||||
builtin_dll_copy,
|
builtin_dll_copy,
|
||||||
str(use_nvapi),
|
str(use_nvapi),
|
||||||
|
str(use_dxvk_d3d8),
|
||||||
))
|
))
|
||||||
|
|
||||||
# check whether any prefix config has changed
|
# check whether any prefix config has changed
|
||||||
@ -937,6 +939,11 @@ class CompatData:
|
|||||||
else:
|
else:
|
||||||
wined3dfiles.append("dxgi")
|
wined3dfiles.append("dxgi")
|
||||||
|
|
||||||
|
if use_dxvk_d3d8:
|
||||||
|
dxvkfiles.append("d3d8")
|
||||||
|
else:
|
||||||
|
wined3dfiles.append("d3d8")
|
||||||
|
|
||||||
for f in wined3dfiles:
|
for f in wined3dfiles:
|
||||||
try_copy(g_proton.default_pfx_dir + "drive_c/windows/system32/" + f + ".dll", "drive_c/windows/system32",
|
try_copy(g_proton.default_pfx_dir + "drive_c/windows/system32/" + f + ".dll", "drive_c/windows/system32",
|
||||||
prefix=self.prefix_dir, track_file=tracked_files, link_debug=True)
|
prefix=self.prefix_dir, track_file=tracked_files, link_debug=True)
|
||||||
@ -1348,6 +1355,7 @@ class Session:
|
|||||||
|
|
||||||
if not self.check_environment("PROTON_USE_WINED3D", "wined3d"):
|
if not self.check_environment("PROTON_USE_WINED3D", "wined3d"):
|
||||||
self.check_environment("PROTON_USE_WINED3D11", "wined3d")
|
self.check_environment("PROTON_USE_WINED3D11", "wined3d")
|
||||||
|
self.check_environment("PROTON_DXVK_D3D8", "dxvkd3d8")
|
||||||
self.check_environment("PROTON_NO_D3D11", "nod3d11")
|
self.check_environment("PROTON_NO_D3D11", "nod3d11")
|
||||||
self.check_environment("PROTON_NO_D3D10", "nod3d10")
|
self.check_environment("PROTON_NO_D3D10", "nod3d10")
|
||||||
self.check_environment("PROTON_NO_ESYNC", "noesync")
|
self.check_environment("PROTON_NO_ESYNC", "noesync")
|
||||||
|
Loading…
Reference in New Issue
Block a user