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

    [DOSBox] official thread

    Scheduled Pinned Locked Moved Help and Support
    dosdosboxdosbox-stagingdosbox-xdosbox-pure
    234 Posts 27 Posters 79.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.
    • N
      nemo93 @mitu
      last edited by

      @mitu thanks again. Script edited to take all above points into account. Works very fine now on my setup. Also PR just submitted. Happy to discuss further. Thanks to all maintainers, testers and to @Lolonois for giving me a boost :-)

      On another note the next stable release of Staging is around the corner and should be tagged 0.77. Some features have already been merged to master branch. In (very) short many improvements have and are still being made to MIDI playback (including lower latency via dedicated thread) and build system migrated over to Meson. A proper announcement will be sent over once everything is ready.

      There's also a new DOSBOX-X release. As always plenty of additions and improvements added. On the Libretro front DOSBox Pure keeps receiving updates as well. I'm afraid I have no time to push further my testing on that "core" hence any feedback appreciated.

      LolonoisL jamrom2J 2 Replies Last reply Reply Quote 0
      • LolonoisL
        Lolonois @nemo93
        last edited by

        Ah great, thanks for pushing the dosbox-staging scriptmodule forward quickly @nemo93 @mitu @BuZz :)

        1 Reply Last reply Reply Quote 0
        • jamrom2J
          jamrom2 @Lolonois
          last edited by jamrom2

          @lolonois Hiya... yes my attempt to build from source crashed on the Meson error. how can I upgrade to the required 51 from 49.2?

          Thanks!

          update: I found this... but I'm running a Pi3B+. Does it matter? I just did an image of my build, so I'm ok to mess around with my build to test.

          https://www.reddit.com/r/RetroPie/comments/egjqw2/how_to_manually_compile_newest_mesa_drivers_for/

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

            @jamrom2 said in [DOSbox] official thread:

            how can I upgrade to the required 51 from 49.2?

            Are you using a recent Raspberry Pi OS (Buster) release on your Pi ?

            jamrom2J 1 Reply Last reply Reply Quote 0
            • jamrom2J
              jamrom2 @mitu
              last edited by jamrom2

              @mitu good question... I'm using the latest build of Retropie... 4.7.1. That's about all I know about what's running the background.

              So ... I'd like to say yes, but I honestly don't know.

              Can I run a command to tell me?

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

                @jamrom2 The information is shown when you start the RetroPie-Setup script

                0bacfb0f-a602-4c43-9b4d-45e31d4684f6-image.png

                jamrom2J 1 Reply Last reply Reply Quote 0
                • jamrom2J
                  jamrom2 @mitu
                  last edited by

                  @mitu lol... oh.. that one...

                  Yes, it's Buster

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

                    @jamrom2 Make sure your OS and packages are. up-to-date. What's the output of:

                    apt policy meson
                    

                    It should show something like:

                         0.52.1-1~bpo10+1 500
                            500 http://archive.raspberrypi.org/debian buster/main armhf Packages
                         0.49.2-1 500
                            500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
                    
                    jamrom2J 2 Replies Last reply Reply Quote 0
                    • jamrom2J
                      jamrom2 @mitu
                      last edited by jamrom2

                      @mitu
                      Looks like 52.1 needs to be installed

                      meson 1.jpg

                      1 Reply Last reply Reply Quote 0
                      • jamrom2J
                        jamrom2 @mitu
                        last edited by

                        @mitu does this sound right? Or is there another command to get it done.

                        https://mesonbuild.com/Quick-guide.html

                        LolonoisL 1 Reply Last reply Reply Quote 0
                        • LolonoisL
                          Lolonois @jamrom2
                          last edited by

                          @jamrom2 sudo apt-get install meson, will also pull in ninja-build and python3 (if absent).

                          jamrom2J 2 Replies Last reply Reply Quote 0
                          • jamrom2J
                            jamrom2 @Lolonois
                            last edited by

                            @lolonois thank you. It's compiling now.

                            1 Reply Last reply Reply Quote 0
                            • jamrom2J
                              jamrom2 @Lolonois
                              last edited by jamrom2

                              @lolonois stopped here... been over an hour. Is this a problem? Am I missing something else?

                              Update: never mind... I forgot it's better to run the compiling scripts in the unit and not remotely. It blew through the build in 10 min. All good.

                              1 Reply Last reply Reply Quote 0
                              • jamrom2J
                                jamrom2 @nemo93
                                last edited by jamrom2

                                @nemo93 I have a question about this Staging version... and I'm sure I'll get the Idiot of the Year award for it.. lol.

                                I have the SDL2, Pure, and now Staging versions all loaded. Plus the lr-dosxbox as well... but that's no where near the performance of the other three.

                                So what is the difference between the three versions? Staging seems to be the best, but I'm not seeing any difference on games like NHL 96, and stuff in that era. I realize my little Pi3b+ should probably be upgraded to a 4 for better overall speed and such. But I was curious as to what makes these versions different.

                                Also, I'd like to run some shaders for the CRT look of the late 80's. How do I do that with these?

                                Thanks for all the work on Staging... it's very good.

                                N 1 Reply Last reply Reply Quote 0
                                • N
                                  nemo93 @jamrom2
                                  last edited by nemo93

                                  @jamrom2 it's always better to ask questions, to learn new stuff and to try to understand what's going on. Keep shooting questions, there is a lot of knowledge around that forum with plenty of wise fellows.

                                  I haven't done any new testing recently with lr-dosbox but when I did I got poor performance on pi3/pi4. If I'm not mistaken this is more or less a straightforward port of "SVN" and I'm not even sure this libretro core is still being maintained. There's @RealNC 's libretro core as well which brings many features and of course "Pure" but I haven't tested it yet. All those cores benefit from RetroArch quality-of-life improvements like an easy-to-use GUI, controllers mapping, etc at the cost of a slight overhead which can decrease performance a bit on some lower-end devices like our beloved Raspberry Pi. Especially on some of the most demanding games (the 3D ones like Azrael's Tears, Quake, etc). That's why I prefer to stick to the "standalone" versions of DOSbox for now.

                                  "SDL2" is a "standalone" version based on "Dugan Chen" 's fork. It's a great fork bringing lots of improvements the most important being SDL2 support which prevents tearing for instance. The only issue is that this fork is no longer maintained (last commit from Jan 2020). Staging is also a "standalone" fork which brings many features and improvements. On top of that the 2 maintainers (all credits to them) have done an incredible work of modernizing the whole codebase. This is no small task and they keep merging patches from "SVN" and adding features on a very regular basis.

                                  The fact you don't see any difference in 3D games is mostly due to the limited power available on a Pi. Also even if there are differences in features etc all forks above do share the same foundation which is the "SVN" code base. A game might run - slightly - better on a specific fork but don't expect huge differences.

                                  Upgrading to a Pi4 will help 3D games to run better given the performance boost from the CPU but it won't be perfect. Keep in mind that it was very uncommon for DOS games to run at 60fps back in the days. Running a game at constant 30fps was amazing back then :-)

                                  For shaders, I'm not 100% sure but DOSBox does use a specific format hence you can't rely on Retroarch's ones for instance. Some shaders have been ported though, you can find them at that page.

                                  jamrom2J 1 Reply Last reply Reply Quote 0
                                  • jamrom2J
                                    jamrom2 @nemo93
                                    last edited by jamrom2

                                    @nemo93 Thanks for the detailed reply. From all the testing I've done so far, Staging seems to be the better of them all, with SDL2 right behind it and truthfully, almost impossible to see any difference between them. They both run really well.

                                    I've tested games like Aces of the Deep, Aces over Europe, Team Yankee, Duke Nuk'em 3D. They run good in core based DosBox but get really beat-up in Libretro based Dosbox. Sound issues, frame jumps, etc.

                                    I think the extras like overlays and shaders will just have to wait. I understand the reasons, it's emulation and not native hardware, so it's expected to take performance hits when you turn on all the extras.

                                    I was going to install lr-dosbox-core, but I don't see a step-by step install for it... unless I missed it. It's fine, because if there is no performance gain over the other libretro cores, I won't use it anyway.

                                    I'll stick with Staging and play around with adding in a shader for the CRT effect. I'll see how it effects performance and decide from there.

                                    Thanks again for the great response. I agree... the knowledge is incredible and we all learn by asking. It's a great community!

                                    BTW... mitsu actually sent me that link for the shaders... I just haven't played with it. Now that I'm decided on my DOSbox direction, I'll mess around like I mentioned.

                                    1 Reply Last reply Reply Quote 0
                                    • ectoE
                                      ecto
                                      last edited by

                                      It's time for another status report from me ;)
                                      I have now made the change to full kms and while I had some problems with sound, which I now reverted back to bcm, I'm happy to have made this step.

                                      Now, on to my favourite topic: dosbox.
                                      I once again trieddosbox-stagingwith the new build script from @nemo93's repository. That all went well, thanks for that!
                                      It's nice to have the build-in MT32 emulation and the possibility to use shaders (zfast_crt especially) is a really great development. But sadly I still have some problems with different games (everything tested with 35000 cycles):

                                      • Ultima VII with MT32: The music in the start screen crackles, when the titles fade in. When I tried it with my external munt demon it just works. Even with shaders (nice!). Maybe running munt externally keeps it off of the cpu dosbox is running on? Idk. I coudn't find options for MT32 emulation, like a higher buffersize or enabling dedicated thread for it.
                                      • Wing Commander IV: (or maybe it's the svga resolution) doesn't like dosbox-staging, I guess. Crackling sound everywhere, and somewhat slow video output. I tried different outputs (gl, gles, software) and machines (vesa_nolfb, svga_s3), but it made no difference. It got better when I randosboxwithXINIT, but then my keyboard and controller wouldn't work at all.

                                      I hadn't time to test more, but as it seems, I will still stay withSVNon higher resolution games. But using the shaders on those low-resolution games together with pixel-perfect scaling is a great feature. I will test more games in the weeks to come!

                                      PS. have I made everything right: the shaders only work when output=openglppis set?

                                      jamrom2J 1 Reply Last reply Reply Quote 1
                                      • jamrom2J
                                        jamrom2 @ecto
                                        last edited by

                                        @ecto How did you get the shaders to work. I've been playing around with this... but not 100% focused on it.

                                        I'd like to try it as well.

                                        I think between the two versoins (SVN and Staging) there are some really good options. What games did you try?

                                        ectoE 1 Reply Last reply Reply Quote 0
                                        • ectoE
                                          ecto @jamrom2
                                          last edited by

                                          @jamrom2 I used output=openglpp and glshader =/path/to/shader.glsl. Shaders can be found here or you use the build-in ones.

                                          I have lots of games (The MSDOS-era is where I grew up in). For starters I would recommend the Origin games (Ultima, System Shock, Wing Commander, Strike Commander, Privateer, Crusader). Other great games are Fallout, Pro Pinball games, Dungeon Keeper and Heroes of Might and Magic to name a few. Very good are also the first Alone in the Dark games.
                                          There's also Lucasarts, but those adventures are probably best played with ScummVM.

                                          Overall SVN seems to have the better performance (at least for me and especially at higher resolutions), but staginglooks soooo much better. It's no easy call.

                                          jamrom2J 1 Reply Last reply Reply Quote 0
                                          • jamrom2J
                                            jamrom2 @ecto
                                            last edited by jamrom2

                                            @ecto can I pick your brain on this one a little...

                                            I am using Staging.

                                            I adjusted the dosbox-staging.conf file located in /opt/retropie/configs.hdmi/pc to match what you have in the [SDL] and [render] areas.

                                            output = openglpp

                                            I then placed the shader (I used zfast_crt.glsl) in the opt/retropie/emulators/dosbox-staging folder and adjusted the statement in [render] to this...

                                            glshader = /opt/retropie/emulators/dosbox-staging/zfast_crt.glsl

                                            Nothing shows... so I am definately missing something in the config file. Seems simple enough, but I think I'm writing the location wrong.

                                            Thanks!

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