ptitSeb / box64

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

segfault with stardew valley 1.6 under wine (worked with SDV 1.5) #1395

Open josch opened 7 months ago

josch commented 7 months ago

Stardew Valley also publishes Linux binaries, so you probably want to give priority to #1271.

This report is about running the windows version of Stardew Valley under wine. Why not use the native version? With Stardew Valley 1.5, I logged over 26 hours of playtime with Stardew Valley under wine. I chose to run the Windows version because the native version would randomly crash at random times (i posted console output of those instances in #1271).

So this setup used to work fine. Then I upgraded to Stardew Valley 1.6 a few days ago and suddenly the game doesn't even start anymore:

it looks like wine32 is missing, you should install it.
as root, please execute "apt-get install wine32:i386"
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL SHA1 SHA2 PageSize:4096 Running on Cortex-A53 Cortex-A73 with 6 Cores
Will use Hardware counter measured at 24.0 MHz emulating 768 MHz
Params database has 38 entries
Box64 with Dynarec v0.2.7 e32a78a9 built on Apr  1 2024 14:51:09
BOX64: Wine64 detected, WINEPRELOADRESERVE=""
BOX64: Detected running wine with "Stardew Valley.exe"
BOX64: Detected 48bits at least of address space
Counted 46 Env var
BOX64 LIB PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/:/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/:/usr/x86_64-linux-gnu/lib/
BOX64 BIN PATH: ./:bin/:/home/josch/.local/bin/:/usr/local/bin/:/usr/bin/:/bin/:/usr/local/games/:/usr/games/
Looking for /usr/lib/wine/wine64
argv[1]="Stardew Valley.exe"
Rename process to "wine64"
Using native(wrapped) libdl.so.2
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libpthread.so.0
Using native(wrapped) libutil.so.1
Using native(wrapped) libresolv.so.2
Using native(wrapped) librt.so.1
Using native(wrapped) libbsd.so.0
Using emulated /usr/lib/wine/../x86_64-linux-gnu/wine/x86_64-unix/ntdll.so
Using emulated /lib/x86_64-linux-gnu/libunwind.so.8
Using native(wrapped) liblzma.so.5
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL SHA1 SHA2 PageSize:4096 Running on Cortex-A53 Cortex-A73 with 6 Cores
Will use Hardware counter measured at 24.0 MHz emulating 768 MHz
Params database has 38 entries
Box64 with Dynarec v0.2.7 e32a78a9 built on Apr  1 2024 14:51:09
BOX64: Wine64 detected, WINEPRELOADRESERVE=""
BOX64: Detected running wine with "Stardew Valley.exe"
BOX64: Detected 48bits at least of address space
Counted 47 Env var
BOX64 LIB PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/:/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/:/usr/x86_64-linux-gnu/lib/
BOX64 BIN PATH: ./:bin/:/home/josch/.local/bin/:/usr/local/bin/:/usr/bin/:/bin/:/usr/local/games/:/usr/games/
Looking for /usr/lib/wine/wine64
argv[1]="Stardew Valley.exe"
Rename process to "wine64"
Using native(wrapped) libdl.so.2
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libpthread.so.0
Using native(wrapped) libutil.so.1
Using native(wrapped) libresolv.so.2
Using native(wrapped) librt.so.1
Using native(wrapped) libbsd.so.0
Using emulated /usr/lib/wine/../x86_64-linux-gnu/wine/x86_64-unix/ntdll.so
Using emulated /lib/x86_64-linux-gnu/libunwind.so.8
Using native(wrapped) liblzma.so.5
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL SHA1 SHA2 PageSize:4096 Running on Cortex-A53 Cortex-A73 with 6 Cores
Will use Hardware counter measured at 24.0 MHz emulating 768 MHz
Params database has 38 entries
Box64 with Dynarec v0.2.7 e32a78a9 built on Apr  1 2024 14:51:09
BOX64: Detected 48bits at least of address space
Counted 47 Env var
BOX64 LIB PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/:/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/:/usr/x86_64-linux-gnu/lib/
BOX64 BIN PATH: ./:bin/:/home/josch/.local/bin/:/usr/local/bin/:/usr/bin/:/bin/:/usr/local/games/:/usr/games/
Looking for /usr/lib/wine/wineserver64
argv[1]="-p0"
Rename process to "wineserver64"
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libpthread.so.0
Using native(wrapped) libdl.so.2
Using native(wrapped) libutil.so.1
Using native(wrapped) libresolv.so.2
Using native(wrapped) librt.so.1
Using native(wrapped) libbsd.so.0
Using emulated /usr/lib/x86_64-linux-gnu/wine/x86_64-unix/libwine.so.1
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL SHA1 SHA2 PageSize:4096 Running on Cortex-A53 Cortex-A73 with 6 Cores
Will use Hardware counter measured at 24.0 MHz emulating 768 MHz
Params database has 38 entries
Box64 with Dynarec v0.2.7 e32a78a9 built on Apr  1 2024 14:51:09
BOX64: Wine64 detected, WINEPRELOADRESERVE="140000000-1400ab000"
BOX64: Detected running wine with "conhost.exe"
BOX64: Detected 48bits at least of address space
Counted 49 Env var
BOX64 LIB PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/:/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/:/usr/x86_64-linux-gnu/lib/
BOX64 BIN PATH: ./:bin/:/home/josch/.local/bin/:/usr/local/bin/:/usr/bin/:/bin/:/usr/local/games/:/usr/games/
Looking for /usr/lib/wine/wine64
argv[1]="C:\windows\system32\conhost.exe"
argv[2]="--unix"
argv[3]="--width"
argv[4]="239"
argv[5]="--height"
argv[6]="47"
argv[7]="--server"
argv[8]="0x10"
Rename process to "wine64"
Using native(wrapped) libdl.so.2
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libpthread.so.0
Using native(wrapped) libutil.so.1
Using native(wrapped) libresolv.so.2
Using native(wrapped) librt.so.1
Using native(wrapped) libbsd.so.0
Using emulated /usr/lib/wine/../x86_64-linux-gnu/wine/x86_64-unix/ntdll.so
Using emulated /lib/x86_64-linux-gnu/libunwind.so.8
Using native(wrapped) liblzma.so.5
Using emulated /usr/lib/x86_64-linux-gnu/wine/x86_64-unix/libwine.so.1
Using emulated /usr/lib/x86_64-linux-gnu/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 native(wrapped) libexpat.so.1
Using emulated /usr/lib/x86_64-linux-gnu/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 native(wrapped) libexpat.so.1
0024:err:module:fixup_imports_ilonly mscoree.dll not found, IL-only binary L"System.Runtime.dll" cannot be loaded
0024:err:module:fixup_imports_ilonly mscoree.dll not found, IL-only binary L"MonoGame.Framework.dll" cannot be loaded
0024:err:module:fixup_imports_ilonly mscoree.dll not found, IL-only binary L"System.Threading.Thread.dll" cannot be loaded
0024:err:module:fixup_imports_ilonly mscoree.dll not found, IL-only binary L"xTile.dll" cannot be loaded
0024:err:module:fixup_imports_ilonly mscoree.dll not found, IL-only binary L"StardewValley.GameData.dll" cannot be loaded
Using emulated /usr/lib/x86_64-linux-gnu/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 native(wrapped) libXfixes.so.3
0024:err:module:fixup_imports_ilonly mscoree.dll not found, IL-only binary L"FAudio-CS.dll" cannot be loaded
0024:err:module:fixup_imports_ilonly mscoree.dll not found, IL-only binary L"System.Xml.ReaderWriter.dll" cannot be loaded
0024:err:module:fixup_imports_ilonly mscoree.dll not found, IL-only binary L"System.Xml.XmlSerializer.dll" cannot be loaded
Using emulated /usr/lib/x86_64-linux-gnu/wine/x86_64-unix/bcrypt.so
Using native(wrapped) libgnutls.so.30
0024:err:module:fixup_imports_ilonly mscoree.dll not found, IL-only binary L"System.Text.Encoding.Extensions.dll" cannot be loaded
0024:err:module:fixup_imports_ilonly mscoree.dll not found, IL-only binary L"System.Runtime.Loader.dll" cannot be loaded
1474767|0x23945a: Unimplemented Opcode (00 00 00 00) FE 67 00 00 00 00 40 D3 08 00 FF 7F 00 00 00

I did not change the wine version (8.0) and if I downgrade to 1.5 it continues to work fine. So something changed between Stardew Valley 1.5 and 1.6 that makes box64 not happy anymore when running under wine.

ptitSeb commented 7 months ago

I have not tried the wineodws version of stardew valley. I might later, but that's not the priority indeed for now.

What I notice is that you are using the latest stable version of box64, which is getting old already. Can you update to current dev version (v0.2.7) and see if it works?

josch commented 7 months ago

Oh dear, you are right. That was an oversight on my part, sorry.

Thanks again for replying so quickly. I updated the console output in my original message to the one produced by the latest box64 version.

ptitSeb commented 7 months ago

The logs looks better now, but the unimplemented opcode is not a valid one. There must be omething else, priori to this, going wrong but no idea what from the log. I'll have to debug myself (but later, windows version of Stardew Valley is not my priority for now).

josch commented 7 months ago

Thanks for having a look at the log! If the Linux version of SDV works, then I also have no need for having the Windows version running. :)

ptitSeb commented 7 months ago

Well, the linux version should works fine yes.