[DOSBox] official thread
-
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 ?
-
@mitu I have the binary option but when I try to load it, it gives me that error at the end. Claims I don't have the correct version of meson, which makes no sense.
I also tried the source version, but it crashed as well.
Strange because I had already loaded the source version a while back without issue.
-
@jamrom2 said in [DOSbox] official thread:
I have the binary option but when I try to load it, it gives me that error at the end.
Please post the binary install log (from
$HOME/RetroPie-Setup/logs
) on pastebin.com.
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.