Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chasm failed with SDL_GetWindowSizeInPixels) not found #1225

Closed
ricoazzurro opened this issue Jan 27, 2024 · 5 comments
Closed

Chasm failed with SDL_GetWindowSizeInPixels) not found #1225

ricoazzurro opened this issue Jan 27, 2024 · 5 comments

Comments

@ricoazzurro
Copy link

Chasm, v1.090 (70240), Linux x64, GOG, Engine: FNA 24.01, MonoGame
Box64 with Dynarec v0.2.7 c40e31f

The game failed with,

Error: PltResolver: Symbol SDL_GetWindowSizeInPixels(ver 1: SDL_GetWindowSizeInPixels) not found, cannot apply R_X86_64_JUMP_SLOT 0x3f0128c1c8 (0x3f0100ab76) in /opt/games/chasm/lib64/libFNA3D.so.0
Sigfault/Segbus while quitting, exiting silently

ptitSeb/box86-compatibility-list#393

@mcagabe19
Copy link
Contributor

have you tried BOX64_PREFER_EMULATED=1?

@ricoazzurro
Copy link
Author

Thanks.
I'm using SDL2 and sdl12-compat.
I'll futher test sideloading or using native SDL1.

ptitSeb added a commit that referenced this issue Feb 4, 2024
@ptitSeb
Copy link
Owner

ptitSeb commented Feb 4, 2024

I have updated SDL2 wrapping on box64. It should go farther now.
But I'm a bit confused on what is happening, because the missing function is SDL2, not SDL1. So the sdl12-compat is an x86_64 one?

@ricoazzurro
Copy link
Author

Thank you.
My system has native aarch64 SDL2 and sdl12-compat installed.
I didn't install aarch64 SDL1.

I'm not familiar with functions between SDL2 and SDL1.
So please ignore me saying about trying sideloading SDL1 (both aarch64/x86_64).

I just have no further methods to try the game.
Then I remembered once you said about, sdl12-compat didn't fully cover SDL1. Some games might still need SDL1.

I'll test with latest box64 git again.
Thank you for taking time to wrap the function :)

@ricoazzurro
Copy link
Author

have you tried BOX64_PREFER_EMULATED=1?

You are right.
The game can be launched by BOX64_PREFER_EMULATED=1 at previous box64 git version 2fe872d,
which is before Seb's commit of wrapping the function 5bf2a7d

Working log,

rico [ /opt/games/chasm ]$ ./box64-start.sh 
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS SHA1 SHA2 PageSize:4096 Running on Cortex-A55 Cortex-A76 with 8 Cores
Params database has 55 entries
Box64 with Dynarec v0.2.7 2fe872d built on Feb  3 2024 08:14:14
BOX64: Didn't detect 48bits of address space, considering it's 39bits
BOX64: Prefering Emulated libs
Counted 65 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/:/opt/rustc/bin/:/usr/local/bin/:/usr/bin/:/opt/ant/bin/:/opt/jdk/bin/:/opt/bin/
Looking for ./Chasm
Rename process to "Chasm"
Using native(wrapped) libm.so.6
Using native(wrapped) librt.so.1
Using native(wrapped) libdl.so.2
Using native(wrapped) libpthread.so.0
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libutil.so.1
Using native(wrapped) libbsd.so.0
Started
Using emulated /opt/games/chasm/lib64/libSDL2-2.0.so.0
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) libXi.so.6
Using native(wrapped) libXfixes.so.3
Using native(wrapped) libXrandr.so.2
Using native(wrapped) libXrender.so.1
Using native(wrapped) libXss.so.1
Using native(wrapped) libusb-1.0.so.0
Using native(wrapped) libudev.so.1
Using emulated /opt/games/chasm/lib64/libFNA3D.so.0
Using native(wrapped) libGL.so.1
Using emulated /opt/games/chasm/lib64/libFAudio.so.0
Arguments [0]
Game Intialize
LoadConfig() called
LoadConfig done.
LoadUserConfig() called
File does not exist, so will be saved to '/home/rico/.local/share/Chasm/config.ini'.
Platform language 'English' is supported and has been assigned.
Saving file '/home/rico/.local/share/Chasm/config.ini' because language was not previously set.
ConfigReader.Save( /home/rico/.local/share/Chasm/config.ini ) called.
Fullscreen=0
MusicVolume=1
SoundVolume=1
Seed=0
FitToScreen=0
Scaling=4
ButtonStyle=Microsoft
Notice: UserConfigSetting 'DisplayStyle' was not specified.
UseStrobes=1
GamepadDetectEnabled=1
MouseEnabled=0
RumbleEnabled=1
ShowFPS=0
Notice: UserConfigSetting 'ShowHUD' was not specified.
Notice: UserConfigSetting 'Log' was not specified.
ShowPerformanceMetric=0
UseLoadingThread=1
ShowTimer=0
Console=1
Mapping_MoveLeft=Left
Mapping_MoveRight=Right
Mapping_MoveUp=Up
Mapping_MoveDown=Down
Mapping_Jump=Z
Mapping_LeftHand=X
Mapping_RightHand=C
Mapping_Backdash=V
Mapping_BumperLeft=A
Mapping_BumperRight=D
Mapping_CharacterMenu=Enter
Mapping_Map=Tab
Gamepad_MoveLeft=DPadLeft
Gamepad_MoveRight=DPadRight
Gamepad_MoveUp=DPadUp
Gamepad_MoveDown=DPadDown
Gamepad_Jump=A
Gamepad_LeftHand=X
Gamepad_RightHand=B
Gamepad_Backdash=Y
Gamepad_BumperLeft=LeftShoulder
Gamepad_BumperRight=RightShoulder
Gamepad_CharacterMenu=Start
Gamepad_Map=Back
Notice: UserConfigSetting 'GamePadDisabled' was not specified.
Benchmarking=0
Language=English
Notice: UserConfigSetting 'FullscreenIndex' was not specified.
Notice: UserConfigSetting 'CustomResX' was not specified.
Notice: UserConfigSetting 'CustomResY' was not specified.
PlatformLanguage=English
MusicType=standard
ConfigReader.Save( /home/rico/.local/share/Chasm/config.ini ) done.
LoadUserConfig done. result=True
Using native(wrapped) libpulse.so.0

I have updated SDL2 wrapping on box64. It should go farther now.

Thank you a lot for wrapping the function, the game can not only go further, but also be played smoothly now, even without BOX64_PREFER_EMULATED=1

Working log,

rico [ /opt/games/chasm ]$ ./box64-start.sh 
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS SHA1 SHA2 PageSize:4096 Running on Cortex-A55 Cortex-A76 with 8 Cores
Params database has 57 entries
Box64 with Dynarec v0.2.7 608c13e built on Feb  5 2024 04:54:43
BOX64: Didn't detect 48bits of address space, considering it's 39bits
Counted 65 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/:/opt/rustc/bin/:/usr/local/bin/:/usr/bin/:/opt/ant/bin/:/opt/jdk/bin/:/opt/bin/
Looking for ./Chasm
Rename process to "Chasm"
Using native(wrapped) libm.so.6
Using native(wrapped) librt.so.1
Using native(wrapped) libdl.so.2
Using native(wrapped) libpthread.so.0
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libutil.so.1
Using native(wrapped) libbsd.so.0
Started
Using native(wrapped) libSDL2-2.0.so.0
Using emulated /opt/games/chasm/lib64/libFNA3D.so.0
Using native(wrapped) libFAudio.so.0
Arguments [0]
Using native(wrapped) libGL.so.1
Game Intialize
LoadConfig() called
LoadConfig done.
LoadUserConfig() called
LoadUserConfig done. result=True

Screenshots

Chasm-1
Chasm-2
Chasm-3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants