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

Unable to run "To The Moon" on a handheld Linux device, indicating missing. so.1 library #1235

Closed stgapr closed 7 months ago

stgapr commented 9 months ago

Dear ptitseb: I tried running "To The Moon" (an RPG) through box64 on my RK3566 device (Powkiddy RGB30 retro handheld device , with customized Linux system: JELOS, supporting AArch64 & ARM32 architecture, linux version 4.19.172), I executed command in console over SSH and it gave following output:

(This game can run successfully on other ARM PC running Linux ( Phytium-2000/A CPU, with NeoKylin OS). So do I need to manually add these. so. 1 libraries to the root directory? Is it related to the missing libraries that SDL audio devices cannot recognize?)

Box64 v0.2.5 211fee2e built on Jan 21 2024 13:04:55
Warning: cannot create memory map (@0x34800000 0xcc4df0) for elf "/storage/roms/ports/box64/box64" got 0x7f87b76000
Error: Symbol __vwprintf_chk not found, cannot apply R_X86_64_JUMP_SLOT @0x7f887a99a8 (0x349d2450) in /storage/roms/ports/box64/box64
Error: Symbol verrx not found, cannot apply R_X86_64_JUMP_SLOT @0x7f887a9a68 (0x349d25d0) in /storage/roms/ports/box64/box64
Error: Symbol vwarnx not found, cannot apply R_X86_64_JUMP_SLOT @0x7f887a9a98 (0x349d2630) in /storage/roms/ports/box64/box64
Error: Symbol verr not found, cannot apply R_X86_64_JUMP_SLOT @0x7f887a9d30 (0x349d2b60) in /storage/roms/ports/box64/box64
Error: Symbol __isoc99_vscanf not found, cannot apply R_X86_64_JUMP_SLOT @0x7f887a9d50 (0x349d2ba0) in /storage/roms/ports/box64/box64
Error: Symbol scandirat64 not found, cannot apply R_X86_64_JUMP_SLOT @0x7f887a9db8 (0x349d2c70) in /storage/roms/ports/box64/box64
Error: Symbol vwarn not found, cannot apply R_X86_64_JUMP_SLOT @0x7f887a9e90 (0x349d2e20) in /storage/roms/ports/box64/box64
Error: Symbol __obstack_vprintf_chk not found, cannot apply R_X86_64_JUMP_SLOT @0x7f887a9eb8 (0x349d2e70) in /storage/roms/ports/box64/box64
Box64 v0.2.7 d787f67 built on Jan  9 2024 14:31:38
Warning, function my_lio_listio not found
Warning, function my_lio_listio not found
Warning, function my_lio_listio not found
Warning, function my_lio_listio not found
LIBGL: Initialising gl4es
LIBGL: v1.1.5 built on Jan 21 2024 13:03:32
LIBGL: Using GLES 2.0 backend
LIBGL: loaded: libGLESv2.so
LIBGL: loaded: libEGL.so
LIBGL: loaded: libgbm.so
LIBGL: loaded: libdrm.so
LIBGL: Using GLES 2.0 backend
==>[INIT] (ToTheMoon) CDBG: <unknown> cdbgp_populate_from_system_environment
Initialization of a handle to the system environment failed (3)
==>[INIT] (ToTheMoon) CDBG: <unknown> cdbgp_populate_from_system_environment
Initialization of a handle to the system environment failed (3)
arm_release_ver: g13p0-01eac0, rk_so_ver: 3
LIBGL: Error while gathering supported extension (eglInitialize: EGL_BAD_DISPLAY), default to none
LIBGL: Targeting OpenGL 2.1
LIBGL: Not trying to batch small subsequent glDrawXXXX
LIBGL: try to use VBO
LIBGL: Force texture for Attachment color0 on FBO
LIBGL: Hack to trigger a SwapBuffers when a Full Framebuffer Blit on default FBO is done
LIBGL: glX Will try to recycle EGL Surface
LIBGL: Current folder is:/storage/roms/ports/box64
LIBGL: Not using PSA (prgbin_n=0, notexarray=0)
Warning, function my_glDebugMessageCallback not found
Warning, function my_glDebugMessageCallback not found
Warning, function my_glDebugMessageCallback not found
Warning, function my_glDebugMessageCallback not found
Error initializing native libXdmcp.so.6 (last dlerror is libXdmcp.so.6: cannot open shared object file: No such file or directory)
Error: loading a needed libs in elf libXext.so.6
Error initializing native libXdmcp.so.6 (last dlerror is libXdmcp.so.6: cannot open shared object file: No such file or directory)
Error initializing native libXdmcp.so.6 (last dlerror is Cannot dlopen("libXdmcp.so.6"/0x7f8832c4cc, 101)
)
Error: loading a needed libs in elf libXext.so.6
Error initializing native libXcursor.so.1 (last dlerror is libXcursor.so.1: cannot open shared object file: No such file or directory)
Error initializing native libXcursor.so.1 (last dlerror is Cannot dlopen("libXcursor.so.1"/0x7f8832c471, 101)
)
Error initializing native libXinerama.so.1 (last dlerror is libXinerama.so.1: cannot open shared object file: No such file or directory)
Error initializing native libXinerama.so.1 (last dlerror is Cannot dlopen("libXinerama.so.1"/0x7f8832c435, 101)
)
Error initializing native libXi.so.6 (last dlerror is libXi.so.6: cannot open shared object file: No such file or directory)
Error initializing native libXi.so.6 (last dlerror is Cannot dlopen("libXi.so.6"/0x7f8832c49d, 101)
)
Error initializing native libXrandr.so.2 (last dlerror is libXrandr.so.2: cannot open shared object file: No such file or directory)
Error initializing native libXrandr.so.2 (last dlerror is Cannot dlopen("libXrandr.so.2"/0x7f8832c446, 101)
)
Error initializing native libXss.so.1 (last dlerror is libXss.so.1: cannot open shared object file: No such file or directory)
Error initializing native libXss.so.1 (last dlerror is Cannot dlopen("libXss.so.1"/0x7f8832c4a8, 101)
)
Error initializing native libXxf86vm.so.1 (last dlerror is libXxf86vm.so.1: cannot open shared object file: No such file or directory)
Error initializing native libXxf86vm.so.1 (last dlerror is Cannot dlopen("libXxf86vm.so.1"/0x7f8832c425, 101)
)
Error initializing SDL: No available video device
LIBGL: Shuting down
RK3566:~/roms/ports/box64 #
stgapr commented 9 months ago

By the way, this operating system does not have an X window, according to JELOS github( https://github.com/JustEnoughLinuxOS/distribution )It uses KMS/DRM display driver. Is that feature related to the missing library 'libX ****' ?

ptitSeb commented 9 months ago

Yeah, this games (To The Moon) seems to use X11 somehow, so it might be tricky to run it there.

You better open an issue at the Jelos repo maybe.

Also, you seems to have 2 different version of box64 there, that's strange. Also also, not sure how you built them, but I find it strange that the "my_XXX" function are missing as those should be exported and are defined in box64 itself.

mcagabe19 commented 9 months ago

Box64 v0.2.5 211fee2e built on Jan 21 2024 13:04:55 Warning: cannot create memory map (@0x34800000 0xcc4df0) for elf "/storage/roms/ports/box64/box64" got 0x7f87b76000 ... Box64 v0.2.7 d787f67 built on Jan 9 2024 14:31:38

uhhh you running box64 inside box64? just run box64 (app_name)

stgapr commented 9 months ago

Thanks for your reply! I may have known: box64 0.25 is built-in in the system and is provided with JELOS released on January 21, 2024 (as the runtime library for PORTMASTER, I guess it will automatically load when it detects programs of X86_64 architecture). And I manually used box64 0.27 myself in commandline: Then it loaded twice.

As for the missing libX***.so.1: I tested onscriper-yuri ( a cross-platform Nscripter engine), and the same goes for both programs. Perhaps both of these programs use X interfaces.

RkShaRkz commented 7 months ago

@stgapr in case you're not up to speed - https://portmaster.games/detail.html?name=to_the_moon

it's already been ported and is merged-in to portmaster repo.

trick is to not use box64 for it but rather stick with what works better - box86.

Cebion commented 7 months ago

@stgapr in case you're not up to speed - https://portmaster.games/detail.html?name=to_the_moon

it's already been ported and is merged-in to portmaster repo.

trick is to not use box64 for it but rather stick with what works better - box86.

It uses neither box86 nor box64. It' uses falcon-mkxp :)

ptitSeb commented 7 months ago

To The Moon works also with box64, I tested this.

The log in first post clearly mentionned box64, so those later comment are a bit confusing.

Anyway, if the port now use another engine and not box64 at all, I guess this ticket can be closed?