ptitSeb / box64

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

[BOX32] GOG installers failing with Wine #1958

Open LukeShortCloud opened 1 month ago

LukeShortCloud commented 1 month ago

When trying to launch a 32-bit Windows GOG installer via Wine 9.20, it renders incorrectly and does not allow installing the game. This is on Ubuntu 22.04 via WSL 2. One time only, the Unreal Gold installer randomly worked. I proceeded to install the game. I noticed it installed it to my real C: drive at /mnt/c/GOG Games/Unreal Gold/. I know Wine does not fully support NTFS so perhaps that is part of the problem. I can blindly go into the installer settings and change the installation directory to a location within the Wine prefix but that does not help. In case there are any issues related to Box32 here, I wanted to report this.

Waking Mars GOG com Installer Fails

Known affected installers:

Here's a log of trying to run the Waking Mars installer.

$ file ~/Games/setup_waking_mars_1.2.1_\(22334\).exe
/home/user/Games/setup_waking_mars_1.2.1_(22334).exe: PE32 executable (GUI) Intel 80386, for MS Windows
$ box64 wineserver
$ box64 wine ~/Games/setup_waking_mars_1.2.1_\(22334\).exe
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS SHA1 SHA2 USCAT FLAGM FLAGM2 FRINT AFP RNDR PageSize:4096 Running on unknown aarch64 cpu with 12 Cores
Will use Hardware counter measured at 19.2 MHz emulating 2.4 GHz
Params database has 93 entries
Box64 with Dynarec v0.3.1 90674b82 built on Oct 25 2024 10:53:47
BOX64: Wine64 detected, WINEPRELOADRESERVE=""
BOX64: Detected 48bits at least of address space
WINE prereserve of 0x10000:0x8000 done
WINE prereserve of 0x110000:0x30000000 done
WINE prereserve of 0x7f000000:0x3000000 done
BOX64: Detected running wine with "setup_waking_mars_1.2.1_(22334).exe"
Counted 30 Env var
BOX64 LIB PATH: BOX64 BIN PATH: ./:bin/:/usr/local/sbin/:/usr/local/bin/:/usr/sbin/:/usr/bin/:/sbin/:/bin/:/usr/games/:/usr/local/games/:/usr/lib/wsl/lib/:/mnt/c/Windows/system32/:/mnt/c/Windows/:/mnt/c/Windows/System32/Wbem/:/mnt/c/Windows/System32/WindowsPowerShell/v1.0/:/mnt/c/Windows/System32/OpenSSH/:/mnt/c/Program Files/dotnet/:/mnt/c/Users/lukew/AppData/Local/Microsoft/WindowsApps/:/snap/bin/:/home/user/Games/wine-9.20-amd64/bin/
Looking for wine
Apply RC params for wine
Applying BOX64_MAXCPU=64
Apply RC params for setup_waking_mars_1.2.1_(22334).exe
Applying BOX64_DYNAREC_BIGBLOCK=0
Applying BOX64_DYNAREC_SAFEFLAGS=2
Applying BOX64_DYNAREC_CALLRET=0
argv[1]="/home/user/Games/setup_waking_mars_1.2.1_(22334).exe"
BOX64: Using Box32 to load 32bits elf
Memory higher than 32bits reserved
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.so.2
Using native(wrapped) librt.so.1
Using emulated /home/user/Games/wine-9.20-amd64/bin/../lib/wine/i386-unix/ntdll.so
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS SHA1 SHA2 USCAT FLAGM FLAGM2 FRINT AFP RNDR PageSize:4096 Running on unknown aarch64 cpu with 12 Cores
Will use Hardware counter measured at 19.2 MHz emulating 2.4 GHz
Params database has 93 entries
Box64 with Dynarec v0.3.1 90674b82 built on Oct 25 2024 10:53:47
BOX64: Wine64 detected, WINEPRELOADRESERVE=""
BOX64: Detected 48bits at least of address space
WINE prereserve of 0x10000:0x8000 done
WINE prereserve of 0x110000:0x30000000 done
WINE prereserve of 0x7f000000:0x3000000 done
BOX64: Detected running wine with "setup_waking_mars_1.2.1_(22334).exe"
Counted 32 Env var
BOX64 LIB PATH: BOX64 BIN PATH: ./:bin/:/usr/local/sbin/:/usr/local/bin/:/usr/sbin/:/usr/bin/:/sbin/:/bin/:/usr/games/:/usr/local/games/:/usr/lib/wsl/lib/:/mnt/c/Windows/system32/:/mnt/c/Windows/:/mnt/c/Windows/System32/Wbem/:/mnt/c/Windows/System32/WindowsPowerShell/v1.0/:/mnt/c/Windows/System32/OpenSSH/:/mnt/c/Program Files/dotnet/:/mnt/c/Users/lukew/AppData/Local/Microsoft/WindowsApps/:/snap/bin/:/home/user/Games/wine-9.20-amd64/bin/
Looking for /home/user/Games/wine-9.20-amd64/bin/wine
Apply RC params for wine
Applying BOX64_MAXCPU=64
Apply RC params for setup_waking_mars_1.2.1_(22334).exe
Applying BOX64_DYNAREC_BIGBLOCK=0
Applying BOX64_DYNAREC_SAFEFLAGS=2
Applying BOX64_DYNAREC_CALLRET=0
argv[1]="/home/user/Games/setup_waking_mars_1.2.1_(22334).exe"
BOX64: Using Box32 to load 32bits elf
Memory higher than 32bits reserved
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.so.2
Using native(wrapped) librt.so.1
Using emulated /home/user/Games/wine-9.20-amd64/bin/../lib/wine/i386-unix/ntdll.so
002c:err:wineboot:process_run_key Error running cmd L"C:\\windows\\system32\\winemenubuilder.exe -a -r" (2).
Using emulated /home/user/Games/wine-9.20-amd64/lib/wine/i386-unix/win32u.so
Using native(wrapped) libm.so.6
Using native(wrapped) libfreetype.so.6
Using native(wrapped) libfontconfig.so.1
Using native(wrapped) libexpat.so.1
00d0:err:vulkan:vulkan_init_once Failed to load libvulkan.so.1
Using emulated /home/user/Games/wine-9.20-amd64/lib/wine/i386-unix/winex11.so
Using native(wrapped) libXext.so.6
Using native(wrapped) libX11.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 native(wrapped) libXfixes.so.3
0114:fixme:win:DisableProcessWindowsGhosting : stub
0114:fixme:graphics:ShutdownBlockReasonDestroy (000100A4): stub
0114:fixme:graphics:ShutdownBlockReasonCreate (000100A4, L"Installing"): stub
0114:fixme:msg:ChangeWindowMessageFilterEx 000200AC c04e 1 00000000
0114:fixme:msg:ChangeWindowMessageFilterEx 000300AC c04e 1 00000000
0114:fixme:win:WINNLSEnableIME hwnd 000100BC enable 0: stub!
0114:fixme:win:WINNLSEnableIME hwnd 000100BC enable -1: stub!
0114:fixme:rstrtmgr:RmStartSession 0050C010, 0, 0050C014 stub!
0114:err:winediag:gnutls_process_attach failed to load libgnutls, no support for encryption
0114:err:winediag:process_attach failed to load libgnutls, no support for pfx import/export
0114:fixme:graphics:ShutdownBlockReasonDestroy (000100A4): stub
0114:fixme:graphics:ShutdownBlockReasonCreate (000100A4, L"Installing Waking Mars."): stub
0114:fixme:msg:ChangeWindowMessageFilterEx 000100CC c04e 1 00000000
0114:fixme:msg:ChangeWindowMessageFilterEx 000200CC c04e 1 00000000
0114:fixme:msg:ChangeWindowMessageFilterEx 000100D4 c04e 1 00000000
0114:fixme:msg:ChangeWindowMessageFilterEx 000200D4 c04e 1 00000000
0114:fixme:shell:SHAutoComplete stub
0114:fixme:msg:ChangeWindowMessageFilterEx 000100EE c04e 1 00000000
0114:fixme:wincodecs:jpeg_decoder_get_metadata_blocks stub
0114:fixme:gdiplus:resample_bitmap_pixel Unimplemented interpolation 6
0114:fixme:wincodecs:jpeg_decoder_get_metadata_blocks stub
0114:fixme:wincodecs:jpeg_decoder_get_metadata_blocks stub
0114:fixme:win:WINNLSEnableIME hwnd 00010118 enable 0: stub!
0114:fixme:win:WINNLSEnableIME hwnd 00010118 enable -1: stub!
0114:fixme:win:WINNLSEnableIME hwnd 00010118 enable 0: stub!
0114:fixme:rstrtmgr:RmEndSession 3735928559 stub!
0114:fixme:graphics:ShutdownBlockReasonDestroy (000100A4): stub
0114:fixme:win:WINNLSEnableIME hwnd 00010118 enable -1: stub!
ptitSeb commented 1 month ago

Yeah, that's a box32 issue. Insteallers should work fine with wine+wow64. There are still issue with fonts...

LukeShortCloud commented 1 month ago

I can also confirm that using a WOW64 build of Wine 9.20 with Box64 works as a short-term workaround.