RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Doom Pi Project Need Advise

    Scheduled Pinned Locked Moved General Discussion and Gaming
    doomiidoom portdoompi3raspberry pi 3b
    44 Posts 9 Posters 5.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.
    • edmaul69E
      edmaul69 @Protocultor
      last edited by

      @Protocultor aint nothing wrong with trusty old zdoom. I have like 65 games running on it so i aint complaining.

      1 Reply Last reply Reply Quote 1
      • tpo1990T
        tpo1990 @RetroFreak89
        last edited by

        @RetroFreak89

        After downloading the Doom Legacy scriptmodule, it needs to be placed in /home/pi/RetroPie-Setup/scriptmodules/ports/
        and then you should be able to install Doom Legacy the same way as you would install ZDoom from RetroPie Setup.

        No problem, i will help out as much as i can.

        Greetings from Denmark. :-)

        Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

        1 Reply Last reply Reply Quote 1
        • tpo1990T
          tpo1990 @Protocultor
          last edited by tpo1990

          @Protocultor Where did you try run the GZDoom binary?

          Was it in CLI/Emulationstation or in X11 Window/Raspbian desktop?

          Now that i think of it, it could be that i was able to run GZDoom in Raspbian Desktop which uses the X11 Window and not in Emulationstation.

          When you try to compile from source, sometimes it will be compiled with support for the framebuffer which CLI/Emulationstation uses or not. It could be both Framebuffer/X11 or it could be one of them. Also you might need to change some variables in the makefile in order to make the GZDoom binary able to use Framebuffer or SDL as what ZDoom uses.

          Framebuffer: Is what Emulationstation uses when using runcommand script.
          X11 Window: Is what Raspbian Desktop uses, when using applications in the desktop environment.

          I will try to compile GZDoom on my test Raspi SD card and see if i can get it to work again.

          Greetings from Denmark. :-)

          Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

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

            Might be worth trying to run with +set gl_es 1 to force the GLES SDL renderer for the framebuffer version (see this commit. Otherwise, OpenGL means X11 must be used.

            tpo1990T 1 Reply Last reply Reply Quote 2
            • tpo1990T
              tpo1990 @mitu
              last edited by

              @mitu I might look into that when trying to compile GZDoom again on my test Raspi. Thank you Mitu.

              Greetings from Denmark. :-)

              Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

              1 Reply Last reply Reply Quote 1
              • P
                Protocultor @tpo1990
                last edited by

                @tpo1990 now I feel dumb, completely forgot about trying it under X11. Tried it always in CLI, because I want it under Emustation.
                I'm not good with (c)make, and the only option I found was NO_GTK which I enabled (thank gods for ccmake); I assumed it was enough, but didn't make a difference except for the style of the windows it showed when crashed.
                Tested it under desktop and "kind of wanted to start" even creating a window and giving me the creepy sound when Doom 1 starts, but crashed after that.

                +set gl_es 1 did have an effect, 3.4.0 at least showed that it recognized GLES before crashing. Without it, it just exits saying "no OpenGL functions". That's under both CLI and PIXEL.

                If you can make it run under framebuffer, I'd be super grateful.

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

                  Doesn't seem to work under the framebuffer - i.e. via GL ES. It crashes with the same message:

                  /gzdoom -debug +set gl_es true
                  GZDoom g4.1pre-399-g15d2b4779  - SDL version
                  
                  SDL EVENT: SDL_JOYDEVICEADDED (timestamp=76 which=0)
                  M_LoadDefaults: Load system defaults.
                  W_Init: Init WADfiles.
                   adding /home/pi/gzdoom/release/gzdoom.pk3, 621 lumps
                   adding /home/pi/gzdoom/release/zd_extra.pk3, 1520 lumps
                   adding ./Doom1.WAD, 1264 lumps
                  I_Init: Setting up machine state.
                  I_InitSound: Initializing OpenAL
                    Opened device ALSA Default
                    EFX enabled
                  V_Init: allocate screen.
                  S_Init: Setting up sound.
                  ST_Init: Init startup screen.
                  Checking cmd-line parameters...
                  S_InitData: Load sound definitions.
                  G_ParseMapInfo: Load map definitions.
                  Texman.Init: Init texture manager.
                  ParseTeamInfo: Load team definitions.
                  LoadActors: Load actor definitions.
                  script parsing took 2326.39 ms
                  R_Init: Init Doom refresh subsystem.
                  DecalLibrary: Load decals.
                  M_Init: Init menus.
                  P_Init: Init Playloop state.
                  ParseSBarInfo: Loading custom status bar definition.
                  D_CheckNetGame: Checking network game status.
                  player 1 of 1 (1 nodes)
                  Using video driver RPI
                  SDL EVENT: SDL_WINDOWEVENT (timestamp=11627 windowid=1 event=SDL_WINDOWEVENT_ENTER data1=0 data2=0)
                  SDL EVENT: SDL_WINDOWEVENT (timestamp=11630 windowid=1 event=SDL_WINDOWEVENT_FOCUS_GAINED data1=0 data2=0)
                  SDL EVENT: SDL_WINDOWEVENT (timestamp=11630 windowid=1 event=SDL_WINDOWEVENT_SIZE_CHANGED data1=1920 data2=1080)
                  SDL EVENT: SDL_WINDOWEVENT (timestamp=11630 windowid=1 event=SDL_WINDOWEVENT_SIZE_CHANGED data1=1920 data2=1080)
                  SDL EVENT: SDL_WINDOWEVENT (timestamp=11630 windowid=1 event=SDL_WINDOWEVENT_SHOWN data1=0 data2=0)
                  Unsupported OpenGL version.
                  At least OpenGL 3.3 is required to run GZDoom.
                  For older versions of OpenGL please download the vintage build of GZDoom.
                  

                  In all fairness, I'm using the latest git (4.1).
                  I have stumbled upon an previous topic on the GZDoom which might indicate that GLES3 might be needed (https://forum.zdoom.org/viewtopic.php?f=50&t=60873).
                  I guess I'll give the legacy (3.x) branch a try.

                  1 Reply Last reply Reply Quote 1
                  • tpo1990T
                    tpo1990
                    last edited by tpo1990

                    Now that it comes to mind my, it might have been Zandronum that i was successful at compiling earlier. It certainly works both in X11 and Framebuffer. I was able to compile Zandronum by following the french site framboisepi.fr, but unfortunately it builds an 3.1 alpha version instead of the latest primary version 3.0 in which Windows users uses. I will look into making it build the latest stable version 3.0.

                    I also came across a reddit topic stating that GZDoom might not be able to work on our RPI due to either poor OpenGL support or performance. Reddit link

                    Here is another website where someone did manage to change some OpenGL variables in the source files of GZDoom so that it does not rely on OpenGL when compiling. (This might be worth checking out) DRDTeam link

                    I think our best is Zandronum instead of GZDoom. Zandronum seems to look identical to ZDoom and its other versions but with focus on enhancing multiplayer. It is also one of the following ports that Doomseeker uses to launch into playing online. (Doomseeker is a online multiplayer launcher gui) Zandronum might just be a good alternative over using ZDoom.

                    Greetings from Denmark. :-)

                    Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

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

                      @tpo1990 said in Doom Pi Project Need Advise:

                      Here is another website where someone did manage to change some OpenGL variables in the source files of GZDoom so that it does not rely on OpenGL when compiling. (This might be worth checking out) DRDTeam link

                      Thanks for digging this. From what I gather in that topic is that GLES3 is still required using GL ES (i.e. not using OpenGL). That might work for the systems what support it (like the Odroid XU4 or N2), but for the Raspberry PI the limit is GLES2.

                      tpo1990T 1 Reply Last reply Reply Quote 0
                      • tpo1990T
                        tpo1990 @mitu
                        last edited by

                        @mitu said in Doom Pi Project Need Advise:

                        @tpo1990 said in Doom Pi Project Need Advise:

                        Here is another website where someone did manage to change some OpenGL variables in the source files of GZDoom so that it does not rely on OpenGL when compiling. (This might be worth checking out) DRDTeam link

                        Thanks for digging this. From what I gather in that topic is that GLES3 is still required using GL ES (i.e. not using OpenGL). That might work for the systems what support it (like the Odroid XU4 or N2), but for the Raspberry PI the limit is GLES2.

                        It might seems that we have a reached a hardware limit for our Raspberry Pi, which i therefore think that Zandronum would be our best bet to get working. I did also managed to get Doomseeker working as well in X11 and i could see online servers but unfortunately they were using Zandronum v3.0. If we could get that working as well it would make Online multiplayer in Doom a reality on our Raspberry Pi.

                        I tried yesterday with compiling QZDoom which is ZDoom's test base and it also asks for OpenGL when trying to launch the binary just like GZDoom does.

                        Greetings from Denmark. :-)

                        Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

                        1 Reply Last reply Reply Quote 0
                        • RionR
                          Rion
                          last edited by Rion

                          @tpo1990
                          ReMooD is a Doom source port of Doom Legacy 1.42 support 4-player split screen support but sadly the project was stopped. Github

                          Searching for ReMooD forks i found

                          Edward850's BananaSplit fork of Eternity

                          FBNeo rom filtering
                          Mame2003 Arcade Bezels
                          Fba Arcade Bezels
                          Fba NeoGeo Bezels

                          tpo1990T 1 Reply Last reply Reply Quote 0
                          • tpo1990T
                            tpo1990 @Rion
                            last edited by

                            @Rion said in Doom Pi Project Need Advise:

                            @tpo1990
                            ReMooD is a Doom source port of Doom Legacy 1.42 support 4-player split screen support but sadly the project was stopped. Github

                            Searching for ReMooD forks i found

                            Edward850's BananaSplit fork of Eternity

                            Yes i know about ReMooD and Edward850's BananaSplit Fork of Eternity.

                            While i was planning to make split-screen Doom a reality for Raspberry Pi, i did try to compile ReMooD and was succesful at some point making it work with some small bugs in X11. (this was in RetroPie 4.3 Jessie last year) and now i have already tried with compiling it recently which i failed. Since Doom Legacys latest version, the source port is more stable and it works great.

                            I have also managed to succesfully compile BananaSplit before and that source port is the fastest Doom source port that i have ever tried on my Raspberry Pi 3. That fork has 2 player split-screen but i could not get it to work, since it would just throw segfault error. Only singleplayer works. I even think it runs better than ZDoom according to my own opinion.

                            Greetings from Denmark. :-)

                            Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

                            Solid OneS 1 Reply Last reply Reply Quote 1
                            • RionR
                              Rion
                              last edited by

                              @tpo1990 How hard do you think it would be to implement @Protocultor 's Zdoom and Gampad Fully Working in to you Doom Legacy Split screen build?

                              The Eternity Engine sound really exciting!

                              Have you tried to contact Edward850 about BananaSplit Fork of Eternity?

                              FBNeo rom filtering
                              Mame2003 Arcade Bezels
                              Fba Arcade Bezels
                              Fba NeoGeo Bezels

                              tpo1990T 1 Reply Last reply Reply Quote 0
                              • tpo1990T
                                tpo1990 @Rion
                                last edited by

                                @Rion Well it depends on how Doom Legacy sees the gamepad. Doom Legacy does in fact support joystick the same as ZDoom does and mapping some of the buttons on the gamepad in the options menu does seem to work, but im not sure if its possible to use the analog sticks in Doom Legacy.

                                Doom Legacy has its own configuration file named config.cfg. You could possibly manually map the correct joystick buttons by making changes into its configuration file. It might not be that hard to implement @Protocultor 's Zdoom gamepad solution.

                                You would be looking at the setcontrol variable for player 1. in the config.cfg file found in /opt/retropie/configs/ports/doom.
                                setcontrol2 is player 2.

                                My primary focus is on Doom Legacy, but i would like to also have a look into getting other Doom source ports to work as well.

                                Greetings from Denmark. :-)

                                Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

                                RetroS3xualR 1 Reply Last reply Reply Quote 1
                                • tpo1990T
                                  tpo1990
                                  last edited by

                                  So i managed to get a working scriptmodule for Zandronum source port to work in RetroPie and i have created a new repository for the purpose of testing out other Doom source ports, configuration and mods as well.

                                  Check it out from this other thread: https://retropie.org.uk/forum/topic/22108/doom-development-repository

                                  In the meanwhile the repository only contains Zandronum scriptmodule but will get many more at a later stage.

                                  Use the command in terminal or CLI:

                                  wget https://raw.githubusercontent.com/tpo1990/Doom-RPI/master/scriptmodules/zandronum.sh -P /home/pi/RetroPie-Setup/scriptmodules/ports/
                                  

                                  Greetings from Denmark. :-)

                                  Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

                                  P 1 Reply Last reply Reply Quote 2
                                  • P
                                    Protocultor @tpo1990
                                    last edited by

                                    @tpo1990 that's awesome! I just wanted to point out a couple of things:

                                    • I was missing mercurial and libssl-dev, but didn't realize until I checked out the logs. Maybe should be included in the dependencies?
                                    • Compilation also generates brightmaps.pk3 and skulltag_actors.pk3, files that don't end up in the target directory. Game still starts without them, but you should include them just in case.

                                    Keep up the great work!

                                    tpo1990T 1 Reply Last reply Reply Quote 1
                                    • tpo1990T
                                      tpo1990 @Protocultor
                                      last edited by

                                      @Protocultor Yeah but one thing to take note of is that Zandronum will use its latest version from its bitbucket repository when getting installed by the scriptmodule and at that moment it is an 3.1 alpha version.

                                      This version is not compatible with its latest stable version 3.0 that Windows users uses. We might get it to compile at the latest stable version at some time, but that will need some further insight.

                                      I did notice that the Zandronum binary only requires the zandronum.pk3. Im thinking that the brightmaps.pk3 and the skulltag_actors.pk3 is some features that is included but not necessary for the port to run.

                                      Thank you for testing out the Zandronum scriptmodule. I will update the scriptmodule with the missing dependencies and other pk3 files that the compilation generates.

                                      Greetings from Denmark. :-)

                                      Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

                                      Solid OneS 1 Reply Last reply Reply Quote 1
                                      • tpo1990T
                                        tpo1990
                                        last edited by

                                        Okay so i have now updated the Zandronum script to include mercurial and libssl-dev and make the target include brightmaps.pk3 and the skulltag_actors.pk3

                                        Greetings from Denmark. :-)

                                        Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

                                        1 Reply Last reply Reply Quote 1
                                        • RetroS3xualR
                                          RetroS3xual @tpo1990
                                          last edited by

                                          @tpo1990 @Protocultor Wanted to let you know that I've tested this on Odroid XU4 RetroArena build and it's been working great. Specifically focused on using Brutal Doom as the test subject but I made the changes in various files based on @Protocultor 's changes from the ZDoom Gamepad thread (adding the menu button, changing button maps, etc.) and it works as intended.

                                          P tpo1990T 2 Replies Last reply Reply Quote 1
                                          • P
                                            Protocultor @RetroS3xual
                                            last edited by

                                            @RetroS3xual thanks a lot for the feedback! Can you check out if the other changes I've added create some conflict on the Odroid?

                                            https://github.com/protocultor/zdoom/commit/6b1fb6fef688d54de504644eb4b23e5d967c9f9d
                                            https://github.com/protocultor/zdoom/commit/bce6214a6867709752981c6399d3eac15c4ec532

                                            This is the full diff:
                                            https://github.com/RetroPie/zdoom/compare/retropie...protocultor:retropie

                                            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.