Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ValveSoftware/Proton.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Bernon <rbernon@codeweavers.com>2020-04-02 21:42:41 +0300
committerAndrew Eikum <aeikum@codeweavers.com>2020-04-15 19:57:44 +0300
commit75ed8f6469ae519dda455fe2ee656253825c072c (patch)
treed2a362450fc8df45fd4faffd7d1e588b58948381
parentc0421aaccecea2802c4ffc0da1a2ae7a3386b762 (diff)
proton: Introduce seccomp runtime option.
This then sets the WINESECCOMP environment variable to enable seccomp filter for DOOM Eternal DRM (and others) without impacting other games.
-rw-r--r--README.md1
-rwxr-xr-xproton4
2 files changed, 5 insertions, 0 deletions
diff --git a/README.md b/README.md
index 004f5bfb..bcd3d312 100644
--- a/README.md
+++ b/README.md
@@ -278,5 +278,6 @@ the Wine prefix. Removing the option will revert to the previous behavior.
| | <tt>WINE_FULLSCREEN_INTEGER_SCALING</tt> | Enable integer scaling mode, to give sharp pixels when upscaling. |
| <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>seccomp</tt> | <tt>PROTON_USE_SECCOMP</tt> | Enable seccomp-bpf filter to emulate native syscalls, required for some DRM protections to work. |
<!-- Target: GitHub Flavor Markdown. To test locally: pandoc -f markdown_github -t html README.md -->
diff --git a/proton b/proton
index 1f32b490..d1b0e6a2 100755
--- a/proton
+++ b/proton
@@ -482,6 +482,7 @@ class Session:
self.check_environment("PROTON_NO_FSYNC", "nofsync")
self.check_environment("PROTON_FORCE_LARGE_ADDRESS_AWARE", "forcelgadd")
self.check_environment("PROTON_OLD_GL_STRING", "oldglstr")
+ self.check_environment("PROTON_USE_SECCOMP", "seccomp")
if not "noesync" in self.compat_config:
self.env["WINEESYNC"] = "1"
@@ -489,6 +490,9 @@ class Session:
if not "nofsync" in self.compat_config:
self.env["WINEFSYNC"] = "1"
+ if "seccomp" in self.compat_config:
+ self.env["WINESECCOMP"] = "1"
+
if "oldglstr" in self.compat_config:
#mesa override
self.env["MESA_EXTENSION_MAX_YEAR"] = "2003"