OpenXRay / xray-16

Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World. Join OpenXRay! ;)
https://discord.gg/sjRMQwv
Other
3.04k stars 456 forks source link

xray-16 -current on ARM64 (Nvidia Jetson Nano) #663

Closed DoktorCranium closed 3 years ago

DoktorCranium commented 4 years ago

Compiled successfully the https://github.com/OpenXRay/xray-16 according to Linux instructions on the Nvidia Jetson Nano (aarch64)

Linux nanojet 4.9.140 #2 SMP PREEMPT Sun Jan 5 22:32:23 EST 2020 aarch64 aarch64 aarch64 GNU/Linu

OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: NVIDIA Tegra X1 (nvgpu)/integrated OpenGL core profile version string: 4.6.0 NVIDIA 32.3.1 OpenGL core profile shading language version string: 4.60 NVIDIA OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 4.6.0 NVIDIA 32.3.1 OpenGL shading language version string: 4.60 NVIDIA OpenGL context flags: (none) OpenGL profile mask: (none) OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 32.3.1 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

Using the legal owned GOG version of S.T.A.L.K.E.R - (works perfectly fine on Linux amd64) Im getting these errors

user@nanojet:/usr/local/bin$ ./xr_3da -fsltx /home/user/.local/share/GSC/SCOP/fsgame.ltx ! Couldn't create surface from image: Couldn't open logo.bmp OpenXRay Rx86 build 7855, Aug 9 2020 Custom build from commit[1579d1fdba9a9be9163f2932d41e82d1cf811b37] branch[xd_dev]

command line -fsltx /home/user/.local/share/GSC/SCOP/fsgame.ltx

Initializing File System... $fs_root$ = /home/user/.local/share/GSC/SCOP using fs-ltx /home/user/.local/share/GSC/SCOP/fsgame.ltx FS: 39676 files cached 29 archives, 10Kb memory used. Init FileSystem 0.837706 sec -----loading \home\user.local\share\GSC\SCOP\gamedata\configs\system.ltx -----loading \home\user.local\share\GSC\SCOP\gamedata\configs\system.ltx Starting INPUT device... No joysticks available Loading module: xrRender_GL Available render modes[2]: renderergl Executing config-script "user.ltx"... [\home\user.local\share\GSC\SCOP_appdata\user.ltx] successfully loaded. Selected renderer: renderer_gl Loading module: xrGame Initializing Engine... Executing config-script "\home\user.local\share\GSC\SCOP\gamedata\configs\default_controls.ltx"... ! Can't find a key name for kPOWER ! Can't find a key name for kF13 ! Can't find a key name for kF14 ! Can't find a key name for kF15 ! Can't find a key name for kF16 ! Can't find a key name for kF17 ! Can't find a key name for kF18 ! Can't find a key name for kF19 ! Can't find a key name for kCUT ! Can't find a key name for kCOPY ! Can't find a key name for kPASTE ! Can't find a key name for kMUTE ! Can't find a key name for kVOLUMEUP ! Can't find a key name for kVOLUMEDOWN ! Can't find a key name for kINTERNATIONAL1 ! Can't find a key name for kINTERNATIONAL2 ! Can't find a key name for kYEN ! Can't find a key name for kINTERNATIONAL4 ! Can't find a key name for kINTERNATIONAL5 ! Can't find a key name for kINTERNATIONAL6 ! Can't find a key name for kINTERNATIONAL7 ! Can't find a key name for kINTERNATIONAL8 ! Can't find a key name for kINTERNATIONAL9 ! Can't find a key name for kHANGUL ! Can't find a key name for kHANJA ! Can't find a key name for kKATAKANA ! Can't find a key name for kHIRAGANA ! Can't find a key name for kZENHANKAKU ! Can't find a key name for kLANG6 ! Can't find a key name for kLANG7 ! Can't find a key name for kLANG8 ! Can't find a key name for kLANG9 ! Can't find a key name for kAUDIONEXT ! Can't find a key name for kAUDIOPREV ! Can't find a key name for kAUDIOSTOP ! Can't find a key name for kAUDIOPLAY ! Can't find a key name for kMEDIASELECT ! Can't find a key name for kWWW ! Can't find a key name for kMAIL ! Can't find a key name for kCALCULATOR ! Can't find a key name for kCOMPUTER ! Can't find a key name for kNUMPAD_AC_SEARCH ! Can't find a key name for kNUMPAD_AC_HOME ! Can't find a key name for kNUMPAD_AC_BACK ! Can't find a key name for kNUMPAD_AC_FORWARD ! Can't find a key name for kNUMPAD_AC_REFRESH ! Can't find a key name for kNUMPAD_AC_BOOKMARKS ! Can't find a key name for kBRIGHTNESSDOWN ! Can't find a key name for kBRIGHTNESSUP ! Can't find a key name for kDISPLAYSWITCH ! Can't find a key name for kKBDILLUMTOGGLE ! Can't find a key name for kKBDILLUMDOWN ! Can't find a key name for kKBDILLUMUP ! Can't find a key name for kEJECT ! Can't find a key name for kSLEEP ! Can't find a key name for kAPP1 ! Can't find a key name for kAPP2 [\home\user.local\share\GSC\SCOP\gamedata\configs\default_controls.ltx] successfully loaded. Executing config-script "user.ltx"... Executing config-script "\home\user.local\share\GSC\SCOP\gamedata\configs\rspec_high.ltx"... [\home\user.local\share\GSC\SCOP\gamedata\configs\rspec_high.ltx] successfully loaded. Executing config-script "\home\user.local\share\GSC\SCOP\gamedata\configs\default_controls.ltx"... [\home\user.local\share\GSC\SCOP\gamedata\configs\default_controls.ltx] successfully loaded. ! Unknown command: r2_fxaa ! Unknown command: r3_dynamic_wet_surfaces_opt ~ Invalid syntax in call to 'sv_adm_menu_ban_time' ~ Valid arguments: ui_mp_am_10_minutes/ui_mp_am_30_minutes/ui_mp_am_1_hour/ui_mp_am_6_hours/ui_mp_am_1_day/ui_mp_am_1_week/ui_mp_am_1_month/ui_mp_am_3_monthes/ui_mp_am_forever ~ Invalid syntax in call to 'sv_suspicious_actions_ban_time' ~ Valid arguments: ui_mp_am_10_minutes/ui_mp_am_30_minutes/ui_mp_am_1_hour/ui_mp_am_6_hours/ui_mp_am_1_day/ui_mp_am_1_week/ui_mp_am_1_month/ui_mp_am_3_monthes/ui_mp_amforever [\home\user.local\share\GSC\SCOP_appdata\user.ltx] successfully loaded. SOUND: OpenAL: enumerate devices... SOUND: OpenAL: EnumerationExtension Present devices OpenAL Soft SOUND: OpenAL: system default SndDevice name is OpenAL Soft SOUND: OpenAL: All available devices:

  1. OpenAL Soft, Spec Version 1.1 (default) eax[0] efx[yes] xram[no] SOUND: Selected device is OpenAL Soft
    • sound: EAX 2.0 extension: absent
    • sound: EAX 2.0 deferred: absent
    • sound : cache: 65537 kb, 4856 lines, 13820 bpl Starting RENDER device...
    • GPU vendor: [NVIDIA Corporation] device: [NVIDIA Tegra X1 (nvgpu)/integrated]
    • GPU OpenGL version: 4.1.0 NVIDIA 32.3.1
    • GPU OpenGL shading language version: 4.10 NVIDIA via Cg compiler
    • GPU OpenGL VTF units: [32] CTI units: [192]
    • DVB created: 4096K
    • DIB created: 512K ! Renderer doesn't support blender 'effects\shadow_world'

SCRIPT RUNTIME ERROR

FATAL ERROR

[error] Expression : [error] Function : handler_base [error] File : /home/user/SRC/xray-16/src/xrCore/xrDebug.cpp [error] Line : 868 [error] Description : segmentation fault

stack trace:

xrDebug::GatherInfo(char, unsigned long, ErrorLocation const&, char const, char const, char const, char const) xrDebug::Fail(bool&, ErrorLocation const&, char const, char const, char const, char const) /lib/xrCore.so(+0x450f4) [0x7f9da6b0f4] linux-vdso.so.1(__kernel_rt_sigreturn+0) [0x7f9dd286c0] /lib/xrLuajit.so(lua_getstack+0x58) [0x7f9d189ab0] /lib/xrLuajit.so(luaL_traceback+0x184) [0x7f9d18a144] CScriptEngine::print_stack(lua_State) CScriptEngine::print_output(lua_State, char const, int, char const) CScriptEngine::onErrorCallback(lua_State, char const, int, char const) CScriptEngine::lua_pcall_failed(lua_State) /lib/xrLuajit.so(+0x7c254) [0x7f9d1f4254] /lib/xrLuajit.so(+0xac2c) [0x7f9d182c2c] /lib/xrLuajit.so(+0xad2c) [0x7f9d182d2c] /lib/xrLuajit.so(+0xaf18) [0x7f9d182f18] /lib/xrLuajit.so(+0xfffc) [0x7f9d187ffc] /lib/xrLuajit.so(+0x7c844) [0x7f9d1f4844] /lib/xrLuajit.so(lua_pcall+0xc0) [0x7f9d192ca8] luabind::detail::pcall(lua_State, int, int) /lib/xrRender_GL.so(+0x2e200) [0x7f88538200] /lib/xrRender_GL.so(+0x2e9ac) [0x7f885389ac] Trace/breakpoint trap (core dumped)

007exe commented 4 years ago

Are you using the nouveau driver? And which distribution are you using

eagleivg commented 4 years ago

Did you copy the contents of the res folder to the .local/share/GSC/SCOP folder? ~/.local/share/GSC/SCOP/gamedata/shaders/gl is present?

DoktorCranium commented 4 years ago

Im on Ubuntu 20.04 aarch64 and Im using a native Nvidia driver (Nvidia Tegra) for the Jetson Nano (aarch64) - yes and I have the shaders/gl present

A quick note here - I have compiled the game and ran it fine on Linux (Ubuntu 18.04) x86_64 with a better Nvidia card + native Nvidia drivers. Same steps for the build were used on the aarch64 Nvidia Jetson Nano ( https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-nano/ )

eagleivg commented 4 years ago

Then run the game under the gdb and copy the detail stacktrace here.

DoktorCranium commented 4 years ago

(gdb) file /usr/local/bin/xr_3da Reading symbols from /usr/local/bin/xr_3da... (No debugging symbols found in /usr/local/bin/xr_3da) (gdb) r -fsltx /home/user/.local/share/GSC/SCOP/fsgame.ltx Starting program: /usr/local/bin/xr_3da -fsltx /home/user/.local/share/GSC/SCOP/fsgame.ltx [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1". ! Couldn't create surface from image: Couldn't open logo.bmp OpenXRay Rx86 build 7855, Aug 9 2020 Custom build from commit[1579d1fdba9a9be9163f2932d41e82d1cf811b37] branch[xd_dev]

command line -fsltx /home/user/.local/share/GSC/SCOP/fsgame.ltx

Initializing File System... $fs_root$ = /home/user/.local/share/GSC/SCOP using fs-ltx /home/user/.local/share/GSC/SCOP/fsgame.ltx FS: 39676 files cached 29 archives, 10Kb memory used. Init FileSystem 0.786352 sec -----loading \home\user.local\share\GSC\SCOP\gamedata\configs\system.ltx -----loading \home\user.local\share\GSC\SCOP\gamedata\configs\system.ltx Starting INPUT device... No joysticks available Loading module: xrRender_GL Available render modes[2]: renderergl Executing config-script "user.ltx"... [\home\user.local\share\GSC\SCOP_appdata\user.ltx] successfully loaded. Selected renderer: renderer_gl Loading module: xrGame Initializing Engine... Executing config-script "\home\user.local\share\GSC\SCOP\gamedata\configs\default_controls.ltx"... ! Can't find a key name for kPOWER ! Can't find a key name for kF13 ! Can't find a key name for kF14 ! Can't find a key name for kF15 ! Can't find a key name for kF16 ! Can't find a key name for kF17 ! Can't find a key name for kF18 ! Can't find a key name for kF19 ! Can't find a key name for kCUT ! Can't find a key name for kCOPY ! Can't find a key name for kPASTE ! Can't find a key name for kMUTE ! Can't find a key name for kVOLUMEUP ! Can't find a key name for kVOLUMEDOWN ! Can't find a key name for kINTERNATIONAL1 ! Can't find a key name for kINTERNATIONAL2 ! Can't find a key name for kYEN ! Can't find a key name for kINTERNATIONAL4 ! Can't find a key name for kINTERNATIONAL5 ! Can't find a key name for kINTERNATIONAL6 ! Can't find a key name for kINTERNATIONAL7 ! Can't find a key name for kINTERNATIONAL8 ! Can't find a key name for kINTERNATIONAL9 ! Can't find a key name for kHANGUL ! Can't find a key name for kHANJA ! Can't find a key name for kKATAKANA ! Can't find a key name for kHIRAGANA ! Can't find a key name for kZENHANKAKU ! Can't find a key name for kLANG6 ! Can't find a key name for kLANG7 ! Can't find a key name for kLANG8 ! Can't find a key name for kLANG9 ! Can't find a key name for kAUDIONEXT ! Can't find a key name for kAUDIOPREV ! Can't find a key name for kAUDIOSTOP ! Can't find a key name for kAUDIOPLAY ! Can't find a key name for kMEDIASELECT ! Can't find a key name for kWWW ! Can't find a key name for kMAIL ! Can't find a key name for kCALCULATOR ! Can't find a key name for kCOMPUTER ! Can't find a key name for kNUMPAD_AC_SEARCH ! Can't find a key name for kNUMPAD_AC_HOME ! Can't find a key name for kNUMPAD_AC_BACK ! Can't find a key name for kNUMPAD_AC_FORWARD ! Can't find a key name for kNUMPAD_AC_REFRESH ! Can't find a key name for kNUMPAD_AC_BOOKMARKS ! Can't find a key name for kBRIGHTNESSDOWN ! Can't find a key name for kBRIGHTNESSUP ! Can't find a key name for kDISPLAYSWITCH ! Can't find a key name for kKBDILLUMTOGGLE ! Can't find a key name for kKBDILLUMDOWN ! Can't find a key name for kKBDILLUMUP ! Can't find a key name for kEJECT ! Can't find a key name for kSLEEP ! Can't find a key name for kAPP1 ! Can't find a key name for kAPP2 [\home\user.local\share\GSC\SCOP\gamedata\configs\default_controls.ltx] successfully loaded. Executing config-script "user.ltx"... Executing config-script "\home\user.local\share\GSC\SCOP\gamedata\configs\rspec_high.ltx"... [\home\user.local\share\GSC\SCOP\gamedata\configs\rspec_high.ltx] successfully loaded. Executing config-script "\home\user.local\share\GSC\SCOP\gamedata\configs\default_controls.ltx"... [\home\user.local\share\GSC\SCOP\gamedata\configs\default_controls.ltx] successfully loaded. ! Unknown command: r2_fxaa ! Unknown command: r3_dynamic_wet_surfaces_opt ~ Invalid syntax in call to 'sv_adm_menu_ban_time' ~ Valid arguments: ui_mp_am_10_minutes/ui_mp_am_30_minutes/ui_mp_am_1_hour/ui_mp_am_6_hours/ui_mp_am_1_day/ui_mp_am_1_week/ui_mp_am_1_month/ui_mp_am_3_monthes/ui_mp_am_forever ~ Invalid syntax in call to 'sv_suspicious_actions_ban_time' ~ Valid arguments: ui_mp_am_10_minutes/ui_mp_am_30_minutes/ui_mp_am_1_hour/ui_mp_am_6_hours/ui_mp_am_1_day/ui_mp_am_1_week/ui_mp_am_1_month/ui_mp_am_3_monthes/ui_mp_amforever [\home\user.local\share\GSC\SCOP_appdata\user.ltx] successfully loaded. SOUND: OpenAL: enumerate devices... SOUND: OpenAL: EnumerationExtension Present devices OpenAL Soft SOUND: OpenAL: system default SndDevice name is OpenAL Soft [New Thread 0x7fa0393d70 (LWP 87896)] [Thread 0x7fa0393d70 (LWP 87896) exited] [New Thread 0x7fa0312d70 (LWP 87897)] [New Thread 0x7fa0312d70 (LWP 87898)] [Thread 0x7fa0312d70 (LWP 87897) exited] [New Thread 0x7f8fb11d70 (LWP 87899)] [New Thread 0x7f8f910d70 (LWP 87900)] [Thread 0x7f8f910d70 (LWP 87900) exited] [Thread 0x7f8fb11d70 (LWP 87899) exited] SOUND: OpenAL: All available devices:

  1. OpenAL Soft, Spec Version 1.1 (default) eax[0] efx[yes] xram[no] SOUND: Selected device is OpenAL Soft [Thread 0x7fa0312d70 (LWP 87898) exited] [New Thread 0x7fa0312d70 (LWP 87901)] [New Thread 0x7f8fb11d70 (LWP 87902)] [New Thread 0x7f8f910d70 (LWP 87903)]
    • sound: EAX 2.0 extension: absent
    • sound: EAX 2.0 deferred: absent
    • sound : cache: 65537 kb, 4856 lines, 13820 bpl [New Thread 0x7f8abfed70 (LWP 87904)] [New Thread 0x7f89ff9d70 (LWP 87905)] [New Thread 0x7f89bf8d70 (LWP 87906)] [New Thread 0x7f897f7d70 (LWP 87907)] [New Thread 0x7f893f6d70 (LWP 87908)] Starting RENDER device...
    • GPU vendor: [NVIDIA Corporation] device: [NVIDIA Tegra X1 (nvgpu)/integrated]
    • GPU OpenGL version: 4.1.0 NVIDIA 32.3.1
    • GPU OpenGL shading language version: 4.10 NVIDIA via Cg compiler
    • GPU OpenGL VTF units: [32] CTI units: [192]
    • DVB created: 4096K
    • DIB created: 512K ! Renderer doesn't support blender 'effects\shadow_world'

SCRIPT RUNTIME ERROR

Thread 1 "xr_3da" received signal SIGSEGV, Segmentation fault. 0x0000007fb745eab0 in lua_getstack () from /lib/xrLuajit.so (gdb)

eagleivg commented 4 years ago

It seems that you have additional scripts (installed mods?). If there is something in gamedata/scrīts, delete this folder.

DoktorCranium commented 4 years ago

there is no sciprts in the .local/share/GSC/SCOP directory or any subdirectories in gamedata there is only shaders

eagleivg commented 4 years ago

There may also be a problem with building LuaJIT via CMake. Try to build it separately via Makefile and replace it manually in the final assembly.

DoktorCranium commented 4 years ago

You mean the Externals/LuaJIT Makefile in the sources ? Have you done this already ? The included LuaJIT errors on make . make -C src no rule to make target lj_vm.o beeded by luajit.a Stop.

I would need to readup more on the luajit on arm64 (aarch64) platform

eagleivg commented 4 years ago

Not so. Go to Externals/LuaJIT, and just run make clean && make Then copy ./src/libluajit.so to the folder with xr_3da

DoktorCranium commented 4 years ago

like I wrote it errors on the version bundled with xray-16 no rule to make target lj_vm.o needed by libluajit.a Stop.

DoktorCranium commented 4 years ago

git clone https://github.com/LuaJIT/LuaJIT.git (branch 2.1) builds fine on aarch64 Ubuntu 20.04 the bundled one does not for some reason

DoktorCranium commented 4 years ago

I think I forgot to mention that initially I had this error present

/home/user/SRC/xray-16/Externals/sse2neon/sse2neon.h:55: warning: "FORCE_INLINE" redefined 55 #define FORCE_INLINE static inline attribute((always_inline))
In file included from /home/user/SRC/xray-16/src/xrCDB/../Common/Platform.hpp:34, from /home/user/SRC/xray-16/src/xrCDB/../Common/Common.hpp:4, from /home/user/SRC/xray-16/src/xrCDB/stdafx.h:3, from /home/user/SRC/xray-16/bin/src/xrCDB/cotire/xrCDB_CXX_prefix.cxx:4, from /home/user/SRC/xray-16/bin/src/xrCDB/cotire/xrCDB_CXX_prefix.hxx:4: /home/user/SRC/xray-16/src/xrCDB/../Common/Compiler.inl:3: note: this is the location of the previous definition 3 #define FORCE_INLINE attribute((always_inline)) inline

[ 23%] Building CXX object src/xrCDB/CMakeFiles/xrCDB.dir/xr_area_raypick.cpp.o In file included from /home/user/SRC/xray-16/src/xrCDB/xrCDB_ray.cpp:9: /home/user/SRC/xray-16/Externals/sse2neon/sse2neon.h: In function ‘m128i _mm_aesenc_si128(m128i, m128i)’: /home/user/SRC/xray-16/Externals/sse2neon/sse2neon.h:2731:20: error: ‘vld1q_u8_x4’ was not declared in this scope; did you mean ‘vld1q_u8_x2’? 2731 | v = vqtbl4q_u8(vld1q_u8_x4(crypto_aes_sbox), w); | ^~~ | vld1q_u8_x2 In file included from /home/user/SRC/xray-16/src/xrCDB/ISpatial_q_ray.cpp:14: /home/user/SRC/xray-16/Externals/sse2neon/sse2neon.h: In function ‘m128i _mm_aesenc_si128(m128i, m128i)’: /home/user/SRC/xray-16/Externals/sse2neon/sse2neon.h:2731:20: error: ‘vld1q_u8_x4’ was not declared in this scope; did you mean ‘vld1q_u8_x2’? 2731 | v = vqtbl4q_u8(vld1q_u8_x4(crypto_aes_sbox), w); | ^~~ | vld1q_u8_x2 make[2]: [src/xrCDB/CMakeFiles/xrCDB.dir/build.make:134: src/xrCDB/CMakeFiles/xrCDB.dir/ISpatial_q_ray.cpp.o] Error 1 make[2]: Waiting for unfinished jobs.... make[2]: [src/xrCDB/CMakeFiles/xrCDB.dir/build.make:232: src/xrCDB/CMakeFiles/xrCDB.dir/xrCDB_ray.cpp.o] Error 1 make[1]: [CMakeFiles/Makefile2:1766: src/xrCDB/CMakeFiles/xrCDB.dir/all] Error 2 make: *** [Makefile:152: all] Error 2 user@nanojet:~/SRC/xray-16/bin$

what I have done is change the vld1q_u8_x4 to vld1q_u8_x2 and the whole release compiled then .. now I see this when Im replicating a clean build - this might be the culprit actually

I will try to rebuild this with clang to see if there is any difference

DoktorCranium commented 4 years ago

Well - clang 10.0 build fails during xrLua linking on arm64 for me .. However it builds out of the box with GCC 8.4.0 on aarch64 Ubuntu 20.04 but segfaults with same errors like previously. I guess the Nvidia Jetson Nano is just not capable of running this game .. Thanks for your support !

Zigatun commented 4 years ago

@DoktorCranium which LuaJIT did you use? Comes with OpenXRay? If not, try to compile version, which bundled with OpenXRay repo.

Also join in our Discord channel for a more lively communication: discord.gg/sjrmqwv

KiralyCraft commented 3 years ago

I've been suggested on Discord to try commit b8992dfd680f52c7b48b13c07ca0d73cf9377a78. It seems to work; compiles and runs beautifully. I'm also running on a similar platform, you might want to give it a go

DartPower commented 3 years ago

Have some problems with compilation on Orange Pi PC2 CMake latest (yes, updated) version is 3.13.4, but on CMakeLists is 3.16 Changed version to 3.13.4 and have some problems with unknown for this CMake version "target_precompile_headers", removing that and compiling.

But errors:

In file included from /home/dartpower/Downloads/xray-16/src/xrCore/net_utils.h:5,
                 from /home/dartpower/Downloads/xray-16/src/xrNetServer/empty/../NET_Common.h:4,
                 from /home/dartpower/Downloads/xray-16/src/xrNetServer/empty/NET_Client.h:4,
                 from /home/dartpower/Downloads/xray-16/src/xrNetServer/empty/NET_Client.cpp:1:
/home/dartpower/Downloads/xray-16/src/xrCore/_types.h:65:2: error: #error Define here lenght of the file paths strings for your platform
 #error Define here lenght of the file paths strings for your platform
  ^~~~~
In file included from /home/dartpower/Downloads/xray-16/src/Common/Platform.hpp:39,
                 from /home/dartpower/Downloads/xray-16/src/Common/Common.hpp:4,
                 from /home/dartpower/Downloads/xray-16/src/xrNetServer/stdafx.h:3,
                 from /home/dartpower/Downloads/xray-16/src/xrNetServer/empty/NET_Client.cpp:6:
/home/dartpower/Downloads/xray-16/src/Common/PlatformLinux.inl:480: warning: "ZeroMemory" redefined
 #define ZeroMemory(p, sz) memset((p), 0, (sz))

In file included from /home/dartpower/Downloads/xray-16/src/xrCore/Memory/xalloc.h:3,
                 from /home/dartpower/Downloads/xray-16/src/xrCommon/xr_allocator.h:2,
                 from /home/dartpower/Downloads/xray-16/src/xrCommon/xr_string.h:3,
                 from /home/dartpower/Downloads/xray-16/src/xrCore/net_utils.h:7,
                 from /home/dartpower/Downloads/xray-16/src/xrNetServer/empty/../NET_Common.h:4,
                 from /home/dartpower/Downloads/xray-16/src/xrNetServer/empty/NET_Client.h:4,
                 from /home/dartpower/Downloads/xray-16/src/xrNetServer/empty/NET_Client.cpp:1:
/home/dartpower/Downloads/xray-16/src/xrCore/xrMemory.h:35: note: this is the location of the previous definition
 #define ZeroMemory(dst, size) memset(dst, 0, size)

In file included from /home/dartpower/Downloads/xray-16/src/Common/Platform.hpp:39,
                 from /home/dartpower/Downloads/xray-16/src/Common/Common.hpp:4,
                 from /home/dartpower/Downloads/xray-16/src/xrNetServer/stdafx.h:3,
                 from /home/dartpower/Downloads/xray-16/src/xrNetServer/empty/NET_Client.cpp:6:
/home/dartpower/Downloads/xray-16/src/Common/PlatformLinux.inl:481: warning: "CopyMemory" redefined
 #define CopyMemory(d, s, n) memcpy(d, s, n)

In file included from /home/dartpower/Downloads/xray-16/src/xrCore/Memory/xalloc.h:3,
                 from /home/dartpower/Downloads/xray-16/src/xrCommon/xr_allocator.h:2,
                 from /home/dartpower/Downloads/xray-16/src/xrCommon/xr_string.h:3,
                 from /home/dartpower/Downloads/xray-16/src/xrCore/net_utils.h:7,
                 from /home/dartpower/Downloads/xray-16/src/xrNetServer/empty/../NET_Common.h:4,
                 from /home/dartpower/Downloads/xray-16/src/xrNetServer/empty/NET_Client.h:4,
                 from /home/dartpower/Downloads/xray-16/src/xrNetServer/empty/NET_Client.cpp:1:
/home/dartpower/Downloads/xray-16/src/xrCore/xrMemory.h:36: note: this is the location of the previous definition
 #define CopyMemory(dst, src, size) memcpy(dst, src, size)

In file included from /home/dartpower/Downloads/xray-16/src/xrCore/net_utils.h:5,
                 from /home/dartpower/Downloads/xray-16/src/xrNetServer/empty/../NET_Common.h:4,
                 from /home/dartpower/Downloads/xray-16/src/xrNetServer/empty/NET_Client.h:4,
                 from /home/dartpower/Downloads/xray-16/src/xrNetServer/empty/NET_Client.cpp:1:
/home/dartpower/Downloads/xray-16/src/xrCore/_types.h:78:30: error: ‘max_path’ was not declared in this scope
 using string_path = char[2 * max_path];
                              ^~~~~~~~
In file included from /home/dartpower/Downloads/xray-16/src/xrCore/Memory/xalloc.h:3,
                 from /home/dartpower/Downloads/xray-16/src/xrCommon/xr_allocator.h:2,
                 from /home/dartpower/Downloads/xray-16/src/xrCommon/xr_string.h:3,
                 from /home/dartpower/Downloads/xray-16/src/xrCore/net_utils.h:7,
                 from /home/dartpower/Downloads/xray-16/src/xrNetServer/empty/../NET_Common.h:4,
                 from /home/dartpower/Downloads/xray-16/src/xrNetServer/empty/NET_Client.h:4,
                 from /home/dartpower/Downloads/xray-16/src/xrNetServer/empty/NET_Client.cpp:1:
/home/dartpower/Downloads/xray-16/src/xrCore/xrMemory.h:7:18: error: variable ‘XRCORE_API xrMemory’ has initializer but incomplete type
 class XRCORE_API xrMemory
                  ^~~~~~~~
/home/dartpower/Downloads/xray-16/src/xrCore/xrMemory.h:9:1: error: expected primary-expression before ‘public’
 public:
 ^~~~~~
/home/dartpower/Downloads/xray-16/src/xrCore/xrMemory.h:9:1: error: expected ‘}’ before ‘public’
/home/dartpower/Downloads/xray-16/src/xrCore/xrMemory.h:8:1: note: to match this ‘{’
 {
 ^
/home/dartpower/Downloads/xray-16/src/xrCore/xrMemory.h:9:1: error: expected ‘,’ or ‘;’ before ‘public’
 public:
 ^~~~~~
/home/dartpower/Downloads/xray-16/src/xrCore/xrMemory.h:16:1: error: expected unqualified-id before ‘public’
 public:
 ^~~~~~
/home/dartpower/Downloads/xray-16/src/xrCore/xrMemory.h:28:1: error: expected declaration before ‘}’ token
 };
 ^
make[2]: *** [src/xrNetServer/CMakeFiles/xrNetServer.dir/build.make:141: src/xrNetServer/CMakeFiles/xrNetServer.dir/empty/NET_Client.cpp.o] Ошибка 1
make[1]: *** [CMakeFiles/Makefile2:1605: src/xrNetServer/CMakeFiles/xrNetServer.dir/all] Ошибка 2
make[1]: *** Ожидание завершения заданий…
[ 21%] Built target OPCODE
make: *** [Makefile:152: all] Ошибка 2
Xottab-DUTY commented 3 years ago

@DartPower, what is your OS? Only Windows and Linux are supported.

DartPower commented 3 years ago

@DartPower, what is your OS? Only Windows and Linux are supported.

Armbian Buster on kernel 5.10.y

From "uname -a": Linux DPTOPIPC2 5.10.21-sunxi64 # 21.02.3 SMP Mon Mar 8 00:45:13 UTC 2021 aarch64 GNU/Linux

and from neofetch: OS: Debian GNU/Linux 10 (buster) aarch64 Host: Xunlong Orange Pi PC 2 Kernel: 5.10.21-sunxi64 Shell: bash 5.0.3 CPU: sun50iw1p1 (4) @ 1.200GHz

Masterkatze commented 3 years ago

@DartPower You need to update your CMake to 3.16 and try latest commit

Maybe this link is useful https://packages.debian.org/buster-backports/arm64/cmake/download

DartPower commented 3 years ago

image image Oh my god... Compilation is very slow on this device :( I think what need to write github actions for aarch64...

Masterkatze commented 3 years ago

@DartPower It will be possible to crosscompile it, I will create PR soon

DartPower commented 3 years ago

Thanks a lot! I want to try.

Masterkatze commented 3 years ago

@DartPower you can try using this commit https://github.com/OpenXRay/xray-16/pull/789/commits/104c0aa10c7548026d79978ebc8d5816df6fb12e

Xottab-DUTY commented 3 years ago

@DoktorCranium, can you try to launch the game again?

DoktorCranium commented 3 years ago

Im testing again on the Nvidia Jetson Nano right now - rebuilding the code - will let you know how it went

DoktorCranium commented 3 years ago

Compiled the latest git sources on the Nvidia Jetson Nano (Ubuntu 20.04 aarch64)

user@nanojet:/usr/games$ ./xr_3da ! Couldn't create surface from image: Couldn't open logo.bmp OpenXRay Rx86 build 8158, Jun 8 2021 Custom build from commit[58f78313144790e81d22c79dc2b5384aaf53cc2c] branch[dev]

command line

FATAL ERROR

[error] Expression : [error] Function : handler_base [error] File : /home/user/SRC/xray-16/src/xrCore/xrDebug.cpp [error] Line : 873 [error] Description : illegal instruction

stack trace:

xrDebug::GatherInfo(char, unsigned long, ErrorLocation const&, char const, char const, char const, char const) xrDebug::Fail(bool&, ErrorLocation const&, char const, char const, char const, char const) /lib/aarch64-linux-gnu/xrCore.so(+0x3d160) [0x7fafbb1160] linux-vdso.so.1(__kernel_rt_sigreturn+0) [0x7fafed66c0] CPU::GetCLK() _initialize_cpu() xrCore::Initialize(char const, char const, LogCallback, bool, char const, bool) ./xr_3da(+0x173c) [0x55565d673c] ./xr_3da(+0x1318) [0x55565d6318] /lib/aarch64-linux-gnu/libc.so.6(__libc_start_main+0xe8) [0x7faf6d3090] ./xr_3da(+0x1560) [0x55565d6560] Trace/breakpoint trap (core dumped)

Xottab-DUTY commented 3 years ago

@DoktorCranium, @heavycube4u, please check it with the latest commits, I've fixed the problem with illegal instruction in GetCLK(). Thank you :)

heavycube4u commented 3 years ago

Just finished compiling, it finally opens correctly.

Xottab-DUTY commented 3 years ago

@heavycube4u, is it playable?

heavycube4u commented 3 years ago

Consistent 20 or so FPS. Only settings I've changed from default is the resolution and running the game in windowed mode, by bringing it down from 1920x1080 to 1280x720. image

DoktorCranium commented 3 years ago

Im currently away from my Nvidia Jetson Nano device and will be only able to test this next month - but I see from the previous post that it indeed runs now

Xottab-DUTY commented 3 years ago

According to #883, this issue is fixed. Yayyy! 🥳 (look at #883, there is a video)