RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Prboom - pWads not loading. Log file offers strange reasons for not running.

    Scheduled Pinned Locked Moved Help and Support
    prboomdoompwad
    27 Posts 3 Posters 2.3k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      backstander
      last edited by

      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?

      1 Reply Last reply Reply Quote 0
      • XD3lX
        XD3l
        last edited by XD3l

        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?

        1 Reply Last reply Reply Quote 0
        • mituM
          mitu Global Moderator
          last edited by mitu

          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
          [...]
          
          B 1 Reply Last reply Reply Quote 0
          • B
            backstander @mitu
            last edited by backstander

            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/EiatbVbG

            Oh yeah and I'm built from the stock RetroPie v4.4 (stretch) image updated to 4.4.12. RPi 3B+.

            mituM 1 Reply Last reply Reply Quote 0
            • mituM
              mitu Global Moderator @backstander
              last edited by mitu

              @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 through runcommand).

              /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.

              B XD3lX 2 Replies Last reply Reply Quote 2
              • B
                backstander @mitu
                last edited by backstander

                @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 ;)

                1 Reply Last reply Reply Quote 0
                • B
                  backstander
                  last edited by backstander

                  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.

                  1 Reply Last reply Reply Quote 0
                  • XD3lX
                    XD3l @mitu
                    last edited by XD3l

                    @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!

                    alt text

                    1 Reply Last reply Reply Quote 1
                    • XD3lX
                      XD3l
                      last edited by XD3l

                      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.

                      1 Reply Last reply Reply Quote 1
                      • XD3lX
                        XD3l
                        last edited by XD3l

                        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.

                        1 Reply Last reply Reply Quote 0
                        • mituM
                          mitu Global Moderator
                          last edited by

                          To use the documented - using runcommand - method described in the docs:

                          1. create a folder for the mod/pwad and place the necessary IWAD there (doom2/doom1)
                          2. add the mod's files (PWAD/DEH)
                          3. 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 contains

                          pi@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/DEH

                          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/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.

                          XD3lX 1 Reply Last reply Reply Quote 1
                          • XD3lX
                            XD3l @mitu
                            last edited by

                            @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. :)

                            mituM 1 Reply Last reply Reply Quote 0
                            • mituM
                              mitu Global Moderator @XD3l
                              last edited by

                              @XD3l Post your launch (.sh) file. You have mine in the previous post.

                              XD3lX 1 Reply Last reply Reply Quote 0
                              • XD3lX
                                XD3l @mitu
                                last edited by

                                @mitu

                                #!/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
                                
                                mituM 1 Reply Last reply Reply Quote 0
                                • mituM
                                  mitu Global Moderator @XD3l
                                  last edited by

                                  @XD3l Do you have the doom2.wad and the prboom.wad files in the same folder as av.wad ? As I said, I just followed the instructions in the wiki and put them in the same folder, then created a .sh file using runcommand which works without issues.

                                  XD3lX 1 Reply Last reply Reply Quote 0
                                  • XD3lX
                                    XD3l @mitu
                                    last edited by XD3l

                                    @mitu When using the script above (a modification of your own), then no, I only have AV in it's own folder along with the DEH and CFG files.

                                    It is only when I use a script based on the Wiki example that I have problems.

                                    File lay out:

                                    /home/pi/RetroPie/roms/ports/doom/pwad/av/
                                    -av.wad
                                    -av.deh
                                    -doom2.wad (or doom2.wad link, which ever)
                                    -prboom.wad (or prboom.wad link, which ever)
                                    -prboom.cfg (with deh and wad links included)

                                    and with this I use this script:

                                    #!/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/doom/pwad/av/doom2.wad" "lr-prboom"
                                    

                                    Which in turn produces this 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/doom/pwad/av/doom2.wad --appendconfig /dev/shm/retroarch.cfg
                                    retro_load_game: invalid WAD header '(���З/'
                                    D_DoomDeinit:
                                    

                                    This non-sense at the end after WAD header always seems to changed but always consists of garbage.

                                    And again, all files are freshly downloaded, and my iwad checks out A OK with an MD5 checker.

                                    mituM 1 Reply Last reply Reply Quote 0
                                    • mituM
                                      mitu Global Moderator @XD3l
                                      last edited by

                                      @XD3l Did you try updating from source the lr-prboom package ? I got the same 'Invalid WAD header' before updating from source.

                                      XD3lX 2 Replies Last reply Reply Quote 0
                                      • B
                                        backstander
                                        last edited by backstander

                                        I think we're making it to complicated and lr-prboom is smarter than we realized and doesn't need us telling it every single parameter and seams to automatically add the files it needs...somehow. Also the Doom wiki probably needs to be updated to reflect this.

                                        Both of these launch scripts seams to work for me and I'm not mentioning the doom2.wad or the av.deh but they both are getting loaded automatically.

                                        #!/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/av/av.wad" --appendconfig /dev/shm/retroarch.cfg
                                        

                                        and launching through the runcommand

                                        #!/bin/bash
                                        "/opt/retropie/supplementary/runcommand/runcommand.sh" 0 _PORT_ "doom" "/home/pi/RetroPie/roms/ports/doom/av/av.wad" "lr-prboom"
                                        

                                        Using the scripts above somehow loads all the files needed:

                                        W_Init: Init WADfiles.
                                         adding /home/pi/RetroPie/roms/ports/doom/doom2.wad
                                         adding /home/pi/RetroPie/roms/ports/doom/prboom.wad
                                         adding /home/pi/RetroPie/roms/ports/doom/av/av.wad
                                         adding /home/pi/RetroPie/roms/ports/doom/av/av.deh
                                        

                                        Here's my Alien Vendetta directory:

                                        pi@retropie16:~ $ ls -l ~/RetroPie/roms/ports/doom/av
                                        drwxr-x--- 2 pi pi     4096 May 26 09:49 av
                                        -rw-r--r-- 1 pi pi     7403 Dec 24  2002 av.deh
                                        -rw-r--r-- 1 pi pi  1816944 Dec 24  2002 avmovfix.wad
                                        -rw-r--r-- 1 pi pi 23819412 Dec 24  2002 av.wad
                                        -rw-r--r-- 1 pi pi    58599 May 26 09:38 prbmsav0.dsg
                                        -rw-r--r-- 1 pi pi    58599 May 26 09:34 prbmsav1.dsg
                                        -rw-r--r-- 1 pi pi     9642 May 26 21:36 prboom.cfg
                                        

                                        Note: when you launch through the runcommand it make a sub-directory named av (or both scripts use it...I'm not exactly sure) shown below:

                                        pi@retropie16:~ $ ls -l ~/RetroPie/roms/ports/doom/av/av
                                        -rw-r--r-- 1 pi pi 58943 May 26 09:49 prbmsav0.dsg
                                        -rw-r--r-- 1 pi pi  9630 May 26 21:37 prboom.cfg
                                        

                                        I don't have any symbolic links to the doom2.wad anywhere:

                                        pi@retropie16:~ $ sudo find ~/ -name "doom2.wad"
                                        /home/pi/RetroPie/roms/ports/doom/doom2.wad
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • B
                                          backstander
                                          last edited by backstander

                                          I have a hunch that when we add the location to doom2.wad in the launch script that it might be loading up doom2.wada 2nd time thinking it is a PWAD and giving us the retro_load_game: invalid WAD header error.

                                          1 Reply Last reply Reply Quote 0
                                          • XD3lX
                                            XD3l @mitu
                                            last edited by

                                            This post is deleted!
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            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.