suddenly, "-arch i386" is added and all fails: e.g. libsdl (dosbox is i386 only)

Dominik Reichardt domiman at gmail.com
Sat Mar 7 20:19:59 UTC 2020



> On 7. Mar 2020, at 18:30, Ken Cunningham <ken.cunningham.webuse at gmail.com> wrote:
> 
>> As I was one of those with in depth view on DOSBox and previously adamant on leaving it on i386:
>> 
>> - the best 64bit support, meaning the fastest, is in current SVN of DOSBox. The 0.74-3 release is ok but very slow.
>> 
>> - IMHO, do NOT use the fork of DOSBox for SDL2 unless that particular branch is adding *only* SDL2 stuff. Otherwise it brings many more enhancements that might clash eventually with the goals of DOSBox itself.
>> 
> 
> Seems you know a lot, and I know little, about the inner workings.
> 
> Want to collaborate? I can do  the MacPorts things easily.
> 
> Or just take it over?
> 
> 
> Here are the issues I saw:
> 
> 1. we need a 64bit build
> 2. when I last tried the 64 bit build on Mojave, it was unusable due to the white screen for SDL, ergo the SDL2 version
> 
> 
> Please advise on optimal plan!
> 
> Ken

I’m not sure I can take it over. I played with this idea before but real life always interrupted and set me back on my other projects. I do have a buildbot running that generates a new snapshot of DOSBox SVN with each commit to the SVN.
Since the buildbot runs on OS X 10.11 I averted the white (or desktop mode color on Catalina) screen as a pre Mojave build of SDL 1.2x does not run into that problem.
This problem can be circumvented by setting the DOSBox output to opengl (which is also way faster than the other outputs). 

BUT I’ve run into another problem, namely that if I build DOSBox against an SDK < 10.14 the opengl output would eventually crash the whole graphics system of the mac *if* the graphics chip is by Intel or Nvidia. I have not yet correctly resolved this for my snapshots mostly because the only non-amd mac the DOSBox devs and me have access to is my wife’s macbook. And she hates it when I test on it (which will result in a hard crash when my test fails).

There is another, less invasive, SDL2 patch that might work better, but the biggest problem of any SDL2 patch for DOSBox is libSDL_Sound. For SDL 1.2x liSBL_sound works well enough. But the SDL2 port of libsdl_sound is not working correctly (e.g. skipping sound at times) and is not setup in a working way (the libsdl2_sound header is not where it is supposed to be). But if you build the non-ported last libsdl_sound release against SDL2 everything is named wrong (not adding the 2 of SDL2) and thus clashing with a SDL 1.2x build of libsdl_sound.
Not to mention that AFAIK there is no SDL2 port of libsdl_sound in MacPorts.

So, I think, best try if 0.74-3 is working for you on 10.14/.15. It *should* have the output default set to opengl and works for me on 10.15 out of the “box” build against macports’ libs and headers.
Speedwise it is *okay* in 64bit. The big optimization is in SVN, though (a dos benchmark running in SVN is getting 160-180fps, while Dosbox 0.74-3 is getting around 80fps). You could consider adding a DOSBox-devel port that gets its source from SVN (and which needs a tiny patch to set the default output to opengl). But AFAIK getting the sources from a repository is not that popular with the MacPorts devs.


Cheers,
Dom



More information about the macports-users mailing list