ptitSeb / box64

Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64 Linux devices
https://box86.org
MIT License
3.75k stars 268 forks source link

Wine 8.18 wow64: steam not launching #1036

Open strongtz opened 11 months ago

strongtz commented 11 months ago

the wine-8.18 build: Pi-Apps-Coders/files@large-files wine-8.18.tar.gz (download)

Steam fails to launch with pop-up window saying: There was a problem with your steam installation. Please reinstall Steam. It works fine with this build on x86_64 Arch Linux.

I think the problem seems to be here:

IPC client is in my process, could/should be using an in-process pipe.
src\common\steam\client_api.cpp (589) : ClientAPI_InitGlobalInstance: InternalAPI_Init_Internal failed, most likely because you are missing a 32-bit dependency of steamclient.dll (the Steam client is a 32-bit app).

full log:

Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS PageSize:4096 Running on Kryo-4XX-Silver Kryo-4XX-Gold with 8 Cores
Params database has 28 entries
Box64 with Dynarec v0.2.5 57c85da built on Oct 21 2023 09:49:27
BOX64: Wine preloader detected, loading "/home/alarm/wine-8.18/bin/wine" directly
BOX64: Wine64 detected, WINEPRELOADRESERVE="140000000-140866000"
Counted 73 Env var
BOX64 LIB PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/:/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/
BOX64 BIN PATH: ./:bin/:/home/alarm/.local/bin/:/usr/local/sbin/:/usr/local/bin/:/usr/bin/:/usr/bin/site_perl/:/usr/bin/vendor_perl/:/usr/bin/core_perl/
Looking for /home/alarm/wine-8.18/bin/wine
argv[1]="C:\Program Files (x86)\Steam\bin\cef\cef.win7x64\steamwebhelper.exe"
argv[2]="-lang=en_US"
argv[3]="-cachedir=C:\users\alarm\AppData\Local\Steam\htmlcache"
argv[4]="-steampid=32"
argv[5]="-buildid=1696019606"
argv[6]="-steamid=0"
argv[7]="-logdir=C:\Program Files (x86)\Steam\logs"
argv[8]="-uimode=7"
argv[9]="-startcount=0"
argv[10]="-steamuniverse=Public"
argv[11]="-realm=Global"
argv[12]="-clientui=C:\Program Files (x86)\Steam\clientui"
argv[13]="-steampath=C:\Program Files (x86)\Steam\steam.exe"
argv[14]="-launcher=0"
argv[15]="--enable-media-stream"
argv[16]="--enable-smooth-scrolling"
argv[17]="--enable-direct-write"
argv[18]="--log-file=C:\Program Files (x86)\Steam\logs\cef_log.txt"
argv[19]="--disable-quick-menu"
argv[20]="--disable-features=SameSiteByDefaultCookies"
argv[21]="--enable-blink-features=ResizeObserver,Worklet,AudioWorklet"
argv[22]="--disable-blink-features=Badging"
Rename process to "wine"
Using native(wrapped) libdl.so.2
Using native(wrapped) libpthread.so.0
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libutil.so.1
Using native(wrapped) librt.so.1
Using emulated /home/alarm/wine-8.18/bin/../lib/wine/x86_64-unix/ntdll.so
Using native(wrapped) libunwind.so.8
0024:fixme:dwmapi:DwmSetWindowAttribute (000200A6, 2, 001EE85C, 4) stub
0024:fixme:dwmapi:DwmExtendFrameIntoClientArea (000200A6, 001EE84C) stub
Using emulated /home/alarm/wine-8.18/lib/wine/x86_64-unix/dwrite.so
Using emulated /home/alarm/wine-8.18/lib/wine/x86_64-unix/win32u.so
Using native(wrapped) libm.so.6
Using native(wrapped) libfreetype.so.6
Using native(wrapped) libfontconfig.so.1
Using emulated /home/alarm/wine-8.18/lib/wine/x86_64-unix/ws2_32.so
Using emulated /home/alarm/wine-8.18/lib/wine/x86_64-unix/dnsapi.so
Using native(wrapped) libresolv.so.2
Look for __res_query in loaded elfs
Found symbol with version GLIBC_2.17, value = 0xffffb749f6f4
Using emulated /home/alarm/wine-8.18/lib/wine/x86_64-unix/netapi32.so
Using emulated /home/alarm/wine-8.18/lib/wine/x86_64-unix/winex11.so
Using native(wrapped) libXext.so.6
Using native(wrapped) libX11.so.6
Using native(wrapped) libxcb.so.1
Using native(wrapped) libXau.so.6
Using native(wrapped) libXdmcp.so.6
Using native(wrapped) libXinerama.so.1
Using native(wrapped) libXxf86vm.so.1
Using native(wrapped) libXrender.so.1
Using native(wrapped) libXrandr.so.2
Using native(wrapped) libXcomposite.so.1
Using native(wrapped) libXi.so.6
Using native(wrapped) libXcursor.so.1
Using emulated /home/alarm/wine-8.18/lib/wine/x86_64-unix/bcrypt.so
Using native(wrapped) libgnutls.so.30
Using emulated /home/alarm/wine-8.18/lib/wine/x86_64-unix/crypt32.so
Using emulated /home/alarm/wine-8.18/lib/wine/x86_64-unix/secur32.so
Using emulated /home/alarm/wine-8.18/lib/wine/x86_64-unix/kerberos.so
Using native(wrapped) libkrb5.so.3
Using native(wrapped) libgssapi_krb5.so.2
Using emulated /home/alarm/wine-8.18/lib/wine/x86_64-unix/msv1_0.so
posix_spawnp(0x7ffffe0ff854, "ntlm_auth", 0x7ffffe0ff630, (nil), 0x7ffffe0ff6b0, 0x100a0ea00), IsX86=0 / fullpath="ntlm_auth"
013c:err:winediag:ntlm_check_version ntlm_auth was not found. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
013c:err:ntlm:ntlm_LsaApInitializePackage no NTLM support, expect problems
Using emulated /home/alarm/wine-8.18/lib/wine/x86_64-unix/opengl32.so
Using emulated /home/alarm/wine-8.18/lib/wine/x86_64-unix/winspool.so
Using native(wrapped) libcups.so.2
Using emulated /home/alarm/wine-8.18/lib/wine/x86_64-unix/dwrite.so
013c:fixme:process:GetProcessMitigationPolicy (FFFFFFFFFFFFFFFF, 4, 00007FFFFE1FF7D8, 4): stub
013c:fixme:shcore:SetCurrentProcessExplicitAppUserModelID L"Valve.Steam.Client": stub
0024:fixme:advapi:StopTraceA (0, "Steam Event Tracing", 001EE6FC) stub
0024:fixme:eventlog:StartTraceA (001EE788, "Steam Event Tracing", 001EE6FC) stub
0024:fixme:advapi:OpenTraceA 001EE4C8: stub
0024:fixme:advapi:EnableTrace (1, 0x10, 4, {22fb2cd6-0e7b-422b-a0c7-2fad1fd0e716}, cafe4242): stub
0024:fixme:eventlog:CloseTrace cafe4242: stub
0158:fixme:eventlog:ProcessTrace 6D23E3B0 1 00000000 00000000: stub
IPC client is in my process, could/should be using an in-process pipe.src\common\steam\client_api.cpp (589) : ClientAPI_InitGlobalInstance: In
ternalAPI_Init_Internal failed, most likely because you are missing a 32-bit dependency of steamclient.dll (the Steam client is a 32-bit app).

Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS PageSize:4096 Running on Kryo-4XX-Silver Kryo-4XX-Gold with 8 Cores
Params database has 28 entries
Box64 with Dynarec v0.2.5 57c85da built on Oct 21 2023 09:49:27
BOX64: Wine preloader detected, loading "/home/alarm/wine-8.18/bin/wine" directly
BOX64: Wine64 detected, WINEPRELOADRESERVE="000400000-00048d000"
Counted 73 Env var
BOX64 LIB PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/:/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/
BOX64 BIN PATH: ./:bin/:/home/alarm/.local/bin/:/usr/local/sbin/:/usr/local/bin/:/usr/bin/:/usr/bin/site_perl/:/usr/bin/vendor_perl/:/usr/bin/core_perl/
Looking for /home/alarm/wine-8.18/bin/wine
argv[1]="C:\Program"
argv[2]="Files"
argv[3]="(x86)\Steam\steam"
Rename process to "wine"
Using native(wrapped) libdl.so.2
Using native(wrapped) libpthread.so.0
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libutil.so.1
Using native(wrapped) librt.so.1
Using emulated /home/alarm/wine-8.18/bin/../lib/wine/x86_64-unix/ntdll.so
Using native(wrapped) libunwind.so.8
0164:err:environ:init_peb starting L"C:\\Program Files (x86)\\Steam\\steamerrorreporter.exe" in experimental wow64 mode
ptitSeb commented 11 months ago

Yes, I was aware of this one, it was an old issue.

But I think I have fixed it! And now steam launch. I haven't tested much but that goes farther.

Also, might interest @theofficialgman

theofficialgman commented 11 months ago

the wine-8.18 build: Pi-Apps-Coders/files@large-files wine-8.18.tar.gz (download)

wine 8.18 is not used by pi-apps currently as it fails wineboot -> https://github.com/ptitSeb/box64/issues/1031 . wine 8.17 is used for now https://github.com/Botspot/pi-apps/blob/master/apps/Wine%20(x64)/install-64#L4 the wine 8.18 build on the repo is there itself since it is good but we can't use it

I am surprised you have been successful in using it.

ptitSeb commented 11 months ago

I don't reproduce the hang with wine 8.18 on my side. Anyway, the fix for steam should also works with previous wine @theofficialgman

strongtz commented 11 months ago

Yes, it does go further with b3daf55! But it still gets stuck somewhere.