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.
This commit is contained in:
Rémi Bernon 2020-04-02 20:42:41 +02:00 committed by Andrew Eikum
parent c0421aacce
commit 75ed8f6469
2 changed files with 5 additions and 0 deletions

View file

@ -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 -->

4
proton
View file

@ -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"