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: 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!
Login / Register
- GOG launch their Preservation Program to make games live forever with a hundred classics being 're-released'
- Valve dev details more on the work behind making Steam for Linux more stable
- NVIDIA detail upcoming Linux driver features for Wayland and explain current support
- GE-Proton 9-19 brings fixes for Horizon Zero Dawn Remastered, Monster Hunter Wilds and more
- Direct3D to Vulkan translation layer DXVK v2.5 released with rewritten memory management
- > See more over 30 days here
-
Half-Life 2 free to keep until November 18th, Episodes …
- StalePopcorn -
Half-Life 2 free to keep until November 18th, Episodes …
- Piejacker875 -
Linux GPU Configuration Tool 'LACT' adds NVIDIA support…
- DamonLinuxPL -
Hybrid gaming controller MoveMaster has a new website, …
- Oet_ -
Sony say their PSN account requirement on PC is so you …
- DavidePorterBridges - > See more comments
- What do you want to see on GamingOnLinux?
- Linas - Weekend Players' Club 11/15/2024
- StoneColdSpider - New Desktop Screenshot Thread
- Vortex_Acherontic - Our own anti-cheat list
- Xpander - Does Sinden Lightgun work?
- Linas - See more posts
View PC info
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 DirectXShaderCompiler
mkdir 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/bin
Ooops, it needs its shared library
# install -Dm755 lib/libdxcompiler.so /usr/local/lib
I don't know if they are needed, but I also copied the includes
# cp -R include/dxc /usr/local/include
Now, 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.git
Dependencies 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 November 2023 at 4:53 pm UTC
View PC info
View PC info
(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 wvstolzing on 7 November 2023 at 5:59 pm UTC
View PC info
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.
View PC info
View PC info
View PC info
... now that's odd; I have this in my Steam collection (that's how I originally bought the regular Doom 3 several years ago) -- and I've been using its assets with Dhewm 3.
Does this mean that I can now download the BFG Edition from the same link?
View PC info
I would think that Doom 3 BFG Edition would be in your Steam library if your purchase entitles it.
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 +quit
I say this because you should be entitled to it, if you own the same appid
View PC info
Thanks a lot for this!
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.
View PC info
@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`.
View cookie preferences.
Accept & Show Accept All & Don't show this again Direct Link
View cookie preferences.
Accept & Show Accept All & Don't show this again Direct Link
View PC info