From 9f614e83ce08438f5fa4709413b6b94e2c6adb48 Mon Sep 17 00:00:00 2001 From: Andrew Eikum Date: Mon, 1 Jun 2020 11:09:41 -0500 Subject: [PATCH] proton: Add nowritewatch config option to disable write watch support --- README.md | 1 + proton | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/README.md b/README.md index bcd3d312..5fb23d67 100644 --- a/README.md +++ b/README.md @@ -279,5 +279,6 @@ the Wine prefix. Removing the option will revert to the previous behavior. | cmdlineappend:| | 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. | | d9vk | PROTON_USE_D9VK | **Note: Obsoleted in Proton 5.0.** In older versions, use Vulkan-based DXVK instead of OpenGL-based wined3d for d3d9. | | seccomp | PROTON_USE_SECCOMP | Enable seccomp-bpf filter to emulate native syscalls, required for some DRM protections to work. | +| nowritewatch | PROTON_NO_WRITE_WATCH | 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). | diff --git a/proton b/proton index f39c2b15..81838204 100755 --- a/proton +++ b/proton @@ -491,6 +491,7 @@ class Session: self.check_environment("PROTON_FORCE_LARGE_ADDRESS_AWARE", "forcelgadd") self.check_environment("PROTON_OLD_GL_STRING", "oldglstr") self.check_environment("PROTON_USE_SECCOMP", "seccomp") + self.check_environment("PROTON_NO_WRITE_WATCH", "nowritewatch") if "noesync" in self.compat_config: self.env.pop("WINEESYNC", "") @@ -505,6 +506,9 @@ class Session: if "seccomp" in self.compat_config: self.env["WINESECCOMP"] = "1" + if "nowritewatch" in self.compat_config: + self.env["WINE_DISABLE_WRITE_WATCH"] = "1" + if "oldglstr" in self.compat_config: #mesa override self.env["MESA_EXTENSION_MAX_YEAR"] = "2003"