• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
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.6k 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.
  • X
    xwons
    last edited by 22 Dec 2020, 18:50

    Does anyone know how to try dosbox pure in retropie, now that it has been released?

    E 1 Reply Last reply 22 Dec 2020, 18:53 Reply Quote 0
    • E
      ExarKunIv @xwons
      last edited by ExarKunIv 22 Dec 2020, 18:53

      @xwons for right now you have to compile it yourself

      https://retropie.org.uk/forum/topic/28924/dosbox-in-retroarch-any-chance-we-can-have-this-on-the-pi

      RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
      RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
      Maintainer of RetroPie-Extra .

      1 Reply Last reply Reply Quote 1
      • E
        ecto @nemo93
        last edited by 22 Dec 2020, 20:18

        @nemo93 I found a little time today:

        Here are my

        • DosBox SVN conf (to compare with stagings conf file)
        • DosBox Staging conf
        • Timeshock.conf
        • config.txt (using fkms for Amiberry and Daphne)
        • Kernel is Linux retropie 4.19.118-v7l+ #1311 SMP Mon Apr 27 14:26:42 BST 2020 armv7l GNU/Linux

        I fiddled around a lot with everything (that's just how I work ;) So idk if the config.txt is all in order. But so far I haven't had any lockups or other problems with it.

        And now I off, wrapping gifts ;)

        Thanks for having a look!

        R 1 Reply Last reply 2 Feb 2021, 09:41 Reply Quote 2
        • R
          retro81 @ecto
          last edited by retro81 2 Feb 2021, 11:59 2 Feb 2021, 09:41

          Hi all, are we discussing here the new lr-dosbox-pure emulator, or should I use another thread?

          1 Reply Last reply Reply Quote 0
          • Q
            quicksilver
            last edited by 10 Feb 2021, 16:05

            Has anyone managed to get dosbox-x up and running on a pi 4? Very curious if it would be possible to run some windows games using it...

            1 Reply Last reply Reply Quote 0
            • L
              Lolonois
              last edited by 27 Feb 2021, 16:38

              @nemo93 and other dosbox-staging users here:

              Recently their build process has been changed to meson.
              I adapted the dosbox-staging.sh scriptmodule in the Wiki of dosbox-staging.

              @mitu what is the process/are the quality gates to get the script as experimental into RetroPie-Setup repo?

              Cheers

              M J 2 Replies Last reply 28 Feb 2021, 06:37 Reply Quote 0
              • M
                mitu Global Moderator @Lolonois
                last edited by mitu 28 Feb 2021, 06:37

                @mitu what is the process/are the quality gates to get the script as experimental into RetroPie-Setup repo?

                You can submit a PR, IMHO it would be preferable to take into account the available dependencies (newer fluidsynth libraries are not available in the distro) and an optimal configuration needed for each platform (i.e. has anyone tested this on a Pi3). The other Dosbox packages have also a starting script which start timidity for MIDI support, the starting script can maybe leverage that.

                I can certainly review it, I think @BuZz already tested it and may have the basis for a new scriptmodule for dosbox-staging.

                I see there's a special branch used for building in the Wiki script, are the changes now in the master or stable branch ? What is the upstream maintainers' take on the packaging - is it preferable to ship a release version or build from master/main ?

                1 Reply Last reply Reply Quote 0
                • N
                  nemo93
                  last edited by 2 Mar 2021, 13:31

                  @Lolonois thanks for the update! Much appreciated. I do confirm script does work 100%. There might be some (small) adjustments to be made but it's more than ok.

                  @mitu
                  some testing still required but the current version of Staging (master branch) might be a nice addition to Retropie. Staging does now come with full built-in GM and MT32 support, SDL2 and many other quality of life improvements. For those not willing to go the "libretro" route then Staging could be a very fine alternative for their Pis.

                  To your other points: Fluidsynth (GM) and Munt (MT32/CM32) support is built-in meaning no dependencies required. Devs were willing to support only the latest libraries version hence why these are built-in. The default configuration is roughly the same as other forks. Devs are testing on Pi3 and other+@Lolonois+myself on Pi4. My starting script is a very thinned-down version compared to "SVN" given I don't rely on Timidity but solely on Fluidsynth and Munt for MIDI playback.
                  => Does Timidity come as a mandatory requirement here?

                  If you or @BuZz already have a scriptmodule (or a PR) for that fork please let me know and I'll be glad to assist.

                  The branch to go for is definitely master. The special branch you refer to comes with specific parameters and optim especially intended for Pi4. That branch is not ready yet to be merged into master. I'd say it's preferable to build from master but I don't want to step on anyone's shoes here and question will be asked to maintainers directly.

                  M 1 Reply Last reply 2 Mar 2021, 14:29 Reply Quote 0
                  • M
                    mitu Global Moderator @nemo93
                    last edited by 2 Mar 2021, 14:29

                    @nemo93 said in [DOSbox] official thread:

                    To your other points: Fluidsynth (GM) and Munt (MT32/CM32) support is built-in meaning no dependencies required. Devs were willing to support only the latest libraries version hence why these are built-in. The default configuration is roughly the same as other forks. Devs are testing on Pi3 and other+@Lolonois+myself on Pi4. My starting script is a very thinned-down version compared to "SVN" given I don't rely on Timidity but solely on Fluidsynth and Munt for MIDI playback.
                    => Does Timidity come as a mandatory requirement here?

                    No, Timidity is not mandatory, but we might need some soundfonts installed (and then configured). The .conf that comes with Dosbox right now has the MIDI port configured for Timidity+ALSA, should be replaced/configured with the staging internal MIDI support instead.

                    The branch to go for is definitely master. The special branch you refer to comes with specific parameters and optim especially intended for Pi4. That branch is not ready yet to be merged into master. I'd say it's preferable to build from master but I don't want to step on anyone's shoes here and question will be asked to maintainers directly.

                    There are pros and cons to using master vs a release tag.
                    My preference would be to lock on a release version for a RetroPie scriptmodule. It makes it easier to track new features and the (unavoidable) bug reports would be easier to triage and diagnose when reported against a specific branch or version.

                    On the other hand, tracking master means new additions (and bugfixes) are easier to test with a simple 'update from source' in RetroPie.

                    Thanks for chiming in.

                    N 1 Reply Last reply 2 Mar 2021, 18:10 Reply Quote 0
                    • N
                      nemo93 @mitu
                      last edited by 2 Mar 2021, 18:10

                      @mitu thanks to you.

                      The above makes total sense. After a quick chat with one of the maintainers it might be better to indeed offer users with 2 options. One would be to get a specific tag/release binary whenever the "Install from Binary" is chosen. The other would get user to compile the latest master whenever "Install from Source" is picked up. I believe it's something already in place for other "cores" but I haven't checked recently. Would that be an acceptable solution?

                      M 1 Reply Last reply 2 Mar 2021, 18:35 Reply Quote 0
                      • M
                        mitu Global Moderator @nemo93
                        last edited by mitu 3 Feb 2021, 18:36 2 Mar 2021, 18:35

                        @nemo93 Usually a scriptmodule wouldn't use different versions of the upstream project depending on binary vs. source installs. The binaries are just source installs packages stored on the RetroPie's server that can be installed from the setup script.

                        We have something similar for EmulationStation. It has a different package for the master branch (emulationstation-dev), while the regular emulationstation package builds from the stable branch.

                        Since we already have 4 Dosbox related packages in RetroPie (upstream, a SDL2 fork, a quasi-abandoned Libretro fork and the Dosbox Pure Libretro core), adding another 2 more Dosbox packages would be a bit much.

                        N 1 Reply Last reply 4 Mar 2021, 09:27 Reply Quote 0
                        • N
                          nemo93 @mitu
                          last edited by nemo93 3 Apr 2021, 13:37 4 Mar 2021, 09:27

                          @mitu Thanks again for answering my many questions. Let's do as follows:

                          1. stick to master branch only. Staging is rock-solid and I haven't got a single issue with it for many many months. Few issues I got are games-related. Also better from a maintenance standpoint. Not sure how you promote an emulator from "experimental" to "optional" though?

                          2. decide of a default config. To prevent any issues and to provide best experience to new users the default config file is pivotal. I trust I've nailed it after countless testing sessions (pi3 and pi4) and I'm quite happy with the one from the wiki. With Staging the most important is to ensure the cycles = parameter is set to a value (eg. 25000) not leaving it on auto.
                            => I recall there might be some Retropie command to pass to the scriptmodule in order to tweak a conf file after it has been generated. This to ensure some values are being properly set. EDIT: should be the iniConfig + iniSet functions.

                          3. decide if a soundfont (fluid?) should be considered a dependency. Configuration of anything MIDI-related (General MIDI via Fluidsynth and MT-32 via Munt) is actually quite simple. You just need to set which synthetizer you'd like to go with and that's all. No need to fiddle with ports or Timidity. All you need is a soudfont (typically .sf2 file) and/or mt32 roms. The former is available from multiple sources online (or from your GNU/Linux distro) where the latter is trickier given mt32 roms are not free.

                          I'll submit a PR in the coming days if you agree so we'll be able to discuss further on github. It will be roughly the same as from the wiki, I just made a few more tweaks. Any questions please let me know.

                          Note: I totally agree regarding the multiple DOSBox forks available, it's important to keep number to a reasonable level. I'd just don't want to comment too much on that as I'm partial but perhaps the SDL2 fork you're referring to (from DuganChen) could be dropped at some point as Staging does bring similar features (+more). Staging is in active development.

                          M 1 Reply Last reply 4 Mar 2021, 17:27 Reply Quote 1
                          • M
                            mitu Global Moderator @nemo93
                            last edited by mitu 3 Apr 2021, 17:27 4 Mar 2021, 17:27

                            @nemo93 said in [DOSbox] official thread:

                            I'll submit a PR in the coming days if you agree so we'll be able to discuss further on github. It will be roughly the same as from the wiki, I just made a few more tweaks. Any questions please let me know.

                            Sure, you can go ahead and submit it. A few notes on your existing script:

                            • a new scriptmodule has to declare a new variable pointing to the repository (rp_module_repo ) and gitPullOrClone will automatically use it. This a very recent change in the build scripts - take a look at how dosbox-sdl2 is configured.
                            • No libs copied to /usr/local/lib. If you need something that's not in the distro (i.e. libfluidsynth), copy it to the install folder ($md_inst) and add a .sh wrapper that extends LD_LIBRARY_PATH before running the binary to pick it.
                            • the inst function should just list the output files and they'll be copied to to $md_inst. No need to manually copy files.
                              You should include some additional files besides the binary, I like to include a README and/or the licensing info present in the distro.

                            => I recall there might be some Retropie command to pass to the scriptmodule in order to tweak a conf file after it has been generated. This to ensure some values are being properly set. EDIT: should be the iniConfig + iniSet functions.

                            Yes, but be aware that iniSet sets the value only if it's missing from the file - this is intentional to not override any user set option.

                            N 1 Reply Last reply 5 Mar 2021, 11:24 Reply Quote 0
                            • N
                              nemo93 @mitu
                              last edited by 5 Mar 2021, 11:24

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

                              L J 2 Replies Last reply 6 Mar 2021, 12:31 Reply Quote 0
                              • L
                                Lolonois @nemo93
                                last edited by 6 Mar 2021, 12:31

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

                                1 Reply Last reply Reply Quote 0
                                • J
                                  jamrom2 @Lolonois
                                  last edited by jamrom2 22 Apr 2021, 13:57

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

                                  M 1 Reply Last reply 22 Apr 2021, 16:47 Reply Quote 0
                                  • M
                                    mitu Global Moderator @jamrom2
                                    last edited by 22 Apr 2021, 16:47

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

                                    J 1 Reply Last reply 22 Apr 2021, 17:20 Reply Quote 0
                                    • J
                                      jamrom2 @mitu
                                      last edited by jamrom2 22 Apr 2021, 17:20

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

                                      M 1 Reply Last reply 22 Apr 2021, 17:43 Reply Quote 0
                                      • M
                                        mitu Global Moderator @jamrom2
                                        last edited by 22 Apr 2021, 17:43

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

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

                                        J 1 Reply Last reply 22 Apr 2021, 21:10 Reply Quote 0
                                        • J
                                          jamrom2 @mitu
                                          last edited by 22 Apr 2021, 21:10

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

                                          Yes, it's Buster

                                          M 1 Reply Last reply 23 Apr 2021, 03:51 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.

                                            This community forum collects and processes your personal information.
                                            consent.not_received