ptitSeb / box86-compatibility-list

Box86 Compatibility List (Games and Software)
MIT License
65 stars 2 forks source link

Neverwinter Nights (Native) #301

Open ricoazzurro opened 1 year ago

ricoazzurro commented 1 year ago

Description

Neverwinter Nights Enhanced Edition, v87.8193.35-40s, Linux x64, GOG Digital Deluxe Edition, Engine: Aurora

Box64 with Dynarec v0.2.3 7e282c9

Rock 5B, LFS, BSP kernel 5.10.160 rkr4.1, Gnome 44.2 PAN_MESA_DEBUG=gofaster,gl3 1080p, default game setting

Working.

And this version comes with native arm64 bins, need to figure out how to launch it directly. I tried to cd into the game bin/linux-arm64 folder and ./nwmain-linux, but faild.

good log with box64

rico [ /opt/games/neverwinter_nights ]$ ./box64-start.sh 
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS PageSize:4096 Running on Cortex-A55 Cortex-A76 with 8 Cores
Params database has 24 entries
Box64 with Dynarec v0.2.3 7e282c9 built on Jun 16 2023 10:18:30
Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
Using default BOX64_PATH: ./:bin/
Counted 59 Env var
Looking for ./bin/linux-x86/launch.sh
Not an ELF file (sign=#!/b)
Error: reading elf header of /opt/games/neverwinter_nights/bin/linux-x86/launch.sh, try to launch natively instead
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS PageSize:4096 Running on Cortex-A55 Cortex-A76 with 8 Cores
Params database has 24 entries
Box64 with Dynarec v0.2.3 7e282c9 built on Jun 16 2023 10:18:30
Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
Using default BOX64_PATH: ./:bin/
Counted 59 Env var
Looking for ./nwmain-linux
Rename process to "nwmain-linux"
Using native(wrapped) libGL.so.1
Using native(wrapped) librt.so.1
Using native(wrapped) libopenal.so.1
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 emulated /lib/x86_64-linux-gnu/libstdc++.so.6
Using native(wrapped) libm.so.6
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
Registering crash signal handlers.
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) libXrandr.so.2
Using native(wrapped) libXrender.so.1
Using native(wrapped) libXxf86vm.so.1
Using native(wrapped) libXcursor.so.1
Using native(wrapped) libXinerama.so.1
Using native(wrapped) libXrandr.so.2
Using native(wrapped) libXxf86vm.so.1
Error loading needed lib steam_api64
Warning: Cannot dlopen("steam_api64"/0x102946426, 2)
Error loading needed lib libsteam_api64.so
Warning: Cannot dlopen("libsteam_api64.so"/0x102946434, 2)
Error loading needed lib libsteam_api.dylib
Warning: Cannot dlopen("libsteam_api.dylib"/0x102946446, 2)
Error loading needed lib libsteam_api.so
Warning: Cannot dlopen("libsteam_api.so"/0x102946459, 2)
Working Directory For Game Install Is: /opt/games/neverwinter_nights
Working Directory For Your Resources Is: /home/rico/.local/share/Neverwinter Nights
[ALSOFT] (EE) Failed to connect PipeWire event context (errno: 112)
INFO: set viewport

Tested on

Box64 with Dynarec v0.2.3 7e282c9

Rock 5B, LFS, BSP kernel 5.10.160+ rkr4.1, Gnome 44.2 PAN_MESA_DEBUG=gofaster,gl3 1080p, default game setting

Status

Previous behavior:

Working. https://github.com/ptitSeb/box86-compatibility-list/issues/102 https://github.com/ptitSeb/box86-compatibility-list/issues/201

Current behavior:

Working.

Screenshots

Neverwinter Nights-1 Neverwinter Nights-2

OpenGL

Additional Information

https://www.pcgamingwiki.com/wiki/Neverwinter_Nights

ricoazzurro commented 1 year ago

This version comes with native aarch64 bineries, so it will be good to test performance. To launch the game natively on aarch64, enter the game folder, and excute it with env,

cd bin/linux-arm64
PAN_MESA_DEBUG=gofaster,gl3 ./nwmain-linux
sehraf commented 1 year ago

Now this is an interesting one! My guess is that this game is purely GPU limited. (Rock5, panfork)

using default settings:

box64 / x86: +10fps Bildschirmfoto vom 2023-11-21 16-15-01

native: +10fps Bildschirmfoto vom 2023-11-21 16-16-06

using low settings

box64 / x86: +50fps Bildschirmfoto vom 2023-11-21 16-17-43

native: +50fps Bildschirmfoto vom 2023-11-21 16-17-01

sehraf commented 1 year ago

for the record: the Windows version (using box64 + wine WoW64) results in very similar fps :shrug:

ptitSeb commented 1 year ago

Wow, same speed as native! That's a nice :D !

Thanks for the report!

dontdieych commented 2 months ago

How could I install this game in Asahilinux Macbook Air M2? GOG Installer.

> ./neverwinter_nights_enhanced_edition_88_8193_36_13_72824.sh

Verifying archive integrity... All good.
Uncompressing Neverwinter Nights: Enhanced Edition (GOG.com)  100%  
Collecting info for this system...
Warning: No binaries for "aarch64" found, trying to default to x86...
Operating system: linux
CPU Arch: x86
trying mojosetup in bin/linux/x86
USING en_US
./startmojo.sh: line 55: /tmp/selfgz38954910409/bin/linux/x86/mojosetup: cannot execute binary file: Exec format error
Error: Couldn't run mojosetup
ptitSeb commented 2 months ago

How could I install this game in Asahilinux Macbook Air M2? GOG Installer.

> ./neverwinter_nights_enhanced_edition_88_8193_36_13_72824.sh

Verifying archive integrity... All good.
Uncompressing Neverwinter Nights: Enhanced Edition (GOG.com)  100%  
Collecting info for this system...
Warning: No binaries for "aarch64" found, trying to default to x86...
Operating system: linux
CPU Arch: x86
trying mojosetup in bin/linux/x86
USING en_US
./startmojo.sh: line 55: /tmp/selfgz38954910409/bin/linux/x86/mojosetup: cannot execute binary file: Exec format error
Error: Couldn't run mojosetup

Setup BOX64_BASH to point to an x86_64 version of bash (like the one in box64 repo, in the tests folder), then launch the sh using box64 (whith box64 ./neverwinter_nights_enhanced_edition_88_8193_36_13_72824.sh). Box64 will use the x86_64 version of bash to run the script, in a pseudo x86_64 environment (enough to fool the script).

dontdieych commented 2 months ago

@ptitSeb , Thanks. It worked. Actually set BOX64_BASH didn't work but launch bash from tests directory then run installer worked.