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.
    • 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
                                          • ectoE
                                            ecto @jamrom2
                                            last edited by

                                            @jamrom2

                                            Here are the important (?) parts of my dosbox-staging.conf

                                            [sdl]
                                            fullscreen       = true
                                            display          = 0
                                            fullresolution   = desktop
                                            windowresolution = default
                                            output           = openglpp
                                            texture_renderer = opengl
                                            
                                            [dosbox]
                                            language          = 
                                            machine           = vesa_nolfb
                                            captures          = capture
                                            memsize           = 16
                                            startup_verbosity = high
                                            
                                            [render]
                                            frameskip          = 0
                                            aspect             = true
                                            monochrome_palette = white
                                            scaler             = none
                                            glshader           = /opt/retropie/emulators/dosbox-staging/zfast_crt.glsl
                                            

                                            Maybe that helps ;)

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