GZDoom DOOM Engine Source Port on the Raspberry Pi 4 Computer
Image
GZDOOM running on the Raspberry Pi 4 computer with the DOOM SIGIL WAD.
After years of research, I have finally compiled GZDoom on the Raspberry Pi 4 computer. If you are familiar with the LZDoom DOOM Engine source port, GZDoom is a more updated version of the same source port. The GZDoom source port targets 64 bit operating systems with OpenGL 3.3, and Vulkan graphics renderers. These are features you will not be able to use on the Raspberry Pi computer, but at least GZDoom runs on the Raspberry Pi computer. The question is how compatible will the GZDoom source port be with the Raspberry Pi 4 computer, and will GZDoom actually replace LZDoom? Sit back, and relax, because you are about to find out.
Prepare to not be disappointed about GZDoom on the Raspberry Pi 4 computer, because the Vulkan Renderer performance on the Raspberry Pi 4 computer is completely playable. I would say the frame rate will be about 30 frames per second on average at 1920 X 1080 resolution. The graphics performance improves at lower screen resolutions, and Postprocessing graphic settings will be disabled on computers with only OpenGL3.1 support. GZDoom will requires a graphics card that supports OpenGL3.3 to activate all graphics options.
I was planning to release this build guide before the Raspberry Pi Operating System Debian Bookworm update then build more 64 bit software, but the Debian Bookworm update for the Raspberry Pi Operating System was released recently, and solved most of the performance problems that were present in Debian Bullseye. New operating system version releases opens the door to more open source software projects, but you will need the computer hardware to run the software. I have been using 32 bit software for a very long time, and recently moved to 64 bit software after installing the SparkyLinux 7 Debian Bookworm operating system release.
Here is a link to the SparkyLinux website:
SparkyLinux
https://sparkylinux.org/
Even though the plans are not going as planned, but I have to admit the Raspberry Pi Operating System feels smoother with the 64 bit version compared to the 32 bit version. With the Debian Bookworm update for the Raspberry Pi Operating System released, I will check to see what has changed in the software line up. A little known fact, not all software makes the cut to the next Linux operating system release. This actually potentially slows me down, because there were programs that would compile on my computer, and the next version of the operating system gets released breaks all software compatibility. Now the program will crash, and burn every time I compile the program.
This happens when a software developer releases software in .appimages, or self building archives. You have no idea what is being installed on your computer, and you are probably installing very old software libraries on your computer with these self building software packages. This is important to know, because we all cannot assume a program will be around all the time, and I should check on the software developers to see if they are still actively developing software. If a program loses developers the software will end up in the garbage bin until a new developer continues developing the software.
New software for Linux is released periodically, and I would at least search around every month to see what is updated, because software releases are unpredictable. You decide to compile a program last month, and you check the website to see the news board on the website, and a new patch get released for the software. My recommendation is to build the software with the latest release of the software source code to test out new features of the program, and if there are any disagreements you have with the current release of the software, you should decide to either continue using the software or search around the internet for a new program.
Before compiling any software, disable any overclock parameters on your computer.
Free image hosting provided by the ImgBB website.
Upload and share your images.
ImgBB website:
https://imgbb.com/
Here is a link to the GZDoom website:
ZDOOM
https://zdoom.org/index
Here is a link to the GZDoom GitHub website:
GitHub - ZDoom/gzdoom: GZDoom is a feature centric port for all Doom engine games, based on ZDoom, adding an OpenGL renderer and powerful scripting capabilities
https://github.com/ZDoom/gzdoom
Download these software libraries using the command in the terminal:
Download the GZDoom source code from the GitHub website using the command in the terminal:
Download the ZMusic source code used in the GZDoom program using the command in the terminal:
Compile the ZMusic source code using the commands in the terminal:
After compiling, and installing the ZMusic source code, compile the GZDoom source code using the commands in the terminal:
The GZDoom source code will compile in about 30 minutes, and after compiling the GZDoom source code you will need a retail copy of a DOOM Engine game. Check the GZDoom website to see which DOOM Engine games are compatible with GZDoom. In the screenshot at the beginning of the guide I am playing The Ultimate DOOM with the DOOM SIGIL WAD in GZDoom on the Raspberry Pi Computer. For The Ultimate DOOM, find the DOOM directory, search for DOOM.WAD, and copy DOOM.WAD to the gzdoom/build directory.
After placing a copy of DOOM.WAD in the gzdoom/build directory, execute the GZDoom binary using the command in the terminal:
Image
GZDoom on the Raspberry Pi 4 Computer with the Brutal Doom Community Expansion DOOM Mod, and Doom Redemption WAD.
Brutal Doom Community Expansion DOOM Mod Download Link:
GitHub - BLOODWOLF333/Brutal-Doom-Community-Expansion: A combined community expansion for the latest version of Brutal Doom. All of the latest bug fixes and new features in a single place to create the most polished and stable product.
https://github.com/BLOODWOLF333/Brutal- ... -Expansion
Doom Redemption WAD Download Link:
Doom Redemption addon - Mod DB
https://www.moddb.com/games/doom/addons/doom-redemption
To start GZDoom, launch GZDoom with Vulkan Video settings. The Extra graphics Lights, Brightmaps, and Widescreen graphics are completely optional. DOOM WADS will be playable in GZDoom on the Raspberry Pi 4 computer with playable performance, but reducing the graphic settings for DOOM Mods is recommended to improve performance. Avoid using DOOM mods with enhanced graphics, because these DOOM mods will cause GZDoom to freeze on the Raspberry Pi computer.
Use the command in the terminal to access the GZDoom configuration file:
If you are searching for a DOOM Engine source port for mouselook support on the Raspberry Pi computer, I recommend PrBoom-Plus for mouselook support with OpenGL renderer, and better performance. For the classic DOOM experience, use Crispy-Doom. These programs will compile on the 64 bit Raspberry Pi Operating System:
Crispy-Doom - Enhanced DOOM Engine Source Port Build Guide and Personal Updates - Raspberry Pi Forums
viewtopic.php?t=347260
PrBoom-Plus 2.6.66 DOOM Source Port Build Guide - Raspberry Pi Forums
viewtopic.php?t=358533
Thanks to everyone for stopping in, and reading the GZDoom DOOM Engine Source Port on the Raspberry Pi 4 Computer build guide. I will see everyone after the release of the next build guide on the Raspberry Pi Forums.
UPDATE NOVEMBER 14TH 2023
GZDOOM running on the Raspberry Pi 4 computer with the DOOM SIGIL WAD.
After years of research, I have finally compiled GZDoom on the Raspberry Pi 4 computer. If you are familiar with the LZDoom DOOM Engine source port, GZDoom is a more updated version of the same source port. The GZDoom source port targets 64 bit operating systems with OpenGL 3.3, and Vulkan graphics renderers. These are features you will not be able to use on the Raspberry Pi computer, but at least GZDoom runs on the Raspberry Pi computer. The question is how compatible will the GZDoom source port be with the Raspberry Pi 4 computer, and will GZDoom actually replace LZDoom? Sit back, and relax, because you are about to find out.
Prepare to not be disappointed about GZDoom on the Raspberry Pi 4 computer, because the Vulkan Renderer performance on the Raspberry Pi 4 computer is completely playable. I would say the frame rate will be about 30 frames per second on average at 1920 X 1080 resolution. The graphics performance improves at lower screen resolutions, and Postprocessing graphic settings will be disabled on computers with only OpenGL3.1 support. GZDoom will requires a graphics card that supports OpenGL3.3 to activate all graphics options.
I was planning to release this build guide before the Raspberry Pi Operating System Debian Bookworm update then build more 64 bit software, but the Debian Bookworm update for the Raspberry Pi Operating System was released recently, and solved most of the performance problems that were present in Debian Bullseye. New operating system version releases opens the door to more open source software projects, but you will need the computer hardware to run the software. I have been using 32 bit software for a very long time, and recently moved to 64 bit software after installing the SparkyLinux 7 Debian Bookworm operating system release.
Here is a link to the SparkyLinux website:
SparkyLinux
https://sparkylinux.org/
Even though the plans are not going as planned, but I have to admit the Raspberry Pi Operating System feels smoother with the 64 bit version compared to the 32 bit version. With the Debian Bookworm update for the Raspberry Pi Operating System released, I will check to see what has changed in the software line up. A little known fact, not all software makes the cut to the next Linux operating system release. This actually potentially slows me down, because there were programs that would compile on my computer, and the next version of the operating system gets released breaks all software compatibility. Now the program will crash, and burn every time I compile the program.
This happens when a software developer releases software in .appimages, or self building archives. You have no idea what is being installed on your computer, and you are probably installing very old software libraries on your computer with these self building software packages. This is important to know, because we all cannot assume a program will be around all the time, and I should check on the software developers to see if they are still actively developing software. If a program loses developers the software will end up in the garbage bin until a new developer continues developing the software.
New software for Linux is released periodically, and I would at least search around every month to see what is updated, because software releases are unpredictable. You decide to compile a program last month, and you check the website to see the news board on the website, and a new patch get released for the software. My recommendation is to build the software with the latest release of the software source code to test out new features of the program, and if there are any disagreements you have with the current release of the software, you should decide to either continue using the software or search around the internet for a new program.
Before compiling any software, disable any overclock parameters on your computer.
Free image hosting provided by the ImgBB website.
Upload and share your images.
ImgBB website:
https://imgbb.com/
Here is a link to the GZDoom website:
ZDOOM
https://zdoom.org/index
Here is a link to the GZDoom GitHub website:
GitHub - ZDoom/gzdoom: GZDoom is a feature centric port for all Doom engine games, based on ZDoom, adding an OpenGL renderer and powerful scripting capabilities
https://github.com/ZDoom/gzdoom
Download these software libraries using the command in the terminal:
Code: Select all
sudo apt install git cmake zlib1g-dev libasound2-dev libbz2-dev libjpeg-dev libvpx-dev libpkgconf-dev libgtk-3-dev libsdl2-dev libwebp-devCode: Select all
git clone https://github.com/ZDoom/gzdoom.gitCode: Select all
git clone https://github.com/ZDoom/ZMusic.gitCode: Select all
cd ZMusicCode: Select all
mkdir buildCode: Select all
cd buildCode: Select all
cmake -DCMAKE_BUILD_TYPE=Release ..Code: Select all
make -j4Code: Select all
sudo make installCode: Select all
cdCode: Select all
cd gzdoomCode: Select all
mkdir buildCode: Select all
cd buildCode: Select all
cmake -DCMAKE_BUILD_TYPE=Release ..Code: Select all
make -j4After placing a copy of DOOM.WAD in the gzdoom/build directory, execute the GZDoom binary using the command in the terminal:
Code: Select all
cd gzdoom/buildCode: Select all
./gzdoomImage
GZDoom on the Raspberry Pi 4 Computer with the Brutal Doom Community Expansion DOOM Mod, and Doom Redemption WAD.
Brutal Doom Community Expansion DOOM Mod Download Link:
GitHub - BLOODWOLF333/Brutal-Doom-Community-Expansion: A combined community expansion for the latest version of Brutal Doom. All of the latest bug fixes and new features in a single place to create the most polished and stable product.
https://github.com/BLOODWOLF333/Brutal- ... -Expansion
Doom Redemption WAD Download Link:
Doom Redemption addon - Mod DB
https://www.moddb.com/games/doom/addons/doom-redemption
To start GZDoom, launch GZDoom with Vulkan Video settings. The Extra graphics Lights, Brightmaps, and Widescreen graphics are completely optional. DOOM WADS will be playable in GZDoom on the Raspberry Pi 4 computer with playable performance, but reducing the graphic settings for DOOM Mods is recommended to improve performance. Avoid using DOOM mods with enhanced graphics, because these DOOM mods will cause GZDoom to freeze on the Raspberry Pi computer.
Use the command in the terminal to access the GZDoom configuration file:
Code: Select all
mousepad .config/gzdoom/gzdoom.iniIf you are searching for a DOOM Engine source port for mouselook support on the Raspberry Pi computer, I recommend PrBoom-Plus for mouselook support with OpenGL renderer, and better performance. For the classic DOOM experience, use Crispy-Doom. These programs will compile on the 64 bit Raspberry Pi Operating System:
Crispy-Doom - Enhanced DOOM Engine Source Port Build Guide and Personal Updates - Raspberry Pi Forums
viewtopic.php?t=347260
PrBoom-Plus 2.6.66 DOOM Source Port Build Guide - Raspberry Pi Forums
viewtopic.php?t=358533
Thanks to everyone for stopping in, and reading the GZDoom DOOM Engine Source Port on the Raspberry Pi 4 Computer build guide. I will see everyone after the release of the next build guide on the Raspberry Pi Forums.
UPDATE NOVEMBER 14TH 2023
- Updated Build Guide to support Debian Bookworm update.
- Removed GZDoom OpenGLES Renderer support from Build Guide.
- Added new software releases explanation.
- Updated software dependencies list.
- Added 2 new screenshots, and removed previous screenshot.
- Revised DOOM Mods explanation.
- Added download links to Brutal Doom Community Expansion DOOM Mod, and Doom Retribution WAD.
- Removed LZDoom explanation, and removed link to (OUTDATED) LZDoom Build Guide.
- Removed (Outdated) PrBoom-Plus 2.5.7.1um explanation, and Build Guide with PrBoom-Plus 2.6.66 Build Guide.
- Miscellaneous improvements.
Last edited by Moonmarch on Thu Nov 16, 2023 12:55 am, edited 2 times in total.
Re: GZDoom DOOM Engine Source Port on the Raspberry Pi 4 Computer
Vulkan?The GZDoom source port targets 64 bit operating systems with OpenGL 3.3, and Vulkan graphics renderers
Probably wait until Bookworm and Mesa 23.x...
But I will be looking at the GZDoom Vulkan stuff.
I'm dancing on Rainbows.
Raspberries are not Apples or Oranges
Raspberries are not Apples or Oranges
Re: GZDoom DOOM Engine Source Port on the Raspberry Pi 4 Computer
vid_preferbackend=0, openGL-3.3 by default, so you got error.
vid_preferbackend=1, vulkan
vid_preferbackend=2, gles-2,0
btw, ManjaroArm AUR build, easier.
vid_preferbackend=1, vulkan
vid_preferbackend=2, gles-2,0
btw, ManjaroArm AUR build, easier.
Re: GZDoom DOOM Engine Source Port on the Raspberry Pi 4 Computer
Sway version?ManjaroArm
I'm dancing on Rainbows.
Raspberries are not Apples or Oranges
Raspberries are not Apples or Oranges
Re: GZDoom DOOM Engine Source Port on the Raspberry Pi 4 Computer
Thanks cjan, was not aware of AUR.
That should make it much easier.
Learning a different OS package repo can be tricky, so used to Debian now, but I know Arch is rolling so has newer apps/libs.
Will be interesting to try the Vulkan version of Warzone2100 on Manjaro.
Some of those Doom mods look cool too.
Wonder if any will port to Pi?
That should make it much easier.
Learning a different OS package repo can be tricky, so used to Debian now, but I know Arch is rolling so has newer apps/libs.
Will be interesting to try the Vulkan version of Warzone2100 on Manjaro.
Some of those Doom mods look cool too.
Wonder if any will port to Pi?
I'm dancing on Rainbows.
Raspberries are not Apples or Oranges
Raspberries are not Apples or Oranges
Re: GZDoom DOOM Engine Source Port on the Raspberry Pi 4 Computer
ManjaroArm follow PiOS kernel & firmware etc.Gavinmc42 wrote: ↑Sat Jul 29, 2023 12:15 pmThanks cjan, was not aware of AUR.
That should make it much easier.
Learning a different OS package repo can be tricky, so used to Debian now, but I know Arch is rolling so has newer apps/libs.
Will be interesting to try the Vulkan version of Warzone2100 on Manjaro.
Some of those Doom mods look cool too.
Wonder if any will port to Pi?
so, why not for Desktop user?
ps. im in kernel-6.5-rc3
https://github.com/raspberrypi/linux/tree/rpi-6.5.y
Re: GZDoom DOOM Engine Source Port on the Raspberry Pi 4 Computer
Kernel 6.5 already?
Time for me to use that new SSD I got for Bookworm.
I try not to break my current 6.1.21 Raspberry OS/Pi400 as it is now my main PC ;)
Time for me to use that new SSD I got for Bookworm.
I try not to break my current 6.1.21 Raspberry OS/Pi400 as it is now my main PC ;)
I'm dancing on Rainbows.
Raspberries are not Apples or Oranges
Raspberries are not Apples or Oranges
Re: GZDoom DOOM Engine Source Port on the Raspberry Pi 4 Computer
On the Raspberry Pi 4, there is no way anyone will be able to force GZDoom to use the Vulkan renderer, because how will the performance improve? Going from 12 FPS to 15 FPS is not a substantial improvement in performance.
Adjusting parameter vid_preferbackend=1 in gzdoom.ini still shows the Unsupported OpenGL version error message when launching GZDoom.
Adjusting parameter vid_preferbackend=1 in gzdoom.ini still shows the Unsupported OpenGL version error message when launching GZDoom.
Re: GZDoom DOOM Engine Source Port on the Raspberry Pi 4 Computer
Sounds like it is a good benchmark game?Going from 12 FPS to 15 FPS is not a substantial improvement in performance.
Warzone 2100 and 0AD were my benchmark OpenGL test games for years on Pi's.
Things have improved that both are now playable.
Vulkan should in theory add a slight improvement that makes borderline games playable.
Anything borderline on Pi4 might be just fine on a Pi5?
Overclocking on a Pi400 also pushes the "border line".
Emulation like FEX on Aarch64 ARM might be another way?
Likewise asm code tweaking might add more performance.
Get enough of little 25% improvements adds up to just playable?
I'm dancing on Rainbows.
Raspberries are not Apples or Oranges
Raspberries are not Apples or Oranges
Re: GZDoom DOOM Engine Source Port on the Raspberry Pi 4 Computer
No, i play under vulkan.Moonmarch wrote: ↑Mon Aug 07, 2023 9:24 pmOn the Raspberry Pi 4, there is no way anyone will be able to force GZDoom to use the Vulkan renderer, because how will the performance improve? Going from 12 FPS to 15 FPS is not a substantial improvement in performance.
Adjusting parameter vid_preferbackend=1 in gzdoom.ini still shows the Unsupported OpenGL version error message when launching GZDoom.
Debian, everything old, mesa, etc.
Re: GZDoom DOOM Engine Source Port on the Raspberry Pi 4 Computer
Those early PC 3D games were not high res.
10fps at 1920x1080, what is it at 800x600?
I run games Windowed these days and only have 1280x1024 monitors anyway.
What Pi games look good at 1920x1080?
Might give them a try on a TV.
10fps at 1920x1080, what is it at 800x600?
I run games Windowed these days and only have 1280x1024 monitors anyway.
What Pi games look good at 1920x1080?
Might give them a try on a TV.
I'm dancing on Rainbows.
Raspberries are not Apples or Oranges
Raspberries are not Apples or Oranges
Re: GZDoom DOOM Engine Source Port on the Raspberry Pi 4 Computer
Been playing with Bookworm, Mesa is now 22.3.6 and Vulkan is 1.3.239.
Need to find more Vulkan test apps.
Need to find more Vulkan test apps.
I'm dancing on Rainbows.
Raspberries are not Apples or Oranges
Raspberries are not Apples or Oranges
Re: GZDoom DOOM Engine Source Port on the Raspberry Pi 4 Computer
ok, test mesa stable release 23.1.7, gzdoom & vkdoom both run wayland/vulkan.
set env SDL_VIDEODRIVER=wayland.
set env SDL_VIDEODRIVER=wayland.
Re: GZDoom DOOM Engine Source Port on the Raspberry Pi 4 Computer
Had to make and install zmusic.
VKdoom is at 36% compiled ;)
Will see if that wayland thing is needed soon.
Will try compiling Warzone2100 for Vulkan now :D
Wonder what other games are Vulkanized?
VKdoom is at 36% compiled ;)
Will see if that wayland thing is needed soon.
Will try compiling Warzone2100 for Vulkan now :D
Wonder what other games are Vulkanized?
I'm dancing on Rainbows.
Raspberries are not Apples or Oranges
Raspberries are not Apples or Oranges
Re: GZDoom DOOM Engine Source Port on the Raspberry Pi 4 Computer
- vkdoom
VKDoom v0.9-211-g6e660ef02 - 2023年09月18日 02:42:12 +0200 - SDL version
Compiled on Sep 18 2023
OS: Debian GNU/Linux 12 (bookworm), Linux 6.1.0-12-arm64 on aarch64
VKDoom version v0.9-211-g6e660ef02
This new Bookworm seems pretty good.
I'm dancing on Rainbows.
Raspberries are not Apples or Oranges
Raspberries are not Apples or Oranges
Re: GZDoom DOOM Engine Source Port on the Raspberry Pi 4 Computer
I can't wait for Bookworm update for the Raspberry Pi Operating System, but does the performance in GZDoom with Vulkan Renderer improve on the Raspberry Pi 4 computer at 1080P resolution?
Re: GZDoom DOOM Engine Source Port on the Raspberry Pi 4 Computer
ok, install brutal doom and it had default gzdoom.ini, run looks good.
https://wiki.archlinux.org/title/Brutal_Doom
https://wiki.archlinux.org/title/Brutal_Doom
Re: GZDoom DOOM Engine Source Port on the Raspberry Pi 4 Computer
VKdoom ran a short time and then locked up everything :(
But then it was running on not official Bookworm ;)
Graphics still look really bad, blocky blood splatter.
Might try GZdoom once I find my real Doom WADs.
But then it was running on not official Bookworm ;)
Graphics still look really bad, blocky blood splatter.
Might try GZdoom once I find my real Doom WADs.
I'm dancing on Rainbows.
Raspberries are not Apples or Oranges
Raspberries are not Apples or Oranges
Re: GZDoom DOOM Engine Source Port on the Raspberry Pi 4 Computer
mesa is too old, even Bookworm.
my side, 720p|1080p all good, why say that --> been shot quickly no way to run.
Re: GZDoom DOOM Engine Source Port on the Raspberry Pi 4 Computer
Needs 23.x?mesa is too old, even Bookworm.
Might have to go for a rolling OS or Debian SID :lol:
I'm dancing on Rainbows.
Raspberries are not Apples or Oranges
Raspberries are not Apples or Oranges
Re: GZDoom DOOM Engine Source Port on the Raspberry Pi 4 Computer
Upgraded to SID from Bookworm, now got Mesa 23.2.0~rc3-3 ;)
VKdoom runs, got to 3rd base before falling into the green slime and dying :lol:
Needed to map arrows keys, been a long time since I used WASD.
VKdoom runs, got to 3rd base before falling into the green slime and dying :lol:
Needed to map arrows keys, been a long time since I used WASD.
I'm dancing on Rainbows.
Raspberries are not Apples or Oranges
Raspberries are not Apples or Oranges
Jump to
- Community
- General discussion
- Announcements
- Other languages
- Deutsch
- Español
- Français
- Italiano
- Nederlands
- 日本語
- Polski
- Português
- Русский
- Türkçe
- User groups and events
- Raspberry Pi Official Magazine
- Using the Raspberry Pi
- Beginners
- Troubleshooting
- Advanced users
- Assistive technology and accessibility
- Education
- Picademy
- Teaching and learning resources
- Staffroom, classroom and projects
- Astro Pi
- Mathematica
- High Altitude Balloon
- Weather station
- Programming
- C/C++
- Java
- Python
- Scratch
- Other programming languages
- Windows 10 for IoT
- Wolfram Language
- Bare metal, Assembly language
- Graphics programming
- OpenGLES
- OpenVG
- OpenMAX
- General programming discussion
- Projects
- Networking and servers
- Automation, sensing and robotics
- Graphics, sound and multimedia
- Other projects
- Media centres
- Gaming
- AIY Projects
- Hardware and peripherals
- Camera board
- Compute Module
- Official Display
- HATs and other add-ons
- Device Tree
- Interfacing (DSI, CSI, I2C, etc.)
- Keyboard computers (400, 500, 500+)
- Raspberry Pi Pico
- General
- SDK
- MicroPython
- Other RP2040 boards
- Zephyr
- Rust
- AI Accelerator
- AI Camera - IMX500
- Hailo
- Software
- Raspberry Pi OS
- Raspberry Pi Connect
- Raspberry Pi Desktop for PC and Mac
- Beta testing
- Other
- Android
- Debian
- FreeBSD
- Gentoo
- Linux Kernel
- NetBSD
- openSUSE
- Plan 9
- Puppy
- Arch
- Pidora / Fedora
- RISCOS
- Ubuntu
- Ye Olde Pi Shoppe
- For sale
- Wanted
- Off topic
- Off topic discussion