ptitSeb / box64

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

MiniMetro (unity game) no longer works #1311

Closed theofficialgman closed 4 months ago

theofficialgman commented 7 months ago

MiniMetro is DRM free (so even when installing from steam you can just run it from the launchscript). it is a unity based game.

it coredumps during launch

this issue still occurs with BOX64_DYNAREC=0

Unfortunately I have not tried this game in a long time (since this issue was resolved https://github.com/ptitSeb/box64/issues/349) so idk when it stopped working or if it stopped working due to a box64 change or game change

the log below is with dynarec enabled

./launchscript 
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL SHA1 SHA2 PageSize:4096 Running on Cortex-A57 with 4 Cores
Params database has 60 entries
Box64 with Dynarec v0.2.7 c58adce8 built on Mar  1 2024 06:33:15
BOX64: Didn't detect 48bits of address space, considering it's 39bits
Counted 61 Env var
BOX64 LIB PATH: ./Mini Metro_Data/Plugins/:./:lib/:lib64/:x86_64/:bin64/:libs64/:/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/
BOX64 BIN PATH: ./:bin/:/home/gman/.local/bin/:/usr/local/sbin/:/usr/local/bin/:/usr/sbin/:/usr/bin/:/sbin/:/bin/:/usr/games/:/usr/local/games/:/snap/bin/
Looking for /home/gman/.local/share/Steam/steamapps/common/MiniMetro/Mini Metro
Rename process to "Mini Metro"
Using emulated UnityPlayer.so
Using native(wrapped) libm.so.6
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
Using native(wrapped) libpthread.so.0
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libdl.so.2
Using native(wrapped) libutil.so.1
Using native(wrapped) librt.so.1
Using native(wrapped) libbsd.so.0
[UnityMemory] Configuration Parameters - Can be set up in boot.config
    "memorysetup-bucket-allocator-granularity=16"
    "memorysetup-bucket-allocator-bucket-count=8"
    "memorysetup-bucket-allocator-block-size=4194304"
    "memorysetup-bucket-allocator-block-count=1"
    "memorysetup-main-allocator-block-size=16777216"
    "memorysetup-thread-allocator-block-size=16777216"
    "memorysetup-gfx-main-allocator-block-size=16777216"
    "memorysetup-gfx-thread-allocator-block-size=16777216"
    "memorysetup-cache-allocator-block-size=4194304"
    "memorysetup-typetree-allocator-block-size=2097152"
    "memorysetup-profiler-bucket-allocator-granularity=16"
    "memorysetup-profiler-bucket-allocator-bucket-count=8"
    "memorysetup-profiler-bucket-allocator-block-size=4194304"
    "memorysetup-profiler-bucket-allocator-block-count=1"
    "memorysetup-profiler-allocator-block-size=16777216"
    "memorysetup-profiler-editor-allocator-block-size=1048576"
    "memorysetup-temp-allocator-size-main=4194304"
    "memorysetup-job-temp-allocator-block-size=2097152"
    "memorysetup-job-temp-allocator-block-size-background=1048576"
    "memorysetup-job-temp-allocator-reduction-small-platforms=262144"
    "memorysetup-allocator-temp-initial-block-size-main=262144"
    "memorysetup-allocator-temp-initial-block-size-worker=262144"
    "memorysetup-temp-allocator-size-background-worker=32768"
    "memorysetup-temp-allocator-size-job-worker=262144"
    "memorysetup-temp-allocator-size-preload-manager=262144"
    "memorysetup-temp-allocator-size-nav-mesh-worker=65536"
    "memorysetup-temp-allocator-size-audio-worker=65536"
    "memorysetup-temp-allocator-size-cloud-worker=32768"
    "memorysetup-temp-allocator-size-gfx=262144"
Using native(wrapped) libdbus-1.so.3
Using native(wrapped) libX11.so.6
Using native(wrapped) libXext.so.6
Using native(wrapped) libxcb.so.1
Using native(wrapped) libXau.so.6
Using native(wrapped) libXdmcp.so.6
Using native(wrapped) libXcursor.so.1
Using native(wrapped) libXinerama.so.1
Using native(wrapped) libXi.so.6
Using native(wrapped) libXrandr.so.2
Using native(wrapped) libXrender.so.1
Using native(wrapped) libXss.so.1
Using native(wrapped) libXxf86vm.so.1
Using native(wrapped) libudev.so.1
Aborted (core dumped)
ptitSeb commented 7 months ago

Ok, I reproduce the issue. I'll check (an older DRM version, from HumbleBundle, worked fine)

ptitSeb commented 7 months ago

I did a bisect, and it"s the big elfloader refactore that is the issue. I'll do some more analysis later.

ptitSeb commented 6 months ago

Ok, this should be fixed now/ If you can update and test.

theofficialgman commented 6 months ago

it no longer core dumps. now all I get is a black screen. it isn't hung, I can hear the game audio in the background.

ptitSeb commented 6 months ago

Mmm, it worked for me on 2 test machines. Can you checks logs?

theofficialgman commented 4 months ago

game is crashing shortly after launch for me currently.

ptitSeb commented 4 months ago

Yeah, I reproduce the issue. It's the preload of steam game overlay that break the workaround for this game (it use libstdc++ but doesn(t expliciitly loads it and expect dependancies to do it).

I'll work on another workaround for this.

ptitSeb commented 4 months ago

Ok, I canged the way the workaround is done. It should works now with latest box64.

theofficialgman commented 4 months ago

works. thank you