glKarin / com.n0n3m4.diii4a

idTech4A++, idTech engine game For Android, DOOM III/Quake 4/Prey(2006)/DOOM3 BFG 1&2/The Dark Mod/RTCW/Quake 3/Quake 2/Quake 1
GNU General Public License v3.0
233 stars 15 forks source link

Doom3 BFG (Ubuntu arm64) #203

Open ArtemS2 opened 3 weeks ago

ArtemS2 commented 3 weeks 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 3 weeks ago

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

ArtemS2 commented 3 weeks ago

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

glKarin commented 2 weeks ago

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

ArtemS2 commented 2 weeks 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 2 weeks 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 2 weeks ago

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

ArtemS2 commented 2 weeks ago

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

glKarin commented 2 weeks 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 2 weeks ago

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

glKarin commented 2 weeks ago

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