Prboom - pWads not loading. Log file offers strange reasons for not running.
-
I went through the steps listed in the DOOM Wiki for RetroPie. I put my pwad into it's own folder, created my sym links of doom2.wad and prboom.wad, copied my config file, edited it so as to link the pwad files, and yet I still can not get my pWAD to load. In this case it is the legendary Alien Vendetta.
I checked for case sensitivity and that was not the case. I had not misspelled anything, and all the files were where they were supposed to be, but for what ever reason, the log keeps giving me the same error. I thought maybe it was reading the Sym Links wrong so I copied bother my doom2.wad and proboom.wad into the pWAD folder, and even went as far as to remove the pWAD from loading in the prboom config all together, but still I get this error, with straight Doom2 even!!!
Parameters:
Executing: /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/doom/pwad/AlienVendetta/doom2.wad --appendconfig /dev/shm/retroarch.cfg
retro_load_game: invalid WAD header 'H㎾З/'
D_DoomDeinit: -
I wonder if you have a bad doom2.wad? What's the md5sum or crc32 of your doom2.wad?
https://retropie.org.uk/docs/FAQ/#how-do-i-calculate-the-md5sum-or-crc32-of-a-bios-fileDOOM2.WAD Hash codes:
https://doomwiki.org/wiki/DOOM2.WADI usually place all my iWADs in
/home/pi/RetroPie/roms/ports/doom/
and you might try it with your iWAD (doom2.wad) in that directory. -
I have not yet tested the hash code, but I can confirm, as stated above, that the doom2.wad works fine upon it's own, as does freedoom2.wad. I only get this error when trying to load a pwad, or when I run the pwad's launching script, without the pwad present, thus rending it to a pure boot of doom2.was or freedoom2.wad once more, but with the error.
-
Okay so I downloaded Alien Vendetta to give it a try and I'm getting the same error:
Parameters: Executing: /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/doom2.wad -deh /home/pi/RetroPie/roms/ports/doom/alienvendetta/AV.DEH -file /home/pi/RetroPie/roms/ports/doom/alienvendetta/AV.WAD" --appendconfig /dev/shm/retroarch.cfg retro_load_game: invalid WAD header 'À×0uÀ×0up/uÀ×0uÀ×0up/uÀ×0uÀ×0up/u(Ò0uP/u(Ò0u/u(Ò0u' D_DoomDeinit:
I did notice in the AV.TXT file that came with Alien Vendetta says to start the game with
av.exe -file av.wad
so it must be an altered executable from the original doom2.exe which means it might not be compatible with the prboom source port. -
I installed prboom-plus on my Debian laptop and loaded up Alien Vendetta with parameters
prboom-plus doom2.wad -file AV.WAD -deh AV.DEH
(with all the files in the same directory) and it works fine! -
Now I downloaded Batman Doom on my RetroPie and I'm getting the same invalid WAD header error. Is there something wrong with the lr-prboom core?
-
I got my copy of Alien Vendetta from here which does not include an EXE file: https://www.doomworld.com/idgames/levels/doom2/megawads/av
All it requires is a basic BOOM compatible port, even Crispy or Chocolate DOOM should work fine with it. I have no issues running it on a normal computer, my only issue comes with running it on the Pi via Emulationstation.
I have not tested any other pwads as this is the first one I am testing to use with PrBOOM. I wrote the ZDOOM tutorial on the Wiki, so I'm pretty confident in my ability, but alas, I must have done something wrong?
-
Try updating the
lr-prboom
package from source, it should work with the setup you have. Here's the loading with the source update:/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/av.wad" --appendconfig /dev/shm/retroarch.cfg M_LoadDefaults: Load system defaults. default file: /home/pi/RetroPie/roms/ports/doom//av/prboom.cfg IdentifyVersion: basesavegame: /home/pi/RetroPie/roms/ports/doom//av i: 0 myargv[0]: prboom myargv[1]: -file myargv[2]: /home/pi/RetroPie/roms/ports/doom/av.pwad myargv[3]: -deh myargv[4]: /home/pi/RetroPie/roms/ports/doom/av.deh [...]
-
Hey @mitu, I don't mean to hijack @XD3l's thread but maybe we've got the same problem...so I updated
lr-prboom
from source and I'm still getting the invalid WAD header error from both Alien Vendetta and Batman Doom. I also Removed it and then compiled it from Source. Still didn't help.Here is my
Alien Vendetta.sh
#!/bin/bash "/opt/retropie/supplementary/runcommand/runcommand.sh" 0 _PORT_ "doom" "/home/pi/RetroPie/roms/ports/doom/doom2.wad -file /home/pi/RetroPie/roms/ports/doom/av/av.wad -deh /home/pi/RetroPie/roms/ports/doom/av/av.deh"
Here's my verbose
runcommand.log
:
https://pastebin.com/EiatbVbGOh yeah and I'm built from the stock RetroPie v4.4 (stretch) image updated to 4.4.12. RPi 3B+.
-
@backstander I actually don't have any problems :), it runs ok. You don't need to add any arguments,
prboom
automatically adds the-file
and-deh
(it it finds a .deh file named as the .wad) arguments. You have the command line I used in my post (though I started it directly, not throughruncommand
)./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/av.wad" --appendconfig /dev/shm/retroarch.cfg
I downloaded the
.wad
from @XD3l's link - https://www.doomworld.com/idgames/levels/doom2/megawads/av. -
@mitu that works for me now!! Now my only problem is my streaming internet radio doesn't pause when I launch anything outside of the
runcommand
lol ;) -
I just used the script to toggle background music on / off that @jonnykesh posted and called it
pause-radio-steam.sh
Now in my
Alien Vendetta.sh
I have:#!/bin/bash /home/pi/scripts/pause-radio-steam.sh /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/av.wad" --appendconfig /dev/shm/retroarch.cfg /home/pi/scripts/pause-radio-steam.sh
Not sure if this is the proper way to do it but it works. I could see an issue if I didn't have the Radio Steam going and I launch this and it starts the radio with the game and pauses it when I exit the game.
-
@mitu All right, so I altered my launch script to reflect yours and updated from source, though that's what I had began with as the binary was acting a bit wonky. I also re-downloaded Alien Vendetta as I had installed the Dehacked file into the wad file and was concerned that somehow Slade had corrupted the wad. I also did a MD5 check on my DOOM2.WAD and it checks out A OK! Lastly I had to move my av.wad and av.deh files into the directory next to doom.2ad and prboom.wad so as to conform to your launch script.
EDIT: It boots now, and so now I assume that it will just pick up on what ever wad and deh files I place in the directory along side of doom2.wad, prboom.wad, and so on?
One problem I do notice though is that it does not save my game anymore. Other than that, thank you, you got me going in the right direction!
-
SUCCESS!!!
I put my Alien Vendetta files back into their own folder within the "ports" folder.
I then altered mutu's script to reflect this:
#!/bin/bash /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/alienvendetta/av.wad" --appendconfig /dev/shm/retroarch.cfg
Now it works and games save to the folder as they should! Thank you both for your time!!! Now I believe I am going to play around with this some more, then once I'm sure I have it all down, alter the wiki to reflect this method as it seems to be the only one that works.
Launch script aside, the only differences now is that you no longer have to create symbolic links for prboom and doom2.wad, plus you no longer have to alter the prboom.cfg that you copy into the pwad's folder. So in short, it is much easier now! On that note, I am now wondering if my ZDOOM tutorial is a bit longer than it needs to be...
EDIT: Side Note, Alien Vendetta seems to demand a bit more than the Pi Zero can offer. I am noticing slow down. I will try something less demanding next.
-
As for pWADs that require doom.wad such as Rekker. What do we need to do to tell PrBOOM to use doom.wad as the default iwad as opposed to doom2.wad?
Normally I would employ the -iwad method, but these Pi scripts for PrBOOM have me scratching my head a bit.And in regards to the configuration... I had to go into retropie settings and alter the button lay out, but in doing so I seemed to have lost my button to change to the next weapon. Why can't these settings simply be made within the DOOM menu?
Lastly, if you happen to be running on a Pi Zero, setting the frame rate to 35 rather than 60, seems to improve performance on more demanding pwads, as does overclocking coupled with a copper heat sink.
-
To use the documented - using
runcommand
- method described in the docs:- create a folder for the mod/pwad and place the necessary IWAD there (doom2/doom1)
- add the mod's files (PWAD/DEH)
- Create the launcher script referencing the full path to the PWAD
#!/bin/bash "/opt/retropie/supplementary/runcommand/runcommand.sh" 0 _PORT_ "doom" "/home/pi/RetroPie/roms/ports/doom/av/av.wad"
Alien Vendetta.sh
My
av
folder containspi@retropie:~/RetroPie/roms/ports $ ls -l doom/av -rw-r--r-- 1 pi pi 7403 May 26 05:10 av.deh -rw-r--r-- 1 pi pi 23819412 May 26 05:10 av.wad lrwxrwxrwx 1 pi pi 12 May 26 05:12 doom2.wad -> ../doom2.wad -rw-r--r-- 1 pi pi 10193 May 25 08:13 prboom.cfg lrwxrwxrwx 1 pi pi 13 May 26 05:11 prboom.wad -> ../prboom.wad
lr-prboom
will load the IWAD and add the necessary flags to load the PWAD/DEHParameters: Executing: /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/av/av.wad" --appendconfig /dev/shm/retroarch.cfg M_LoadDefaults: Load system defaults. default file with base values: /home/pi/RetroPie/roms/ports/doom/av/prboom.cfg default file: /home/pi/RetroPie/roms/ports/doom/av//av/prboom.cfg IdentifyVersion: basesavegame: /home/pi/RetroPie/roms/ports/doom/av//av [...] iwad: /home/pi/RetroPie/roms/ports/doom/av/doom2.wad IWAD found: /home/pi/RetroPie/roms/ports/doom/av/doom2.wad PrBoom, playing: DOOM 2: Hell on Earth PrBoom is released under the GNU General Public license v2.0. You are welcome to redistribute it under certain conditions. It comes with ABSOLUTELY NO WARRANTY. See the file COPYING for details. V_Init: allocate screens. D_InitNetGame: Checking for network game. W_Init: Init WADfiles. adding /home/pi/RetroPie/roms/ports/doom/av/doom2.wad adding /home/pi/RetroPie/roms/ports/doom/av/prboom.wad adding /home/pi/RetroPie/roms/ports/doom/av/av.wad W_InitCache Loading DEH file /home/pi/RetroPie/roms/ports/doom/av/av.deh [...]
I think you might not need a separate folder, as I did,
prboom
creates a sub-folder anyway for storing the.cfg
file (and maybe for saves ?).For the mapping stuff, I don't know how it behaves, maybe @backstander can offer an answer.
-
@mitu For what ever reason, using the runcommand method does not work for me, which is what drove me to create this thread. I have never once seen it work since all my days using the Pi. Sadly though the Pi Zero can't seem to handle ZDOOM, so I'm stuck with PrBOOM, which I'm not the hugest fan of as you can tell. :)
-
@XD3l Post your launch (
.sh
) file. You have mine in the previous post. -
#!/bin/bash /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/pwad/alienvendetta/av.wad" --appendconfig /dev/shm/retroarch.cfg
-
@XD3l Do you have the
doom2.wad
and theprboom.wad
files in the same folder asav.wad
? As I said, I just followed the instructions in the wiki and put them in the same folder, then created a.sh
file usingruncommand
which works without issues.
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.