M-Reimer / wine-lol

PKGBUILDs to package GloriousEggroll's LoL-patched wine version
163 stars 20 forks source link

New Patch for WINE fixes the need for Vsyscall32=0 #109

Closed ghost closed 2 years ago

ghost commented 2 years ago

Proof (no GLIBC or any other shit is required rn): image

image

diff --git a/loader/preloader.c b/loader/preloader.c
index d88964e9c4b..1ac8b9bd16b 100644
--- a/loader/preloader.c
+++ b/loader/preloader.c
@@ -1460,7 +1460,7 @@ void* wld_start( void **stack )

     i = 0;
     /* delete sysinfo values if addresses conflict */
-    if (is_in_preload_range( av, AT_SYSINFO ) || is_in_preload_range( av, AT_SYSINFO_EHDR ))
+    if (1)
     {
         delete_av[i++].a_type = AT_SYSINFO;
         delete_av[i++].a_type = AT_SYSINFO_EHDR;

Me and @GloriousEggroll just confirmed that it works, here's a build made by GE: https://drive.google.com/file/d/1YgwPvMIPyPAzrjrfO9RTLUlAhXXs_Qdm/view?usp=sharing

Proof is his build:

image

M-Reimer commented 2 years ago

Actually that's really great news! But I wonder which list of patches is minimally needed then. The vsyscall based wine patch is based on vsyscall set to 0. So leave that out?

GloriousEggroll commented 2 years ago

@M-Reimer Heya! so you still need all of the current patches, just add the one line fix on top of them. It still has to follow the specific code path but the 1 line fix tricks it into doing so without needing abi.vsyscall32=0 set. Patch details are all in my reddit post: https://www.reddit.com/r/leagueoflinux/comments/w97wr4/lutrisge703lol_released_fixes_abivsyscall320/

M-Reimer commented 2 years ago

Wow. Nice to see you here @GloriousEggroll

So I guess that's the list then: https://github.com/GloriousEggroll/wine-ge-custom/blob/13d3d45ba7ea0a6065dca75a47b484274dbb40a4/patches/protonprep-LoL.sh#L37-L43

Should I use any specific wine-staging version or is it OK to use the latest version available?

M-Reimer commented 2 years ago

I've created a new version which hopefully works. You can find the PKGBUILD here:

https://github.com/M-Reimer/wine-lol/tree/master/wine-lol

Maybe someone wants to give this a try as the usual applies: I've stopped playing LoL years ago and I won't even start this game for testing purposes.

M-Reimer commented 2 years ago

Fixed by just using the wine source created by @GloriousEggroll