From 7d444028c3944f30a9adf63a91fddf086b9d0016 Mon Sep 17 00:00:00 2001 From: Andrew Eikum Date: Tue, 14 Jul 2020 09:41:56 -0500 Subject: [PATCH] update wine to 5.13 --- README.md | 4 ++-- build/makefile_base.mak | 18 ++++++++++-------- lsteamclient/steamclient_main.c | 12 ++++++------ proton | 6 +----- vrclient_x64/vrclient_x64/vrclient_main.c | 6 +++--- wine | 2 +- 6 files changed, 23 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index bd234e76..7dcabdda 100644 --- a/README.md +++ b/README.md @@ -278,8 +278,8 @@ the Wine prefix. Removing the option will revert to the previous behavior. | vkd3dfl12 | | Force the Direct3D 12 feature level to 12, regardless of driver support. | | | WINE_FULLSCREEN_INTEGER_SCALING | Enable integer scaling mode, to give sharp pixels when upscaling. | | 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 is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | +| seccomp | PROTON_USE_SECCOMP | **Note: Obsoleted in Proton 5.13.** In older versions, enable seccomp-bpf filter to emulate native syscalls, required for some DRM protections to work. | +| d9vk | PROTON_USE_D9VK | **Note: Obsoleted in Proton 5.0.** In older versions, use Vulkan-based DXVK instead of OpenGL-based wined3d for d3d9. | diff --git a/build/makefile_base.mak b/build/makefile_base.mak index eae76357..5ef643ca 100644 --- a/build/makefile_base.mak +++ b/build/makefile_base.mak @@ -189,8 +189,8 @@ GECKO_VER := 2.47.1 GECKO32_TARBALL := wine-gecko-$(GECKO_VER)-x86.tar.bz2 GECKO64_TARBALL := wine-gecko-$(GECKO_VER)-x86_64.tar.bz2 -WINEMONO_VER := 4.9.4 -WINEMONO_TARBALL := wine-mono-bin-$(WINEMONO_VER).tar.gz +WINEMONO_VER := 5.1.0 +WINEMONO_TARBALL := wine-mono-$(WINEMONO_VER)-x86.tar.xz FFMPEG := $(SRCDIR)/ffmpeg FFMPEG_OBJ32 := ./obj-ffmpeg32 @@ -1054,7 +1054,7 @@ $(LSTEAMCLIENT_CONFIGURE_FILES64): $(LSTEAMCLIENT64) $(MAKEFILE_DEP) | $(LSTEAMC cp ../$(LSTEAMCLIENT64)/Makefile . && \ echo >> ./Makefile 'SRCDIR := ../$(LSTEAMCLIENT64)' && \ echo >> ./Makefile 'vpath % $$(SRCDIR)' && \ - echo >> ./Makefile 'lsteamclient_dll_LDFLAGS := $$(patsubst %.spec,$$(SRCDIR)/%.spec,$$(lsteamclient_dll_LDFLAGS))' + echo >> ./Makefile 'lsteamclient_dll_LDFLAGS := -ldl $$(patsubst %.spec,$$(SRCDIR)/%.spec,$$(lsteamclient_dll_LDFLAGS))' # 32-bit configure $(LSTEAMCLIENT_CONFIGURE_FILES32): SHELL = $(CONTAINER_SHELL32) @@ -1073,7 +1073,7 @@ $(LSTEAMCLIENT_CONFIGURE_FILES32): $(LSTEAMCLIENT32) $(MAKEFILE_DEP) | $(LSTEAMC cp ../$(LSTEAMCLIENT32)/Makefile . && \ echo >> ./Makefile 'SRCDIR := ../$(LSTEAMCLIENT32)' && \ echo >> ./Makefile 'vpath % $$(SRCDIR)' && \ - echo >> ./Makefile 'lsteamclient_dll_LDFLAGS := -m32 $$(patsubst %.spec,$$(SRCDIR)/%.spec,$$(lsteamclient_dll_LDFLAGS))' + echo >> ./Makefile 'lsteamclient_dll_LDFLAGS := -ldl -m32 $$(patsubst %.spec,$$(SRCDIR)/%.spec,$$(lsteamclient_dll_LDFLAGS))' ## lsteamclient goals LSTEAMCLIENT_TARGETS = lsteamclient lsteamclient_configure lsteamclient32 lsteamclient64 lsteamclient_configure32 lsteamclient_configure64 @@ -1198,7 +1198,8 @@ $(WINE_CONFIGURE_FILES64): $(MAKEFILE_DEP) | faudio64 gst_base64 $(WINE_OBJ64) PKG_CONFIG_PATH=$(abspath $(TOOLS_DIR64))/lib/pkgconfig \ LD_LIBRARY_PATH=$(abspath $(TOOLS_DIR64))/lib \ CC=$(CC_QUOTED) \ - CXX=$(CXX_QUOTED) + CXX=$(CXX_QUOTED) \ + CROSSDEBUG=split-dwarf # 32-bit configure $(WINE_CONFIGURE_FILES32): SHELL = $(CONTAINER_SHELL32) @@ -1216,7 +1217,8 @@ $(WINE_CONFIGURE_FILES32): $(MAKEFILE_DEP) | faudio32 gst_base32 $(WINE_OBJ32) LD_LIBRARY_PATH=$(abspath $(TOOLS_DIR32))/lib \ CC=$(CC_QUOTED) \ CXX=$(CXX_QUOTED) \ - PKG_CONFIG="$(PKG_CONFIG32)" + PKG_CONFIG="$(PKG_CONFIG32)" \ + CROSSDEBUG=split-dwarf ## wine goals WINE_TARGETS = wine wine_configure wine32 wine64 wine_configure32 wine_configure64 @@ -1301,7 +1303,7 @@ $(VRCLIENT_CONFIGURE_FILES64): $(MAKEFILE_DEP) $(VRCLIENT) $(VRCLIENT)/vrclient_ cp ./vrclient_x64/Makefile $(abspath $(dir $@)) && \ echo >> $(abspath $(dir $@))/Makefile 'SRCDIR := ../$(VRCLIENT)/vrclient_x64' && \ echo >> $(abspath $(dir $@))/Makefile 'vpath % $$(SRCDIR)' && \ - echo >> $(abspath $(dir $@))/Makefile 'vrclient_x64_dll_LDFLAGS := $$(patsubst %.spec,$$(SRCDIR)/%.spec,$$(vrclient_x64_dll_LDFLAGS))' + echo >> $(abspath $(dir $@))/Makefile 'vrclient_x64_dll_LDFLAGS := -ldl $$(patsubst %.spec,$$(SRCDIR)/%.spec,$$(vrclient_x64_dll_LDFLAGS))' # 32-bit configure $(VRCLIENT_CONFIGURE_FILES32): SHELL = $(CONTAINER_SHELL32) @@ -1318,7 +1320,7 @@ $(VRCLIENT_CONFIGURE_FILES32): $(MAKEFILE_DEP) $(VRCLIENT32) | $(VRCLIENT_OBJ32) cp $(VRCLIENT32)/vrclient/Makefile $(dir $@) && \ echo >> $(dir $@)/Makefile 'SRCDIR := ../$(VRCLIENT32)/vrclient' && \ echo >> $(dir $@)/Makefile 'vpath % $$(SRCDIR)' && \ - echo >> $(dir $@)/Makefile 'vrclient_dll_LDFLAGS := -m32 $$(patsubst %.spec,$$(SRCDIR)/%.spec,$$(vrclient_dll_LDFLAGS))' + echo >> $(dir $@)/Makefile 'vrclient_dll_LDFLAGS := -ldl -m32 $$(patsubst %.spec,$$(SRCDIR)/%.spec,$$(vrclient_dll_LDFLAGS))' ## vrclient goals diff --git a/lsteamclient/steamclient_main.c b/lsteamclient/steamclient_main.c index 1322eaa0..9ff979af 100644 --- a/lsteamclient/steamclient_main.c +++ b/lsteamclient/steamclient_main.c @@ -475,37 +475,37 @@ static int load_steamclient(void) path[PATH_MAX - 1] = 0; } #endif - steamclient_lib = wine_dlopen(path, RTLD_NOW, NULL, 0); + steamclient_lib = dlopen(path, RTLD_NOW); if(!steamclient_lib){ ERR("unable to load native steamclient library\n"); return 0; } - steamclient_CreateInterface = wine_dlsym(steamclient_lib, "CreateInterface", NULL, 0); + steamclient_CreateInterface = dlsym(steamclient_lib, "CreateInterface"); if(!steamclient_CreateInterface){ ERR("unable to load CreateInterface method\n"); return 0; } - steamclient_BGetCallback = wine_dlsym(steamclient_lib, "Steam_BGetCallback", NULL, 0); + steamclient_BGetCallback = dlsym(steamclient_lib, "Steam_BGetCallback"); if(!steamclient_BGetCallback){ ERR("unable to load BGetCallback method\n"); return 0; } - steamclient_GetAPICallResult = wine_dlsym(steamclient_lib, "Steam_GetAPICallResult", NULL, 0); + steamclient_GetAPICallResult = dlsym(steamclient_lib, "Steam_GetAPICallResult"); if(!steamclient_GetAPICallResult){ ERR("unable to load GetAPICallResult method\n"); return 0; } - steamclient_FreeLastCallback = wine_dlsym(steamclient_lib, "Steam_FreeLastCallback", NULL, 0); + steamclient_FreeLastCallback = dlsym(steamclient_lib, "Steam_FreeLastCallback"); if(!steamclient_FreeLastCallback){ ERR("unable to load FreeLastCallback method\n"); return 0; } - steamclient_ReleaseThreadLocalMemory = wine_dlsym(steamclient_lib, "Steam_ReleaseThreadLocalMemory", NULL, 0); + steamclient_ReleaseThreadLocalMemory = dlsym(steamclient_lib, "Steam_ReleaseThreadLocalMemory"); if(!steamclient_ReleaseThreadLocalMemory){ ERR("unable to load ReleaseThreadLocalMemory method\n"); return 0; diff --git a/proton b/proton index 14c83d27..e7435650 100755 --- a/proton +++ b/proton @@ -18,7 +18,7 @@ from filelock import FileLock #To enable debug logging, copy "user_settings.sample.py" to "user_settings.py" #and edit it if needed. -CURRENT_PREFIX_VERSION="5.0-1" +CURRENT_PREFIX_VERSION="5.13-1" PFX="Proton: " ld_path_var = "LD_LIBRARY_PATH" @@ -495,7 +495,6 @@ 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") self.check_environment("PROTON_NO_WRITE_WATCH", "nowritewatch") if "noesync" in self.compat_config: @@ -508,9 +507,6 @@ class Session: else: self.env["WINEFSYNC"] = "1" - if "seccomp" in self.compat_config: - self.env["WINESECCOMP"] = "1" - if "nowritewatch" in self.compat_config: self.env["WINE_DISABLE_WRITE_WATCH"] = "1" diff --git a/vrclient_x64/vrclient_x64/vrclient_main.c b/vrclient_x64/vrclient_x64/vrclient_main.c index ea8e375e..03484898 100644 --- a/vrclient_x64/vrclient_x64/vrclient_main.c +++ b/vrclient_x64/vrclient_x64/vrclient_main.c @@ -258,19 +258,19 @@ static int load_vrclient(void) TRACE("got openvr runtime path: %s\n", pathU); - vrclient_lib = wine_dlopen(pathU, RTLD_NOW, NULL, 0); + vrclient_lib = dlopen(pathU, RTLD_NOW); if(!vrclient_lib){ TRACE("unable to load vrclient.so\n"); return 0; } - vrclient_HmdSystemFactory = wine_dlsym(vrclient_lib, "HmdSystemFactory", NULL, 0); + vrclient_HmdSystemFactory = dlsym(vrclient_lib, "HmdSystemFactory"); if(!vrclient_HmdSystemFactory){ ERR("unable to load HmdSystemFactory method\n"); return 0; } - vrclient_VRClientCoreFactory = wine_dlsym(vrclient_lib, "VRClientCoreFactory", NULL, 0); + vrclient_VRClientCoreFactory = dlsym(vrclient_lib, "VRClientCoreFactory"); if(!vrclient_VRClientCoreFactory){ ERR("unable to load VRClientCoreFactory method\n"); return 0; diff --git a/wine b/wine index e9264df6..6ca10669 160000 --- a/wine +++ b/wine @@ -1 +1 @@ -Subproject commit e9264df6e63b5df87d81e950675df7290ad43615 +Subproject commit 6ca10669d635a15b39ea94fe57a1de34b2ad3b46