While you're here, please consider supporting GamingOnLinux on:
Reward Tiers:
Patreon. Plain Donations:
PayPal.
This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!
You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Reward Tiers:
This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!
You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register
- The "video game preservation service" Myrient is shutting down in March
- SpaghettiKart the Mario Kart 64 fan-made PC port gets a big upgrade
- KDE Plasma 6.6.1 rolls out with lots of fixes for KWin
- California law to require operating systems to check your age
- The OrangePi Neo gaming handheld with Manjaro Linux is now "on ice" due to component prices
- > See more over 30 days here
- recently released super fun crpg - Sector Unknown
- Jarmer - steam overlay performance monitor - issues
- Xpander - Nacon under financial troubles... no new WRC game (?)
- Xpander - Establishing root of ownership for Steam account
- Nonjuffo - Total Noob general questions about gaming and squeezing every oun…
- GustyGhost - See more posts
How to setup OpenMW for modern Morrowind on Linux / SteamOS and Steam Deck
How to install Hollow Knight: Silksong mods on Linux, SteamOS and Steam Deck
https://github.com/RobertBeckebans/RBDOOM-3-BFG#about
I came to find that not only have they worked on the Vulkan port, that's all there is now. They have discontinued the OpenGL.
It's pretty slick, I'm getting smooth performance (well, so was I with the old OpenGL build) and everything seems to render correctly. It's got TAA (temporal) antialiasing now so it looks good.
To build this AND to run this, it needs the Microsoft DirectX Shader Compiler now (dxc)... they use it for both DirectX 12 and Vulkan/SPIR-V. Some distributors might provide that (Arch would) but this was for my from-scratch system so I had to build it. It's not difficult, because it pulls in the correct versions of persnickety things it needs as submodules (e.g. LLVM parts, SPIR-V headers and tools). So pretty much any dev environment should have the tools. gcc/g++, python, cmake, ninja. I just had to figure out what to do with cmake, but a quick perusal of the CMakeLists.txt showed that there really wan't anything, except that it jumped out at me that it was going to do a debug build by default.
git clone --recursive https://github.com/microsoft/DirectXShaderCompiler.git
git submodule update --init (just in case... should do nothing since I did a fresh recursive git clone)
Just a basic cmake command with some pre ordained parameters pertaining to LLVM and SPIR-V configuration.
cd DirectXShaderCompilermkdir build
cd build
cmake ../ -G Ninja -C ../cmake/caches/PredefinedParams.cmake -DCMAKE_BUILD_TYPE=Release
ninja
I just manually installed the binary
# install -Dm755 bin/dxc /usr/local/binOoops, it needs its shared library
# install -Dm755 lib/libdxcompiler.so /usr/local/libI don't know if they are needed, but I also copied the includes
# cp -R include/dxc /usr/local/includeNow, for the game itself, I already had everything I needed to compile it. Nothing special that I didn't already have.
git clone --recursive https://github.com/RobertBeckebans/RBDOOM-3-BFG.gitDependencies are basic: sdl2, cmake, openal, vulkan, ffmpeg (and ffmpeg may not be necessary because the build uses Bink for video by default now)
cd RBDOOM-3-BFG/neo./cmake-linux-release.sh
cd ../build
make -j (I used 10)
You should take a look at that file, cmake-linux-release.sh
cd ..rm -rf build
mkdir build
cd build
# cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DONATIVE=ON -DFFMPEG=OFF -DBINKDEC=ON ../neo
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS:STRING="-O3 -march=nehalem" -DCMAKE_CXX_FLAGS:STRING="-O3 -march=nehalem" -DONATIVE=OFF -DFFMPEG=OFF -DBINKDEC=ON ../neo
You can see where I made my changes (I commented out the original line). It should be fine, but I don't like fuzzy things like -march=native, I know what cpu target I want.
Now here's where it gets tricky. The instructions still say to just drop in the base directory from a legit Doom3-BFG edition (e.g. from Steam) and drop in RBDoom3BFG.
However, the first error will be a missing renderprogs2/spirv/builtin/gui.vs.bin
OK, I need to copy the new renderprogs2 directory from the base directory in the source dir. Ahh, the game runs now, a game will load but it will be a black screen with some hud elements visible.
It also needs AT LEAST the materials directory copied to base in the game dir. I also copied textures but I'm not sure that one is necessary.
Linux native Doom 1,2, and 3 + expansions fully ported to Vulkan. I have only tried Doom 3 and Doom 3 Resurrection of Evil so far though.
Last edited by Grogan on 8 Nov 2023 at 4:53 pm UTC
(The Vulkan source port for regular Doom 3 has been abandoned, by the way.)>>> I am, of course, an idiot. Just got suspicious, and searched for it again: the project I had in mind was never meant for regular Doom3 anyway; that was also a BFG source port. So yeah.Last edited by walther von stolzing on 7 Nov 2023 at 5:59 pm UTC
https://store.steampowered.com/app/208200/DOOM_3/
That comes with Doom 3 BFG Edition though they refer to the bundle as "the original Doom 3". It's the whole kit and kaboodle.
Does this mean that I can now download the BFG Edition from the same link?
If not, you could still see if this works:
https://github.com/RobertBeckebans/RBDOOM-3-BFG#installation
https://developer.valvesoftware.com/wiki/SteamCMD
./steamcmd.sh +@sSteamCmdForcePlatformType windows +login <YOUR_STEAM_LOGIN_NAME> +force_install_dir ./doom3bfg/ +app_update 208200 validate +quitI say this because you should be entitled to it, if you own the same appid
The GUI client already has regular Doom 3 installed; but the appmanifest file for Doom 3 shows appid 9050 -- however the steam webpage for appid 208200 says that the item is already in my library.
I'm downloading appid 208200 right now via steamcmd; so hopefully it will work.
@Grogan: Thanks a lot for your write-up, (and the heads-up about the new 208200 bundle) -- one correction, though: You mention a `render2progs` folder under `<RBDoom3BDG-src-dir>/base/`; however, it should be `renderprogs2`.