How to setup Freedoom for RetroPie
-
Update 2/21/2017
This information is out dated. Please go to the official wiki:
https://github.com/RetroPie/RetroPie-Setup/wiki/Doom#how-to-setup-freedoomFreedoom is a collection of reusable assets (textures, sound effects and music tracks) that will completely replace the original Doom assets and are liberally licensed under the BSD license.
Why is this important to me?
id Software released the source code for Doom's engine under the GNU General Public License but not the assets so to legally use this source code, you would still need to own the original game (which you can still purchase online on Steam, GOG.com and other places like eBay).
Freedoom aims to be compatible with many of the thousands of Doom levels and other “mods” already released for the original game making them playable without the need to use non-free software. This project has been a work-in-progress for many years now and has already replaced a considerable amount of the game's content but still haven't reached the targeted version 1.0.
Freedoom is divided into three IWADs.
-
Phase 1, which is a replacement for the original Doom and The Ultimate Doom containing 4 chapters with 9 levels each.
-
Phase 2, which replaces Doom II and Final Doom and contains a massive 32-level chapter.
-
Last FreeDM, which also replaces Doom II and Final Doom and is designed to be a fast-paced competitive deathmatch only campaign containing no monsters.
I decided to work on a walk-through describing the steps to get this working on your Raspberry Pi running RetroPie. I might not have all the bugs worked out so I ask for any constructive criticism and advice to make this complete. Also if you have any issues, please let me know.
First you need to download Freedoom:
https://freedoom.github.io/download.htmlAs of this writing, the newest version of Freedoom is 0.10.1 so you can use wget to download the 2 files needed:
wget https://github.com/freedoom/freedoom/releases/download/v0.10.1/freedoom-0.10.1.zip && wget https://github.com/freedoom/freedoom/releases/download/v0.10.1/freedm-0.10.1.zip
Next extract both files:
unzip freedoom-0.10.1.zip && unzip freedm-0.10.1.zip
The files will be extracted to folders named
freedoom-0.10.1
andfreedm-0.10.1
respectively and I like to keep all the Doom WADs in the same folder so why not put them with the shareware doom1.wad.mv freedoom-0.10.1/freedoom*.wad freedm-0.10.1/freedm.wad ~/RetroPie/roms/ports/doom/
Now we need to make scripts so we can launch Freedoom from EmulationStation using lr-prboom. We want to place these scripts in the Ports directory.
nano ~/RetroPie/roms/ports/Freedoom\ Phase\ 1.sh
#!/bin/bash /opt/retropie/supplementary/runcommand/runcommand.sh 0 "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-prboom/prboom_libretro.so --config /opt/retropie/configs/ports/doom/retroarch.cfg /home/pi/RetroPie/roms/ports/doom/freedoom1.wad" "lr-prboom"
nano ~/RetroPie/roms/ports/Freedoom\ Phase\ 2.sh
#!/bin/bash /opt/retropie/supplementary/runcommand/runcommand.sh 0 "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-prboom/prboom_libretro.so --config /opt/retropie/configs/ports/doom/retroarch.cfg /home/pi/RetroPie/roms/ports/doom/freedoom2.wad" "lr-prboom"
nano ~/RetroPie/roms/ports/FreeDM.sh
#!/bin/bash /opt/retropie/supplementary/runcommand/runcommand.sh 0 "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-prboom/prboom_libretro.so --config /opt/retropie/configs/ports/doom/retroarch.cfg /home/pi/RetroPie/roms/ports/doom/freedm.wad" "lr-prboom"
If you would rather use ZDoom use this with the correct WAD filename:
#!/bin/bash /opt/retropie/supplementary/runcommand/runcommand.sh 0 "/opt/retropie/ports/zdoom/zdoom -iwad /home/pi/RetroPie/roms/ports/doom/freedoom1.wad" "zdoom"
After all the scripts have been made, you will need to set them to be executable.
chmod +x ~/RetroPie/roms/ports/Freedoom\ Phase\ 1.sh ~/RetroPie/roms/ports/Freedoom\ Phase\ 2.sh ~/RetroPie/roms/ports/FreeDM.sh
Last step is to reboot EmulationStation and navigate to the Ports. You should now see these 3 Freedoom games on the list.
Notes:
ZDoom isn't working for me so I'm not able to test that version of the script.There is a way to allow changing which emulator (lr-prboom or ZDoom) you want to launch from the Runcommand but this is very complicated to explain.
To delete the left over extracted folders and downloaded files:
rm -rf freedoom-0.10.1/ freedm-0.10.1/ freedoom-0.10.1.zip freedm-0.10.1.zip
-
-
I have finally posted this on the main Doom Wiki:
https://github.com/RetroPie/RetroPie-Setup/wiki/Doom#how-to-setup-freedoom -
I will definitely try this when I get home (didn't see any magic happening in the quote 're-vamped' graphics or higher resolution or whatnot on Chocolate Doom so I'm always looking for another option).
Does this have any new controller mappings pre-installed for regular PS/Xbox style controllers by chance?
I ask because in Doom, Doom 2, and Quake (player through Ports) those controller mappings are totally useless to play any of those games with. You tell me how you can use BOTH joysticks at the same time and somehow have an extra hand to hit "X" (or A, B, or Y) button at the same time to fire the weapon - impossible! And they're all mapped that way (and the hour or so I spent I couldn't change them for some reason).
-
@Dochartaigh
Freedoom is just the game's assets but still needs an "engine" to run it (like lr-prboom, ZDoom, Chocolate Doom, etc...) so it will basically be the exact same controller mappings. -
Freedoom 0.11 was released on 2017-02-16
More information here:
https://freedoom.github.io/index.htmlI have updated the wiki
https://github.com/RetroPie/RetroPie-Setup/wiki/Doom#how-to-setup-freedoomNot sure how it get updated to the new Docs @herb_fargus ;-)
https://retropie.org.uk/docs/Doom/
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.