[DOSBox] official thread
-
@jamrom2 OpenGL support on Pi3 is partial. Could be the reason why shaders can't be properly rendered on that device. I don't like to say that but could be better to wait to get your hands on a Pi4 (+ it will also give you a boost in performance). The only output properly working on Pis whenever you run from a console/frontend (not with XINIT or desktop) is
output = texture
indeed - or anything withtexture
in it.Have fun and if you got anything about performance, tweaks or tricks on best way to configure a game or emulator (not only Staging) please share.
-
@ecto I posted the issue on the github, so hopefully it can be found and sorted.
We'll see what happens. Thanks!
-
@nemo93 after much trial and error, I agree... it's more about the Pi3b+. I know the builds for Retropie are different, so maybe something in the Pi3 build is turned off that would allow the use of the shaders.
Thanks for the help. I'll post issues and resolutions as I come across them.
Mostly it's the controller settings in the lr-pure fork that I'm having issues with. It's a lot of trial and error to get it right.
JamR
-
@jamrom2 said in [DOSbox] official thread:
@nemo93 after much trial and error, I agree... it's more about the Pi3b+. I know the builds for Retropie are different, so maybe something in the Pi3 build is turned off that would allow the use of the shaders.
There's nothing disabled, it's just that the Pi3 doesn't support OpenGL without an experimental driver. Have you tried setting your texture renderer to OpenGLES ?
-
@mitu Hi. Yes, I tried that as well. The only way to run DosBox Staging at full-screen is to keep it at texture or texturenb. I tried all the rest, and the result is a business card size display box.
I also added "XINIT:bash /home/pi/RetroPie/roms/pc/+Start\ DOSBox-Staging.sh %ROM%" to my emulators.cfg to see if that would give me the full screen, but it knocks out the keyboard and runs Staging as a slide show.
I'm ok with how it is. I'm going to eventually upgrade to a Pi4. I'm happy just being able to play all these old DOS games again! I had my setup all wrong and now it's completely sorted.
Best,
JamR
-
@nemo93 I have just stubled upon a potetially intersting thing:
I found that I have the DOS version of MDK buried in the MacOS installer of the GOG version. (Thanks to Aoyama Blue Mountain of the GOG forums).
I have installed MDK on my Retropie and it has an interesting benchmark test build-in:
It claims that benchmark values of 44 are on par with a Pentium 90 and a value of 65 relate to a Pentium 166.Now I have tried Dosbox_SVN and - of course - Staging with that. Mind, that I'm using full KMS and Dosbox runs with
XINIT
andcycles=auto
.Here are some results:
-
Without
XINIT
, I can't get it to run with Staging, as it claims that I have a 486 which is supposedly too slow. -
With Staging running with
XINIT
I get a value of 35-39 depending of the setting ofoutput
andtexture_renderer
. -
Dosbox_SVN gets a whooping 57(!)
That means that I can emulate something like a P60 with Staging, while Dosbox_SVN can get better than a P90. This matches with my observations, I suppose. Sadly SVN still looks washed out (due to no pixel perfect scaling) and has no support for shaders (that don't have any great impact on the Benchmark of Staging).
At some point in the near future I will try some fixed cycles with Staging, and see if I can get anything out of that.
-
-
@ecto thanks again for testing further. Indeed MDK is a quite fantastic benchmark given it comes with a perf analysis tool (at the start and then in the Options/Settings menu). I've used extensively that game to test and measure performance. It's a CPU intensive game which doesn't run fullspeed even when using the "special" Staging branch. With it I'm able to get close to a P90 and even above as it's possible to add more cycles but then game won't be playable at all. Below my specific settings for that game (everything else is default/standard):
[dosbox] machine = svga_s3 [cpu] cycles = 100000
Feel free to report any further finding. Very helpful.
-
Dosbox Staging is now part of the Retropie Project!
Thanks to Retropie maintainers and to the "Staging" developers which are constantly improving the emulator as well as the community around it.
If you're unsure of which version of Dosbox to pick I'd say give each version a try starting with "SVN" (to have a basis for comparison). Then if you prefer the comfort of Retroarch then "Pure" and/or "Core" might be interesting for you. If you're looking for plenty of features and functionalities "X" is a good option. "Staging" is a bit a mix of everything with focus on gaming, code cleaning to modern standard and features like pixel-perfect, very accurate sound emulation (ie Gravis Ultrasound), etc.
Please feel free to test, report and do not hesitate to participate. We'll all benefit from the exchanges. This in order to (re)play some good oldies which - for some - haven't aged at all :-)
Also Dosbox Staging 0.77 (stable) has now been released. Please see the full changelog here.
-
@nemo93 awesome. Thanks to everyone and for merging it upstream.
For my set of games (for example: Dungeon Keeper, The Last Express)
dosbox-staging
is the right fit plus I did not have to redo all config as my configuration could be reused from thedosbox-svn
. (I had even to remove config switches and stick to the defaults of dosbox-staging as dosbox-staging performs much better on my build). -
@nemo93 said in [DOSbox] official thread:
Dosbox Staging is now part of the Retropie Project!
Thanks to Retropie maintainers and to the "Staging" developers which are constantly improving the emulator as well as the community around it.
If you're unsure of which version of Dosbox to pick I'd say give each version a try starting with "SVN" (to have a basis for comparison). Then if you prefer the comfort of Retroarch then "Pure" and/or "Core" might be interesting for you. If you're looking for plenty of features and functionalities "X" is a good option. "Staging" is a bit a mix of everything with focus on gaming, cleaning-up the code to modern standard and features like pixel-perfect and very accurate sound emulation (ie Gravis Ultrasound).
Please feel free to test, report and do not hesitate to participate. We'll all benefit from the exchanges. This in order to (re)play some good oldies which - for some - haven't aged at all :-)
Sounds great! Quick question on this...
Are these changes meant to take advantage of the Pi4 or will they be usable on a 3? Apparently the Pixel Perfect shader option is disabled in the Pi3 build because of performance.
I'm using a combo of Staging and -pure with very good results on a Pi3, but I do have that feeling that it's time to upgrade to a 4.
Thanks
JamR
-
Super!! Now if ever a gui would be implement i will drop dosbox pure at once!
See: https://github.com/dosbox-staging/dosbox-staging/issues/315
see also dobox-x for comparison:
https://github.com/joncampbell123/dosbox-x/issues/1847
or even better having a dosbox-x package on retropie would be paradise!!
-
@jamrom2 said:
Are these changes meant to take advantage of the Pi4 or will they be usable on a 3? Apparently the Pixel Perfect shader option is disabled in the Pi3 build because of performance.
They are usable on pi3 as well. For enabling shaders you'll need an "opengl" type as
output
. Also if you select ie.output = texturepp
you should get Pixel Perfect mode. Hopefully aarch64+kms will (soon?) provide extra performance improvement on pi4! -
@nemo93 Great news! Thanks...
I'm loving the -pure and Staging version. They are fantastic and run everything pre mid-90s I throw at it!
Obviously restricted on a Pi3, but hopeful a 3dVoodoo wrapper is eventually built in. Wishful thinking... lol.
-
All, over the past few weeks Dosbox Staging team has been busy adding more and more performance improvements to the code. To the point that I'm able to play any games I could think of, fullspeed. On a stock pi4/Retropie it's now possible to enjoy your DOS games in all their glory without running through complex setup or tweaks.
To give you an idea of such achievement, Quake is now running fullspeed (I need to get some accurate data but we're talking 30fps there and higher resolutions), same goes with Wing Commander 4, Destruction Derby's, Screamer's, Dark Forces, Crusader no Remorse/Regret, Duke3D, Blood or Doom/2. I consider removing the "ports" versions of those games from my pi.
It's quite exciting to be honest. Further improvements and features are still planned hence it's only the beginning :-) If you have some time to spare or in need to play a DOS gem at fullspeed, you'd better give it a try. I'm especially interested by any feedback for pi3. All you need is to get the latest master then make sure to set the following parameter in your
dosbox-staging.conf
:[sdl] ... vsync = true ... [cpu] cycles = auto ...
Should you not see this parameter in
dosbox-staging.conf
then you'll have to manually upgrade your config file by doing this... At the DOSBoxC:\>
prompt, run:config -wc
. Your existing settings will be retained however extraneous comments will be dropped.EDIT: I forgot to mention an extra cherry on top of the cake => it's now possible (even recommended) to rely on
cycles = auto
instead of a fixed count \o/ No more hassle in finding what value will work best. -
@nemo93 O_o
This is really stunning! I would never have guessed that there is so much potential in the Dosbox-staging code. So maybe I can now (finally) lay the old Dosbox to rest? I can't wait to try that.
What perfomance do you get with MDK now? -
@nemo93 Great news! I'm not all that versed in the updating of things outside of the Retropie script. I'd love to give you feedback for Pi3b+ performance.
I'm just now pulling down the latest "source" update listed on the Retropie script, I have already pulled down the Master file.
So... how do I update to the .78 version? Copy the files into my dosbox-staging folder?
Thanks!
JamR
Nevermind... I see it's already in the source build! Thanks for being quick to get it uploaded for updating!
-
@ecto @jamrom2 I forgot to mention in my post that
cycles = auto
is now fully working as it should and it's the recommended value! Less trouble and less fiddling with.conf
files.MDK is running great even on high resolution setting (not sure there's a big difference with the low res' though). Action is smooth all the time. Based on the internal performance tool from the setup screen, my pi4 is still close to a Pentium 90. Yet I'm not sure how this tool works and if it has trouble to get a precise value given the new "pacing" algorithm implemented to Staging. For sure the game is running much better and you won't get the "not enough CPU" message at the start. Feel free to test and report back if you have a chance.
Megarace 2 was a game barely playable before now it's totally enjoyable.
-
@nemo93
Hi, Thanks for help with Dosbox
In my dosbox-staging.conf 0.77
I have the following
core = dynamic
cputype = auto
cycles = 25000
cycleup = 10
cycledown = 20
So is it the line cycles = 25000 I just need to change to cycles = auto
I did try updating to 0.78 by installing via source but it fetched same version.
Many Thanks
Sim -
@simrose that's because 0.78 is not ready yet for general release. Sorry I should have been more cautious in my previous post. I was just willing to share the breakthrough and forgot to mention it's still in "beta" so to say. Therefore if you want to try that new version you'll have to fetch and compile the latest master by yourself (and then update your
dosbox-staging.conf
accordingly). If you're reluctant to do so or unsure then my recommendation would be for you to stick to 0.77. No ETA for when 0.78 will be ready but I'll update that thread for sure when it's there. -
@nemo93 Thanks for letting me know.
I did try on 0.77 Quake and it was running poorly compared to on ports.
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.