Closed parkerlreed closed 4 years ago
@a1batross I see it noted on the port status that Android/Linux (aarch64) is still in dev. Is there a place I can see the activity for this?
We did not maintain Arch linux and Arch package maintainer probably made some mistakes. As an example Arch linux package for x86 does not have vgui_support library. For arm need to compile xash3d with nanogl/OpenGL ES support and to have SDL2 library compiled with OpenGL ES support, but package was compiled with OpenGL support.
1) Don't really use Arch Linux AUR package. It's outdated and was never tested for ARM. I've removed Arch Linux package recommendatation from README.md now. 2) Compile it from the sources enabling NanoGL/gl-wes-v2 support which will you GLES1 and GLES2 renderers. I don't think your board has OpenGL, it's rare for ARM boards. 3) Thanks for posting strace log, but engine can write log by itself by passing -dev 2 -log to command line.
Thanks. The board I was testing on does have full OpenGL 4.6 (Nintendo Switch with Tegra X1. Same drivers as the Jetson Nano)
So in that case do I need to just do a normal compile? That's why I thought the AUR packages would work.
I see the notes about regular x86. Does it need 32bit on ARM as well or does the ARM 64bit support work for the Steam data files?
I see the notes about regular x86. Does it need 32bit on ARM as well or does the ARM 64bit support work for the Steam data files?
Nope. Steam files does not have libraries for 32bit arm. You need to compile libraries from hlsdk-xash3d yet.
Yeah that was part of the AUR package routine.
Do I just need to try that manually and see how it goes?
Ok so cloned xash3d and hlsdk. Built both with the default waf.
Changed to the game folder
[parker@alarm valve]$ cp ~/build/hlsdk-xash3d/build/dlls/hl_arm64.so dlls/hl.so
[parker@alarm valve]$ cp ~/build/hlsdk-xash3d/build/cl_dll/client_arm64.so cl_dlls/client.so
[parker@alarm valve]$ cp ~/halflife/lib/xash3d/xash3d .
[parker@alarm valve]$ cp -R ~/halflife/lib/ .
[parker@alarm valve]$ export LD_LIBRARY_PATH+="/opt/valve/lib/xash3d"
[parker@alarm valve]$ export XASH3D_BASEDIR="/opt"
[parker@alarm valve]$ ./xash3d -dev 2 -log
[16:06:13] Console initialized.
[16:06:14] /opt is working directory now
[16:06:14] Error: Sys_InitLog: can't create log file engine.log
Ver: Xash3D FWGS 0.20 (build 1962-3f3160e, linux-arm64)
Crash: signal 11 errno 0 with code 1 at (nil) 0x7fc5901370
Ver: Xash3D FWGS 0.20 (build 1962-3f3160e, linux-arm64)
Crash: signal 11 errno 0 with code 1 at (nil) 0x7fc5901370
Stack backtrace:
Stack backtrace:
1: 0x7f89c54844 <fwrite+28> (/usr/lib/libc.so.6)
1: 0x7f89c54844 <fwrite+28> (/usr/lib/libc.so.6)
Stack dump:
Stack dump:
[16:06:14] Ver: Xash3D FWGS 0.20 (build 1962-3f3160e, linux-arm64)
Crash: signal 11 errno 0 with code 1 at (nil) 0x7fc5901370
Stack backtrace:
1: 0x7f89c54844 <fwrite+28> (/usr/lib/libc.so.6)
Stack dump:
I think I missed the recursive clone of fwgs. Recompiling now
Ok finally got it working. It was a combination of missing the recursive checkout and the hl and client needing the arm64 suffix. It was crashing out because it was looking for client_arm64.so and hl_arm64.so specifically instead of the generic names.
Thanks for the help.
Arch Linux Aaarch64 xash3d-hlsdk r458.d7509365-1 xash3d-git r1260.065811c-1
Everything seems to be placed right. User has access to the valve folder. The executable loads a window for a split second and just closes out with no errors printed.
strace log xash.txt