proton: Add nowritewatch config option to disable write watch support

This commit is contained in:
Andrew Eikum 2020-06-01 11:09:41 -05:00
parent 78bd89369d
commit 9f614e83ce
2 changed files with 5 additions and 0 deletions

View file

@ -279,5 +279,6 @@ the Wine prefix. Removing the option will revert to the previous behavior.
| <tt>cmdlineappend:</tt>| | Append the string after the colon as an argument to the game command. May be specified more than once. Escape commas and backslashes with a backslash. | | <tt>cmdlineappend:</tt>| | Append the string after the colon as an argument to the game command. May be specified more than once. Escape commas and backslashes with a backslash. |
| <tt>d9vk</tt> | <tt>PROTON_USE_D9VK</tt> | **Note: Obsoleted in Proton 5.0.** In older versions, use Vulkan-based DXVK instead of OpenGL-based wined3d for d3d9. | | <tt>d9vk</tt> | <tt>PROTON_USE_D9VK</tt> | **Note: Obsoleted in Proton 5.0.** In older versions, use Vulkan-based DXVK instead of OpenGL-based wined3d for d3d9. |
| <tt>seccomp</tt> | <tt>PROTON_USE_SECCOMP</tt> | Enable seccomp-bpf filter to emulate native syscalls, required for some DRM protections to work. | | <tt>seccomp</tt> | <tt>PROTON_USE_SECCOMP</tt> | Enable seccomp-bpf filter to emulate native syscalls, required for some DRM protections to work. |
| <tt>nowritewatch</tt> | <tt>PROTON_NO_WRITE_WATCH</tt> | Disable support for memory write watches in ntdll. This improves performance for games that heavily use write watches, but can still work without them (e.g. CoreRT-based games). |
<!-- Target: GitHub Flavor Markdown. To test locally: pandoc -f markdown_github -t html README.md --> <!-- Target: GitHub Flavor Markdown. To test locally: pandoc -f markdown_github -t html README.md -->

4
proton
View file

@ -491,6 +491,7 @@ class Session:
self.check_environment("PROTON_FORCE_LARGE_ADDRESS_AWARE", "forcelgadd") self.check_environment("PROTON_FORCE_LARGE_ADDRESS_AWARE", "forcelgadd")
self.check_environment("PROTON_OLD_GL_STRING", "oldglstr") self.check_environment("PROTON_OLD_GL_STRING", "oldglstr")
self.check_environment("PROTON_USE_SECCOMP", "seccomp") self.check_environment("PROTON_USE_SECCOMP", "seccomp")
self.check_environment("PROTON_NO_WRITE_WATCH", "nowritewatch")
if "noesync" in self.compat_config: if "noesync" in self.compat_config:
self.env.pop("WINEESYNC", "") self.env.pop("WINEESYNC", "")
@ -505,6 +506,9 @@ class Session:
if "seccomp" in self.compat_config: if "seccomp" in self.compat_config:
self.env["WINESECCOMP"] = "1" self.env["WINESECCOMP"] = "1"
if "nowritewatch" in self.compat_config:
self.env["WINE_DISABLE_WRITE_WATCH"] = "1"
if "oldglstr" in self.compat_config: if "oldglstr" in self.compat_config:
#mesa override #mesa override
self.env["MESA_EXTENSION_MAX_YEAR"] = "2003" self.env["MESA_EXTENSION_MAX_YEAR"] = "2003"