glKarin / com.n0n3m4.diii4a

DOOM III/Quake 4/Prey(2006) GLES on Android/Windows/Linux, DOOM 3 BFG/The Dark Mod/RTCW/Quake 1 2 3/GZDOOM/ETW/RealRTCW on Android
GNU General Public License v3.0
288 stars 20 forks source link

Doom3 BFG (Ubuntu arm64) #203

Open ArtemS2 opened 5 months ago

ArtemS2 commented 5 months ago

Please add the ability to build doom 3 bfg for Linux. The original Doom 3 BFG has too high requirements for the OpenGL version. :(

glKarin commented 5 months ago

The last OpenGL support version is 1.4.0, only need OpenGL3.2. You can try this version, or using Vulkan.

ArtemS2 commented 5 months ago

Unfortunately, Vulkan support has not yet been added to my board. OpenGLES 3.2 remains the best choice.

glKarin commented 5 months ago

Not support OpenGL3.2? OpenGLES3.2 is sub set of OpenGL4.X. I suggest using desktop OpenGL.

ArtemS2 commented 5 months ago

I tried to compile along the path /com.n0n3m4.diii4a/Q3E/src/main/jniI but got the following errors: CMakeError.log CMakeOutput.log

ArtemS2 commented 5 months ago

artem@artem-desktop:~/builds/com.n0n3m4.diii4a/Q3E/src/main/jni$ cmake -B build -- The C compiler identification is GNU 11.4.0 -- The CXX compiler identification is GNU 11.4.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Build OpenSLES support -- Build Multi-Thread support -- Build OpenGLES3 support -- /usr/bin/cc -dumpmachine says: "aarch64-linux-gnu" -- => CPU architecture extracted from that: "aarch64" -- Setting -DD3_ARCH="arm64" -DD3_SIZEOFPTR=8 -DD3_OSTYPE="linux" -- Found ZLIB: /usr/lib/aarch64-linux-gnu/libz.so (found version "1.2.11") -- Performing Test cxx_has_fvisibility -- Performing Test cxx_has_fvisibility - Success -- Performing Test cxx_has_Wno-class-memaccess -- Performing Test cxx_has_Wno-class-memaccess - Success -- Building Release for linux-arm64 -- Build cURL -- Using stb jpeg image -- Support obj model -- Support dae model -- Add shadow mapping support -- Add r_noLight support -- Add translucent stencil shadow support -- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2") -- Looking for posix_memalign -- Looking for posix_memalign - found -- Performing Test HAVERESTRICT -- Performing Test HAVERESTRICT - Success -- Performing Test HAVE_LIBATOMIC -- Performing Test HAVE_LIBATOMIC - Success -- Looking for android_log_print in log -- Looking for android_log_print in log - not found -- Performing Test HAVE_WNO_CXX20_ATTR_EXT -- Performing Test HAVE_WNO_CXX20_ATTR_EXT - Success -- Performing Test HAVE_FNO_MATH_ERRNO -- Performing Test HAVE_FNO_MATH_ERRNO - Success -- Performing Test HAVE_GCC_PROTECTED_VISIBILITY -- Performing Test HAVE_GCC_PROTECTED_VISIBILITY - Success -- Performing Test HAVE_MSSE2_SWITCH -- Performing Test HAVE_MSSE2_SWITCH - Failed -- Looking for xmmintrin.h -- Looking for xmmintrin.h - not found -- Looking for emmintrin.h -- Looking for emmintrin.h - not found -- Looking for pmmintrin.h -- Looking for pmmintrin.h - not found -- Looking for smmintrin.h -- Looking for smmintrin.h - not found -- Looking for arm_neon.h -- Looking for arm_neon.h - found -- Performing Test HAVE_NEON_INTRINSICS -- Performing Test HAVE_NEON_INTRINSICS - Success -- Looking for malloc.h -- Looking for malloc.h - found -- Looking for cpuid.h -- Looking for cpuid.h - not found -- Looking for intrin.h -- Looking for intrin.h - not found -- Looking for guiddef.h -- Looking for guiddef.h - not found -- Looking for initguid.h -- Looking for initguid.h - not found -- Looking for pow in m -- Looking for pow in m - found -- Looking for clock_gettime in rt -- Looking for clock_gettime in rt - found -- Looking for dlfcn.h -- Looking for dlfcn.h - found -- Looking for dlopen in dl -- Looking for dlopen in dl - found -- Looking for posix_memalign -- Looking for posix_memalign - found -- Looking for _aligned_malloc -- Looking for _aligned_malloc - not found -- Looking for proc_pidpath -- Looking for proc_pidpath - not found -- Looking for pthread.h -- Looking for pthread.h - found -- Performing Test HAVE_PTHREAD -- Performing Test HAVE_PTHREAD - Success -- Looking for pthread_setschedparam -- Looking for pthread_setschedparam - found -- Looking for include files pthread.h, pthread_np.h -- Looking for include files pthread.h, pthread_np.h - not found -- Looking for pthread_setname_np -- Looking for pthread_setname_np - not found -- Looking for pthread_set_name_np -- Looking for pthread_set_name_np - not found -- Looking for getopt -- Looking for getopt - found -- Checking for module 'libpipewire-0.3>=0.3.23' -- No package 'libpipewire-0.3' found -- Found PulseAudio: /usr/lib/aarch64-linux-gnu/libpulse.so (found version "15.99.0") -- Found ALSA: /usr/lib/aarch64-linux-gnu/libasound.so (found version "1.2.6.1") -- Found OSS: /usr/include/aarch64-linux-gnu
-- Could NOT find AudioIO (missing: AUDIOIO_INCLUDE_DIR) -- Found SoundIO: /usr/lib/aarch64-linux-gnu/libsndio.so
-- Could NOT find JACK (missing: JACK_LIBRARY JACK_INCLUDE_DIR) -- Could NOT find OpenSL (missing: OPENSL_LIBRARY OPENSL_INCLUDE_DIR OPENSL_ANDROID_INCLUDE_DIR) CMake Error at doom3/neo/externlibs/openal-soft/CMakeLists.txt:1158 (message): Failed to enabled required OpenSL backend

-- Configuring incomplete, errors occurred! See also "/home/artem/builds/com.n0n3m4.diii4a/Q3E/src/main/jni/build/CMakeFiles/CMakeOutput.log". See also "/home/artem/builds/com.n0n3m4.diii4a/Q3E/src/main/jni/build/CMakeFiles/CMakeError.log".

glKarin commented 5 months ago

Exclude DOOM3/Quake4/Prey, others only for Android NDK build

ArtemS2 commented 5 months ago

Possible port to Linux in the future Doom3 BFG (with gles render)?

glKarin commented 5 months ago

No time to do it now. And I don't know why not use OpenGL desktop version(Support stereo renderer, DXT compression textures), has desktop device support OpenGLES3.2 and not support OpenGL3.2?

ArtemS2 commented 5 months ago

Снимок экрана от 2024-06-11 19-51-36

glKarin commented 5 months ago

And you must try build OpenGL version, because this GLES3.2 port's rendering has problems on Mali GPU.

ArtemS2 commented 4 months ago

@glKarin I tried to build and run RBDoom3BFG, but got the following errors: start.log

glKarin commented 4 months ago

If using idTech4A++, please remove base/renderprogs/idtech4amm.version and restart. If in Linux, copy base/renderprogs of source code to your game data folder and override original folder.

glKarin commented 4 months ago

Only folder that named renderprogs

At 2024-07-06 15:46:17, "ArtemS2" @.***> wrote:

For the linux version, do I need to explain the base folders from the repository and the original game folders with file replacement?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

ArtemS2 commented 4 months ago

New errors: start2.log

glKarin commented 4 months ago

I don't know.

在 2024-07-06 16:18:40,"ArtemS2" @.***> 写道:

New errors have errors: start2.log

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

ArtemS2 commented 4 months ago

I'll try to build a debug version

ArtemS2 commented 4 months ago

GNU gdb (Ubuntu 12.1-0ubuntu1~22.04.2) 12.1 Copyright (C) 2022 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "aarch64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: https://www.gnu.org/software/gdb/bugs/. Find the GDB manual and other documentation resources online at: http://www.gnu.org/software/gdb/documentation/.

For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from ./RBDoom3BFG... (gdb) start Temporary breakpoint 1 at 0xb9456c: file /home/artem/builds/com.n0n3m4.diii4a-master/Q3E/src/main/jni/doom3bfg/neo/sys/posix/platform_linux.cpp, line 514. Starting program: /home/artem/games/Doom3Bfg/RBDoom3BFG [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".

Temporary breakpoint 1, main (argc=1, argv=0xffffffffefd8) at /home/artem/builds/com.n0n3m4.diii4a-master/Q3E/src/main/jni/doom3bfg/neo/sys/posix/platform_linux.cpp:514 514 cmdargc = argc; (gdb) bt

0 main(int, char const**) (argc=1, argv=0xffffffffefd8)

at /home/artem/builds/com.n0n3m4.diii4a-master/Q3E/src/main/jni/doom3bfg/neo/sys/posix/platform_linux.cpp:514