Wine 8.7 - 8.12 Won't Launch Steam Games

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
Locked
TommyC
Level 2
Level 2
Posts: 19
Joined: Tue Jul 10, 2012 5:47 pm

Wine 8.7 - 8.12 Won't Launch Steam Games

Post by TommyC »

Hello,

I don't know where to post this sort of information and since I've had an account on WineHQ for awhile, I thought I'd do it here. Please let me know if this is not the right place.

Since wine 8.7 I have not been able to launch games on Steam. Wine 8.11 listed this bug that I thought might fix the issue for me but it did not: https://bugs.winehq.org/show_bug.cgi?id=55074 (I am using a virtual desktop).

Steam itself launches fine, any programs not launched through Steam (games or not) also launch fine.

After some bisecting, it appears to be the higher memory address bump added between 8.6 and 8.7 (commit

Code: Select all

cab914c3aa66e26e6756c6704848265ddfcbf3a4
) that seems to be the culprit. I have not tested the commit that comes right after which is also supposed to move to a higher address on 64-bit systems (commit

Code: Select all

bddfa071901d0c827460a6248c559ae7e7bc8348
) but intend to do so later this week (compiling wine takes a bit on my machine).

I did not see anyone else post about their Steam games not launching on WineHQ or other places since 8.7's release, so I might be the only one with this issue, in which case I'm hoping someone can help me debug why that might be.

This information may be irrelevant but just to cover all bases I thought it might be better to add it:

1. Everything was tested on the same 64-bit system with nothing changing other than the wine source taken directly from winehq.org with no added patches of any sort (no staging, same compiler, compiler version, dependencies, dependency versions, etc.)

2. I am using a multilib system and did try compiling with and without the new "--enable-archs=i386,x86_64" for both 8.6 and 8.7+ versions to no avail.

3. I am still compiling a 64-bit wine and 32-bit wine where the 32-bit wine also includes "--with-wine64=<path to wine64's built directory>".

4. kerberos, freetype, opengl, xorg, gnutls, vulkan and gstreamer are enabled explicitly as arguments to the configure script.

5. pulseaudio is explicitly disabled with the configure script.
TommyC
Level 2
Level 2
Posts: 19
Joined: Tue Jul 10, 2012 5:47 pm

Re: Wine 8.7 - 8.12 Won't Launch Steam Games

Post by TommyC »

I've attached a quick and dirty patch to fix this.

wine-8.12 compiles and is able to launch steam games now, everything else also seems to work fine with the patch.

Attachments can't be .txt files so I had to add it as an .xz file but it's only a few lines so I've also just copy & pasted the code here:

Code: Select all

diff --git a/dlls/kernel32/Makefile.in b/dlls/kernel32/Makefile.in
index d606b9aba1c..cf07832226d 100644
--- a/dlls/kernel32/Makefile.in
+++ b/dlls/kernel32/Makefile.in
@@ -3,9 +3,7 @@ MODULE    = kernel32.dll
 IMPORTLIB = kernel32
 IMPORTS   = kernelbase ntdll winecrt0
 
-EXTRADLLFLAGS = -nodefaultlibs -Wb,-F,KERNEL32.dll
-i386_EXTRADLLFLAGS = -Wl,--image-base,0x7b800000
-x86_64_EXTRADLLFLAGS = -Wl,--image-base,0x178000000
+EXTRADLLFLAGS = -nodefaultlibs -Wb,-F,KERNEL32.dll -Wl,--image-base,0x7b600000
 
 C_SRCS = \
        atom.c \
diff --git a/dlls/kernelbase/Makefile.in b/dlls/kernelbase/Makefile.in
index 1f10fe8cc0b..38db49d7034 100644
--- a/dlls/kernelbase/Makefile.in
+++ b/dlls/kernelbase/Makefile.in
@@ -3,9 +3,7 @@ MODULE    = kernelbase.dll
 IMPORTLIB = kernelbase
 IMPORTS   = uuid ntdll winecrt0
 
-EXTRADLLFLAGS = -nodefaultlibs -nostartfiles
-i386_EXTRADLLFLAGS = -Wl,--image-base,0x7b000000
-x86_64_EXTRADLLFLAGS = -Wl,--image-base,0x174000000
+EXTRADLLFLAGS = -nodefaultlibs -nostartfiles -Wl,--image-base,0x7b000000
 
 C_SRCS = \
        console.c \
Attachments
wine_memfix.patch.xz
(428 Bytes) Downloaded 104 times
Locked