[DOSBox] official thread
-
-
@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/
-
@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 ?
-
@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?
-
@jamrom2 The information is shown when you start the RetroPie-Setup script
-
@mitu lol... oh.. that one...
Yes, it's Buster
-
@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
-
@mitu
Looks like 52.1 needs to be installed -
@mitu does this sound right? Or is there another command to get it done.
-
@jamrom2
sudo apt-get install meson
, will also pull inninja-build
andpython3
(if absent). -
@lolonois thank you. It's compiling now.
-
@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.
-
@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.
-
@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.
-
@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.
-
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-staging
with 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 ran
dosbox
withXINIT
, 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 with
SVN
on 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=openglpp
is set? -
@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?
-
@jamrom2 I used
output=openglpp
andglshader =/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), butstaging
looks soooo much better. It's no easy call. -
@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!
-
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 ;)
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.