[DOSBox] official thread
-
glad to see you're back @Dimas (as well as @jamrom2 ;-)). First the good news: a rather big patch has been merged in recently to improve the S3 emulation (videocard emulated by DOSBox), more stability, less glitches and higher resolutions (Quake, Build engine games, etc) are now available from the get-go. Second good news is that the Pro Pinball games are working like a charm here (the 3 of them) even in high resolution. Let's find out what's going on for your setup...
First in order to check for the current DOSBox Staging version you have to parse the log. Run a DOS application then close it and thanks to Retropie logging, have a look at:
$ cat /dev/shm/runcommand.log Parameters: Executing: bash /home/pi/RetroPie/roms/pc/+Start\ DOSBox-Staging.sh "/home/pi/RetroPie/roms/pc/propints.conf" date time | 2021-09-16 12:32:16.864 | arguments: /opt/retropie/emulators/dosbox-staging/bin/dosbox -userconf -conf /home/pi/RetroPie/roms/pc/propints.conf 2021-09-16 12:32:16.865 | Current dir: /opt/retropie/supplementary/runcommand 2021-09-16 12:32:16.865 | stderr verbosity: 0 2021-09-16 12:32:16.865 | ----------------------------------- 2021-09-16 12:32:16.866 | dosbox-staging version 0.78.0 2021-09-16 12:32:16.866 | ---
If you get the
dosbox-staging version 0.78.0
line then it smells good. Without more details about your current setup I can't tell you exactly why you don't see the new parameters in the config file. If you followed my little guide from above you must have a cleandosbox-staging.conf
after compilation is completed. Anyhow you have two ways to align your setup with the current version.- as per my other post above, run DOSBox Staging to get to the DOS prompt
C:\>
. Once you get there type in:C:\>config -wc
. This will automatically upgrade yourdosbox-staging.conf
with all the new parameters. - provided you're running the 0.78.0 version, copy over my
dosbox-staging.conf
file from that page. At least the important sections which are:[sdl]
,[dosbox]
,[render]
and[cpu]
.
Once your
dosbox-staging.conf
file is up-to-date create apropints.conf
file where you put the following (tune it according to where you installed the game):[dosbox] memsize = 31 [autoexec] imgmount d <path_to_your_CDimage>.cue -t cdrom mount c /home/pi/RetroPie/roms/pc/games C: CD PROPINTS SHOCK.EXE EXIT
I don't know what frontend you're currently using with Retropie but it shouldn't matter. Anytime you'd like to run this game, point Retropie/frontend to that
propints.conf
file. There's no magic setting for this game to properly run! So if you've done things right it will play fullspeed on your Pi4.I recommend to read the DOSBox Staging wiki for further info as well as tricks to get some games to run smoothly (you might get issues with the other Pro Pinball unless you install a small patch for instance).
- as per my other post above, run DOSBox Staging to get to the DOS prompt
-
@nemo93 thanks for this. I'm good. I've been running .78 since you uploaded it.
Another way... maybe easier for those that don't WinSCP well...
Go to your Dos games list in Emulationstation and run the DOSBox-staging.sh file. As soon as it loads to the dos prompt, look at the top of the big blue box. It gives you the version number.
"Welcome to DOSBox Staging 0.78.0"
then type "exit" to return to ES game list.
On a Pi3b+ I get the absolute best performance with this...
[cpu]
core=dynamic
cputype=auto
cycles=autoAlso, I see you bumped your memory up to over 30? I thought 16 was the max?
*** I just tried to update from source from the RetropeSetup-script (using 4.7.11).. I got the unable to build DosBox error.
Should I be using the Update from Binary? Do I even need to update if I have .78 dated 14 August?
-
Hello there, I hope you can help me.
I'm having a lot of stuttering in very specific scenarios over a multitude of games on my Pi 400. It seems mostly related with screens fading to black but there are other (2D) scenarios where the performance is either bad or there's a lot of stuttering.I've tried both the "standard" DosBox in RetroPie and Dosbox-Staging but the problem is the same. I've also tried out Dosbian and it seems to be no issue there.
To give you a better idea of what I'm talking about I've uploaded this example video:
-
@jamrom2 I'm curious about your
vsync
settings as well (from the[sdl]
section) if you don't mind sharing? When set tofalse
and7000
I got too much tearing and performance are lower than expected. On Pi4 I have to set both settings to:vsync = true vsync_skip = 9000
I bumped the memory setting for Pro Pinball only :-) If you check my response above this is only a setting set for that particular game. In my default config file the high memory remains at 16 by default. The way I recommend to follow with DOSBox is to keep the default config file generic enough for majority of games plus having a
.conf
per game with just enough info to launch it. From there it's easy to add a parameter in that per-game.conf
file to override any default without touching the default config file (dosbox-staging.conf
).Some games do require bigger memory value to support higher resolutions (true also for Quake for instance). For a vast majority of games 16MB is more than enough hence being default. The max value for DOSBox is 64MB I guess to comply with the XMS standard. Should you require more then the excellent DOSBox-X fork supports up to 512MB.
I'd appreciate any further details about your error but it's compiling fine here. I suspect you have outdated OS packages as @dimas. If you can follow the same process as detailed above that should work. I'm assuming you're compiling the
master
branch. If so then a rather big patch for the S3 videocard emulation has been merged in and brings some improvement in that regard. Also a patch for CGA composite is in too for better accuracy. Yet it's fine to stick to your current version if it works nicely! For now the stable release for 0.78 is not ready that's why the binary provided by Retropie is still 0.77.1.@Good_Punk hi! thanks for reporting back. To be able to assist you we'll need more details about your setup/environment please. What version of Staging are we talking about? Do you run an official Retropie image? How did you get DOSBox Staging (compiled/binary from Retropie Setup)? What settings for your games are you using? etc. Anything will help.
After a quick look to your (nice) video I can tell you that all games shown are running flawless on my Pi4 setup. As we discussed with @jamrom2 before whenever you get stuttering is usually due to your Pi CPU being maxed out (too many cycles or could be the game is simply too "complex" to run on a Pi like Azarael's Tears for instance). Have a look and use as a base my default config file with the latest DOSBox Staging and you should have excellent results.
Having slow transitions but smooth gameplay is generally due to wrong settings being used. For Blues Brothers you have to set a fixed cycles count in your config file like so:
[cpu] cycles = 2000
-
Ok, I checked my meson version... 52.1. So I will have to upgrade as you mention. I want to do a backup first.
Also...here are my vsych settings.
vsync = true
vsync_skip = 7000So far, Staging is giving me fantastic performance for most of what I throw at it. I use both Pure and Staging. Many of the games I run on Staging are more of the late 90's type, or flight simulation type.
I did compile from source and it built fine, plus it shows me as .78 everywhere I look. So I'm going to hold-off on updating further until I know it's ready. Then maybe I'll dump the source load and install from binary.
-
@nemo93 Excelent suggestions! It worked like a charm. Thank you very much!
- Updated to get latest improvements
- Regenerated conf file as indicated
- Used settings from the link and…
voila! Running perfectly at max settings!
Tried this with the other two pro-pinball and was also successful. Big Race USA performs slightly worse than Timeshock at max settings but I can reduce resolution and some other things. No problem.
I owe you a dinner! (Where are you from BTW? - Spain here).
I tried Quake but it runs choppy at anything > 360x240. Any suggestion or setting I can try with?
Thanks again!
-
@nemo93
Thanks! :)
I've tried reducing the cycles but it didn't help. I've set Framskip to 1 and now most of the games seem to run smoothly. Is that to be expected? -
@nemo93 OK. I'm all updated now. I have meson 55.1 running...along with all other core packages updated.
So...I'm a little nervous about messing with my Dos setup as I finally have it set to how I want it. If I remove the source based version I have loaded (.78) and load in the binary version (77.1) will I loose any of my saved configs?
For testing speed I have been using A-10 Tank Killer. What's odd is that it runs great until you are in the mission briefing/debriefing and the CO is talking to you via text boxes. The music slows down to a crawl. Other than that, pretty much everything is running great. Indy Car II is fantastic and runs at full-speed.
-
I owe you a dinner!
=> save your euros please :-) To be honest all credits have to go to the Staging's dev team who does wonder every day to clean the codebase, add features and boost perf even on low-spec devices.
I tried Quake but it runs choppy at anything > 360x240. Any suggestion or setting I can try with?
=> This is expected. Back in the days it was also the typical resolution most people could play the game with the available hardware. I'd say even 320x200 was more typical when the game came out! Higher resolutions became possible with the emergence of "3D accelerator" cards like 3DFX. Of course on a modern-day computer running Quake in 1600x1200 is possible but on Pi(4) we simply don't have enough CPU-power. You could try also the various Port of the game as there's one for the Pi available in Retropie (TyrQuake).
@jamrom2
If you're nervous then don't upgrade anything :-) Really if it works don't fix it. If you ask Retropie Setup to install binary instead of "source" and if you have adosbox-staging.conf
file already then only the following parameters will be overwritten. Everything else will stay the same. No other file will be modified."fullscreen" > "true" "fullresolution" > "desktop" "output" > "texturenb" "core" > "dynamic" "cycles" > "25000"
Unfortunately A-10 Tank Killer is not part of my testbed hence I can't replicate. Yet it seems to be a typical issue which should be worked around by setting a fixed amount of cycles. Have you tried with
cycles = 15000
for instance?@Good_Punk I'm truly sorry but without further details about your setup I can't help you. Are we even talking DOSBox Staging here? If so then for sure no need to touch the Frameskip setting. Stick to a game you got an issue with and share the conf and your current setup about it. Thanks.
-
@nemo93 ok. I'll back up that file and give it a try. Before that I'll burn another image as well. I like help you and the team so it's work the "risk" even though there isn't much. Pl
-
@nemo93 No good here. Seems there is something wrong with the binary and source builds.
The Binary completes the build process, but there is nothing in the /opt/retropie/emulators/dosbox-staging/dosbox folder. This looks like a permissions issue. All others emus build fine. It shows in the Retropie package list as Installed, but it's not.
The Source build now gives me the same error as posted above that it can't finish the build. I did not have this issue before. I've since updates my OS as well as my core packages. Everything is up to date with the most recent releases.
Here is my runcommand.log with the error when I try to run Aces Over Europe...or any other game.
pc
dosbox-staging
/home/pi/RetroPie/roms/pc/aoe.conf
Not an lr-atari800 system.Parameters:
Executing: bash /home/pi/RetroPie/roms/pc/+Start\ DOSBox-Staging.sh "/home/pi/RetroPie/roms/pc/aoe.conf"
/home/pi/RetroPie/roms/pc/+Start DOSBox-Staging.sh: line 19: /opt/retropie/emulators/dosbox-staging/dosbox: No such file or directoryAttempted to pull it down from the dosbox-staging site... but it does our version of Linux (I thought it was Ubuntu?) does not recognize the commands.
-
@jamrom2 sorry to hear you're having issue. I'm a bit surprised to see your post given it was alright few days ago. Nevertheless let's try to sort it out.
- I'm seeing some awkward output there >
Not an lr-atari800 system.
Wait. What? This doesn't look like a complete log. Make sure to properly copy/paste the output given by:$ cat /dev/shm/runcommand.log
-
there is nothing in the /opt/retropie/emulators/dosbox-staging/dosbox folder
/home/pi/RetroPie/roms/pc/+Start DOSBox-Staging.sh: line 19: /opt/retropie/emulators/dosbox-staging/dosbox: No such file or directory
The binary will install into
/opt/retropie/emulators/dosbox-staging/bin/dosbox
. Not sure why there's no/bin/
for you. Have you ever edited the+Start DOSBox-Staging.sh
script?=> definitely something is wrong with your setup. There's no "build" process so to speak when you opt for the pre-compiled binary version from Retropie Setup. Simply put it's a file being decompressed somewhere (
/opt/retropie/emulators/dosbox-staging/bin/
) on your device. So this one should work no problem on any standard Retropie image. I will require from you an exact step-by-step description please on how you got there to better understand your issue.Please do not use binaries provided on DOSBox Staging website. These are not meant for Raspberry Pi. The supported way to get Staging on your device is via Retropie Setup.
Let's take a few steps back and just aim for something simple: to get the binary version of the current stable (0.77.1). I assume you have an up-to-date system (OS packages and Retropie Setup both updated).
- Remove any Staging version you have from
Retropie Setup
>Manage Packages
>Manage all installed Packages
>Dosbox Staging
>Remove
. - From the same menu hit the "Install from pre-compiled binary"
- Typically complete in few seconds without issue. This should generate the required config files as well as a
pc
directory under Retropieconfig
(/opt/retropie/configs/
) androms
(/home/pi/RetroPie/roms/
). Thedosbox
binary will be copied over/opt/retropie/emulators/dosbox-staging/bin/
. - If there's any issue preventing Retropie from creating those files/folders you should get an error message.
- If there's no error then you should be ready to go.
Let me know how it goes and focus only on installing the pre-compiled binary for the time being. This has been quite heavily tested and it works out-of-the-box.
- I'm seeing some awkward output there >
-
Here's how it went... no good.
The Atari800 note... just ignore it. It has something to do with my setup for atari800/5200. No idea why that's there.
The binary runs... and installs..but fails and I have no idea why because it rips by so fast I can't read it. There is definitely a message about missing something but I don't know what.
I haven't installed anything else. I'm just looking and reading as I go. I know nothing else will work.
What I don't understand is why it doesn't. I had no issue installing SDL2 and Staging before. Now I can't install binary or source for Staging at all.
I can see the folder structure as it should be, everything seems to be there. It never installs the Dosbox-Staging.sh file. I'm guessing because most likely it's not finishing the install process.
Nevemind... the dosbox-staging file is there, I had to reload ES to display the new file in my list. But still the same end result. The same error. It says:
Executing: bash /home/pi/RetroPie/roms/pc/+Start\ DOSBox-Staging.sh "/home/pi/RetroPie/roms/pc/aoe.conf"
/home/pi/RetroPie/roms/pc/+Start DOSBox-Staging.sh: line 19: /opt/retropie/emulators/dosbox-staging/dosbox: No such file or directory -
@jamrom2 Do you have enough free space on your sdcard to install new packages ?
Run the installation again, then look in$HOME/RetroPie-Setup/logs
and open the latest log, which should have the installation log with any errors. -
found it in there...
meson.build:1:0: ERROR: Meson version is 0.52.1 but project requires >= 0.54.2
I don't get this. I just did an OS update. Not sure why it says I'm at 52.1. I type in "meson -v" in my putty session and I get 0.56.1
-
@jamrom2 What are you installation details ? Is this a PI3/4 ? Which RetroPie version ? If you don't get a binary install, then your OS is too old.
-
@mitu
Pi3b+
4.7.11 Retropie-Setup ScriptI did the OS rebuild via this from nemo93
Retropie menu > Configuration / tools (C) > raspbiantools (215) > Upgrade all packages (1)
or
from the terminal type the following: sudo apt update && sudo apt full -upgrade -yThen I did a core package update via the Retropie menu because after doing the above, I was getting the volume mixer int error message which is now cleared.
-
@jamrom2 said in [DOSbox] official thread:
from the terminal type the following: sudo apt update && sudo apt full -upgrade -y
This will not upgrade your OS, if you're on Raspbian Stretch or older, you won't get upgraded to Buster.
-
@mitu I'm definitely on buster... at least that's what it shows on the RetroPie-Setup Script header.
-
@jamrom2 said in [DOSbox] official thread:
@mitu I'm definitely on buster... at least that's what it shows on the RetroPie-Setup Script header.
In this case you should have the binary install option - doesn't that work ?
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.