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

Is it possible to run your project under Linux? #96

Closed ArtemS2 closed 9 months ago

ArtemS2 commented 1 year ago

I'm into single board computers like the orange pi. I really want to play Quake 4 on Ubuntu arm64. Is it possible to somehow assemble this project for this configuration?

glKarin commented 1 year ago

This project only for Android yet. I never compile it on other platform. But you can get a DOOM3(2004) source code, and patch some changes from DIII4A. e.g. you want to compile Quake4, you can search _RAVEN, _QUAKE4 macros in DIII4A's source code, these are all Quake4's changes from DOOM3.

lvonasek commented 9 months ago

Steps to install

  1. Install dependencies (Debian/Ubuntu specific):

    sudo apt-get update
    sudo apt-get install git cmake clang libz-dev libegl-dev libgles2-mesa-dev libasound2-dev libopenal1
  2. Get the last working version with Linux support:

    git clone https://github.com/glKarin/com.n0n3m4.diii4a.git
    cd com.n0n3m4.diii4a
  3. Compile the source codes:

    mkdir build
    cd build
    cmake ..
    make -j8
  4. Use file manager to copy the game data into the com.n0n3m4.diii4a/build (and make sure there are no .cfg files).

  5. Copy the game binaries into correct directories (skip those you do not have):

    cp Q3E/src/main/jni/doom3/neo/Doom3 .
    cp Q3E/src/main/jni/doom3/neo/Prey .
    cp Q3E/src/main/jni/doom3/neo/Quake4 .
    cp Q3E/src/main/jni/doom3/neo/libgame.so base/libgame.so
    cp Q3E/src/main/jni/doom3/neo/libpreygame.so preybase/libgame.so
    cp Q3E/src/main/jni/doom3/neo/libq4game.so q4base/libgame.so
    cp Q3E/src/main/jni/doom3/neo/libcdoom.so cdoom/libgame.so
    cp Q3E/src/main/jni/doom3/neo/libd3xp.so d3xp/libgame.so
    cp Q3E/src/main/jni/doom3/neo/libd3le.so d3le/libgame.so
    cp Q3E/src/main/jni/doom3/neo/libfraggingfree.so fraggingfree/libgame.so
    cp Q3E/src/main/jni/doom3/neo/libhardcorps.so hardcorps/libgame.so
    cp Q3E/src/main/jni/doom3/neo/libhexeneoc.so hexeneoc/libgame.so
    cp Q3E/src/main/jni/doom3/neo/liboverthinked.so overthinked/libgame.so
    cp Q3E/src/main/jni/doom3/neo/librivensin.so rivensin/libgame.so
    cp Q3E/src/main/jni/doom3/neo/libsabot.so sabot/libgame.so
  6. Copy system openal library into the directory (change the path according to your CPU/OS):

    cp /usr/lib//x86_64-linux-gnu/libopenal.so.1 libopenal.so
  7. First run of the games (will create the configs, afterwards it could be executed without parameters):

    ./Doom3 +set s_useOpenAL 1 +s_libOpenAL ./libopenal.so
    ./Prey +set s_useOpenAL 1 +s_libOpenAL ./libopenal.so
    ./Quake4 +set s_useOpenAL 1 +s_libOpenAL ./libopenal.so

Note: if the first run goes wrong then delete the .hidden .doom3 folder in your home directory and try again.

ArtemS2 commented 9 months ago

@lvonasek Thank you very much, but I get these errors: [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/Doom3.dir/renderer/tr_shadowbounds.cpp.o [ 24%] Building C object Q3E/src/main/jni/doom3/neo/CMakeFiles/Prey.dir/renderer/esTransform.c.o cc1: warning: command-line option ‘-Woverloaded-virtual’ is valid for C++/ObjC++ but not for C cc1: warning: command-line option ‘-Wno-class-memaccess’ is valid for C++/ObjC++ but not for C cc1: note: unrecognized command-line option ‘-Wno-unused-private-field’ may have been intended to silence earlier diagnostics [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/Prey.dir/humanhead/renderer/Model_hhBeam.cpp.o [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/Prey.dir/framework/CVarSystem.cpp.o [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/Doom3.dir/renderer/tr_stencilshadow.cpp.o [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/Prey.dir/framework/CmdSystem.cpp.o [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/Prey.dir/framework/Common.cpp.o [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/Doom3.dir/renderer/tr_subview.cpp.o [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/Prey.dir/framework/Compressor.cpp.o /home/artem/builds/com.n0n3m4.diii4a/Q3E/src/main/jni/doom3/neo/framework/Common.cpp: In constructor ‘version_s::version_s()’: /home/artem/builds/com.n0n3m4.diii4a/Q3E/src/main/jni/doom3/neo/framework/Common.cpp:60:96: error: ‘BUILD_STRING’ was not declared in this scope 60 | .%d%s %s %s %s", ENGINE_VERSION, BUILD_NUMBER, BUILD_DEBUG, BUILD_STRING, DATE, TIME); | ^~~~

At global scope: cc1plus: note: unrecognized command-line option ‘-Wno-unused-private-field’ may have been intended to silence earlier diagnostics make[2]: [Q3E/src/main/jni/doom3/neo/CMakeFiles/Prey.dir/build.make:849: Q3E/src/main/jni/doom3/neo/CMakeFiles/Prey.dir/framework/Common.cpp.o] Ошибка 1 make[2]: Ожидание завершения заданий… [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/Doom3.dir/renderer/tr_trace.cpp.o [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/Doom3.dir/renderer/tr_trisurf.cpp.o [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/PlayerIcon.cpp.o [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/PlayerView.cpp.o make[1]: [CMakeFiles/Makefile2:687: Q3E/src/main/jni/doom3/neo/CMakeFiles/Prey.dir/all] Ошибка 2 make[1]: Ожидание завершения заданий… [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/Projectile.cpp.o [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/Camera.cpp.o [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/Pvs.cpp.o [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/SecurityCamera.cpp.o [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/Doom3.dir/renderer/tr_turboshadow.cpp.o [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/Entity.cpp.o [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/Doom3.dir/renderer/etc_android.cpp.o [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/Doom3.dir/renderer/etc_rg_etc1.cpp.o [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/SmokeParticles.cpp.o [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/Sound.cpp.o [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/Doom3.dir/renderer/tr_rendertools.cpp.o [ 24%] Building C object Q3E/src/main/jni/doom3/neo/CMakeFiles/Doom3.dir/renderer/esTransform.c.o cc1: warning: command-line option ‘-Woverloaded-virtual’ is valid for C++/ObjC++ but not for C cc1: warning: command-line option ‘-Wno-class-memaccess’ is valid for C++/ObjC++ but not for C [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/Doom3.dir/framework/CVarSystem.cpp.o [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/BrittleFracture.cpp.o cc1: note: unrecognized command-line option ‘-Wno-unused-private-field’ may have been intended to silence earlier diagnostics [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/Fx.cpp.o [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/Target.cpp.o [ 24%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/Trigger.cpp.o [ 25%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/Weapon.cpp.o [ 25%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/GameEdit.cpp.o [ 25%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/WorldSpawn.cpp.o [ 25%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/ai/AAS.cpp.o [ 25%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/ai/AAS_debug.cpp.o [ 25%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/Game_local.cpp.o [ 25%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/Doom3.dir/framework/CmdSystem.cpp.o [ 25%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/ai/AAS_pathing.cpp.o [ 25%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/ai/AAS_routing.cpp.o [ 25%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/ai/AI.cpp.o [ 25%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/ai/AI_events.cpp.o [ 25%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/ai/AI_pathing.cpp.o [ 25%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/Game_network.cpp.o [ 25%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/Doom3.dir/framework/Common.cpp.o [ 25%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/Item.cpp.o [ 25%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/gamesys/DebugGraph.cpp.o [ 25%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/gamesys/Class.cpp.o /home/artem/builds/com.n0n3m4.diii4a/Q3E/src/main/jni/doom3/neo/framework/Common.cpp: In constructor ‘version_s::version_s()’: /home/artem/builds/com.n0n3m4.diii4a/Q3E/src/main/jni/doom3/neo/framework/Common.cpp:60:96: error: ‘BUILD_STRING’ was not declared in this scope 60 | sprintf(string, "%s.%d%s %s %s %s", ENGINE_VERSION, BUILD_NUMBER, BUILD_DEBUG, BUILD_STRING, DATE, TIME); | ^~~~ At global scope: cc1plus: note: unrecognized command-line option ‘-Wno-unused-private-field’ may have been intended to silence earlier diagnostics make[2]: [Q3E/src/main/jni/doom3/neo/CMakeFiles/Doom3.dir/build.make:835: Q3E/src/main/jni/doom3/neo/CMakeFiles/Doom3.dir/framework/Common.cpp.o] Ошибка 1 make[1]: [CMakeFiles/Makefile2:343: Q3E/src/main/jni/doom3/neo/CMakeFiles/Doom3.dir/all] Ошибка 2 [ 25%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/gamesys/Event.cpp.o [ 25%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/IK.cpp.o [ 25%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/Light.cpp.o [ 25%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/gamesys/SaveGame.cpp.o [ 25%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/gamesys/SysCmds.cpp.o [ 25%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/gamesys/SysCvar.cpp.o [ 26%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/Misc.cpp.o [ 26%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/gamesys/TypeInfo.cpp.o /home/artem/builds/com.n0n3m4.diii4a/Q3E/src/main/jni/doom3/neo/prey/gamesys/SysCvar.cpp: In constructor ‘gameVersion_s::gameVersion_s()’: /home/artem/builds/com.n0n3m4.diii4a/Q3E/src/main/jni/doom3/neo/prey/gamesys/SysCvar.cpp:105:129: error: ‘BUILD_STRING’ was not declared in this scope 105 | gameVersion_s( void ) { sprintf( string, "%s 1.0.%d%s%s %s %s %s", GAME_NAME, BUILD_NUMBER, BUILD_DEBUG, ID_VERSIONTAG, BUILD_STRING, DATE, TIME ); } | ^~~~ At global scope: cc1plus: note: unrecognized command-line option ‘-Wno-unused-private-field’ may have been intended to silence earlier diagnostics make[2]: [Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/build.make:653: Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/prey/gamesys/SysCvar.cpp.o] Ошибка 1 make[2]: Ожидание завершения заданий… [ 26%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/Mover.cpp.o [ 26%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/Moveable.cpp.o [ 26%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/MultiplayerGame.cpp.o [ 26%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/Player.cpp.o [ 26%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/PlayerIcon.cpp.o [ 26%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/PlayerView.cpp.o [ 26%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/Projectile.cpp.o [ 26%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/Pvs.cpp.o [ 26%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/SecurityCamera.cpp.o [ 26%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/SmokeParticles.cpp.o [ 26%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/Sound.cpp.o [ 26%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/Target.cpp.o [ 26%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/Trigger.cpp.o [ 26%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/Weapon.cpp.o [ 26%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/WorldSpawn.cpp.o [ 26%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/ai/AAS.cpp.o [ 26%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/ai/AAS_debug.cpp.o [ 26%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/ai/AAS_pathing.cpp.o [ 26%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/ai/AAS_routing.cpp.o [ 27%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/ai/AI.cpp.o make[1]: [CMakeFiles/Makefile2:713: Q3E/src/main/jni/doom3/neo/CMakeFiles/preygame.dir/all] Ошибка 2 [ 27%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/ai/AI_events.cpp.o [ 27%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/ai/AI_pathing.cpp.o [ 27%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/ai/AI_Vagary.cpp.o [ 27%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/gamesys/DebugGraph.cpp.o [ 27%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/gamesys/Class.cpp.o [ 27%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/gamesys/Event.cpp.o [ 27%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/gamesys/SaveGame.cpp.o [ 27%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/gamesys/SysCmds.cpp.o [ 27%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/gamesys/SysCvar.cpp.o [ 27%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/gamesys/TypeInfo.cpp.o [ 27%] Building CXX object Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/anim/Anim.cpp.o /home/artem/builds/com.n0n3m4.diii4a/Q3E/src/main/jni/doom3/neo/game/gamesys/SysCvar.cpp: In constructor ‘gameVersion_s::gameVersion_s()’: /home/artem/builds/com.n0n3m4.diii4a/Q3E/src/main/jni/doom3/neo/game/gamesys/SysCvar.cpp:55:93: error: ‘BUILD_STRING’ was not declared in this scope 55 | sprintf(string, "%s.%d%s %s %s", ENGINE_VERSION, BUILD_NUMBER, BUILD_DEBUG, BUILD_STRING, DATE); | ^~~~ At global scope: cc1plus: note: unrecognized command-line option ‘-Wno-unused-private-field’ may have been intended to silence earlier diagnostics make[2]: [Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/build.make:667: Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/game/gamesys/SysCvar.cpp.o] Ошибка 1 make[2]: Ожидание завершения заданий… make[1]: [CMakeFiles/Makefile2:369: Q3E/src/main/jni/doom3/neo/CMakeFiles/game.dir/all] Ошибка 2 make: *** [Makefile:136: all] Ошибка 2

glKarin commented 9 months ago

Steps to install

  1. Install dependencies (Debian/Ubuntu specific):
sudo apt-get update
sudo apt-get install git cmake clang libz-dev libegl-dev libgles2-mesa-dev libasound2-dev libopenal1
  1. Get the last working version with Linux support:
git clone https://github.com/glKarin/com.n0n3m4.diii4a.git
cd com.n0n3m4.diii4a
git reset --hard b5da93ef6a3d9824e750a885400fdc6a54877584
  1. Compile the source codes:
mkdir build
cd build
cmake ..
make -j8
  1. Use file manager to copy the game data into the com.n0n3m4.diii4a/build (and make sure there are no .cfg files).
  2. Copy the game binaries into correct directories (skip those you do not have):
cp Q3E/src/main/jni/doom3/neo/Doom3 .
cp Q3E/src/main/jni/doom3/neo/Prey .
cp Q3E/src/main/jni/doom3/neo/Quake4 .
cp Q3E/src/main/jni/doom3/neo/libgame.so base/libgame.so
cp Q3E/src/main/jni/doom3/neo/libpreygame.so preybase/libgame.so
cp Q3E/src/main/jni/doom3/neo/libq4game.so q4base/libgame.so
cp Q3E/src/main/jni/doom3/neo/libcdoom.so cdoom/libgame.so
cp Q3E/src/main/jni/doom3/neo/libd3xp.so d3xp/libgame.so
cp Q3E/src/main/jni/doom3/neo/libd3le.so d3le/libgame.so
cp Q3E/src/main/jni/doom3/neo/libfraggingfree.so fraggingfree/libgame.so
cp Q3E/src/main/jni/doom3/neo/libhardcorps.so hardcorps/libgame.so
cp Q3E/src/main/jni/doom3/neo/libhexeneoc.so hexeneoc/libgame.so
cp Q3E/src/main/jni/doom3/neo/liboverthinked.so overthinked/libgame.so
cp Q3E/src/main/jni/doom3/neo/librivensin.so rivensin/libgame.so
cp Q3E/src/main/jni/doom3/neo/libsabot.so sabot/libgame.so
  1. Copy system openal library into the directory (change the path according to your CPU/OS):
cp /usr/lib//x86_64-linux-gnu/libopenal.so.1 libopenal.so
  1. First run of the games (will create the configs, afterwards it could be executed without parameters):
./Doom3 +set s_useOpenAL 1 +s_libOpenAL ./libopenal.so
./Prey +set s_useOpenAL 1 +s_libOpenAL ./libopenal.so
./Quake4 +set s_useOpenAL 1 +s_libOpenAL ./libopenal.so

Note: if the first run goes wrong then delete the .hidden .doom3 folder in your home directory and try again.

Current do not need copy game library to xxxxx/libgame.so, like Android. Only need in executable binary same path with original library file name.

ArtemS2 commented 9 months ago

@lvonasek I was able to run on x86-64 and arm64, I had to make changes to 3 files (I’m not sure that my modification of the code didn’t break anything). Of the obvious bugs, this is broken lighting in a single-player game.

parkerlreed commented 7 months ago

@lvonasek I was able to run on x86-64 and arm64, I had to make changes to 3 files (I’m not sure that my modification of the code didn’t break anything). Of the obvious bugs, this is broken lighting in a single-player game.

What did you change? I followed the steps above for x86_64 and Prey loads the splash but then exits

https://gist.github.com/parkerlreed/a5d2df1321eb1a9ace2f9054abe522c3

ArtemS2 commented 7 months ago

@parkerlreed Please check the presence of the libpreygame.so library next to the Prey launch file.

parkerlreed commented 7 months ago

The instructions above copy it into preybase, which is where it is located. I tried it next to the executable as well, and it still just exits.

cp Q3E/src/main/jni/doom3/neo/libpreygame.so preybase/libgame.so

https://gist.github.com/parkerlreed/dec8d3efd50280d02bf7e6afe878254f

parkerlreed commented 7 months ago

Oh despite the argument being passed, its ignoring that and only looking for libopenal.so

WARNING: LoadLibrary ./libopenal.so failed.

After renaming the file it launches

parkerlreed commented 7 months ago

So this only works once after a fresh rm -rf of ~/.doom3/ rerunning fails every time no matter the name of libopenal

ArtemS2 commented 7 months ago

Now, judging by the logs, the error is most likely in the libopenal.so library. Do you have it next to the launch file? If I saw everything correctly, you have libopenal.so.1 instead, try removing ".1" from the library file extension.

ArtemS2 commented 7 months ago

Do you have the late LTS version of Ubuntu?

parkerlreed commented 7 months ago

Yeah it finally started working with the libopenal.so named as such and relaunches load fine.

Only issue I have now is it thinks the CPU is 0.4 GHz and 64 MB of video RAM. I set VRAM to 1024, and it then detects 512...

I can't select anything higher than "low" preset and I dont know if thats affecting this.

Do you have the late LTS version of Ubuntu?

Arch Linux.

parkerlreed commented 7 months ago

Ok after setting to 512 for VRAM (Won't go any higher) I get this in the console

This system qualifies for Ultra quality!
Detected
        2.90 GHz CPU
        11664 MB of System memory
        512 MB of Video memory

Still can't adjust the quality. Is this intentional for the port?

ArtemS2 commented 7 months ago

Unfortunately, this question is for the author of the repository, I don’t know how to help you. Glad you were able to get it running.