New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Vista, Mac OS X 10.5 - which are the earliest versions still supported as host for running Staging? #2258
Comments
For Windows, it's dictated by usage of glib, which is a dependency of FluidSynth. The minimal version they support is Windows 8.1, if I remember correctly. That said, treat any EoL systems support as best-effort (8.1 went EoL on 10 January this year). Windows 10 versions still supported by Microsoft are thus the current baseline. For macOS, I believe our CI builds are targetting 10.15 for x86_64 (and likely 11 for ARM?). MacPorts (or Brew? Not sure, not a Mac user) can go much lower, but I don't remember the details. |
MacPorts: https://ports.macports.org/port/dosbox-staging/details/ My Linux PPC-7400 system is unfortunately broken down, so I haven't been able to test PPC (or big endian in general) for a couple years now. Maybe someone with a fast and working PPC or Power system can report in. |
The Macports results currently:
Windows:
|
@Torinde , my understanding is that the MSVC-built executables can be used for Win7 and newer, while the Msys2-builds are good for win10 and newer. Try with the setup.exe installer; it includes all the binary options to try out. |
Based on the above - my suggestion:
|
Suggestions sound good; curious what you find! |
OpenGL output doesn't work in VirtualBox for whatever reason, switch Also keep in mind DOSBox Staging requires a compiler which supports C++17 standard. Microsoft Visual Studio deprecated its WinXP tools some time ago (but they're still available for download). MinGW-w64/MSYS2 also might be worth looking into. That is, if you're willing to build the project yourself. |
Adding to @GranMinigun's suggestion to disable FluidSynth: also disable slirp, because it too depends on glib. What about people with older generation hardware stranded by Microsoft and Apple, stuck with an EOL'd operating system and no upgrade path? The best option is to switch to an operating system that does support their hardware, like a Linux distribution tailored for lean hardware. |
In Virtualbox with Vista x64 + SP1 + SP2 + Platform update + Platform Update Supplement + MSVC++ redist 14.29.30135.0 x64:
So, remaining questions:
|
Removing fluidsynth and slirp requires recompilation. A standard dosbox staging config file can be generated with the
|
0.80.1 x64 release setup.exe - both MSVC and MSYS2 work under Win8.1 |
@Torinde , nice progress in here! We have some notes on how to build under MSYS2: https://github.com/dosbox-staging/dosbox-staging/blob/main/docs/build-windows.md#build-using-msys2 You only need to perform a Clang build (instead of GCC), as that's what we use for the release binaries. When you get to step 8 (Meson setup with Clang):
So for example, to knock out FluidSynth and Slirp, your new "Step 8" command would become:
This is the only deviation in the notes needed (to customize your build), and you can carry on following them, and it should produce a build that doesn't depend on Glib. |
@Torinde - also, thank you for breaking out separate topics into new issues (32-bit MSVC builds and a separate one for showing more build-specific details) 👍 |
I don't yet have the tools to test the build from source procedure, but I made a PR with the Windows-related outcome from above. For macOS - I can't test and MacPorts shows 10.5 (albeit with question mark) and 10.6 (green check), while Staging website says 10.7, so I'm fine with leaving it as is until somebody has better info. |
Quick thoughts:
|
Out of curiosity, if you never use |
So @Torinde, it's great that you're looking into this, but you need to appreciate that we don't quite have the bandwidth to do extensive testing on long abandoned legacy OSes... This is not exactly well defined at the moment, but the general idea is that we support the current major version of Windows, macOS, and Linux. Generally speaking, I don't think we want to out-perform current "industry trends", e.g. a good criteria would be to look at what Steam and GOG is currently doing. They don't seem to be supporting Windows 7 or anything before that, so that will be good for us too. Probably they only support current macOS minus 1 or 2 major revisions. As I don't use Linux, I'm not sure about the Linux situations, but I'm sure others from the team can chime in. So, if you have the bandwidth to spend lots of time playing around with this, by all means do it and let us know the answers! 😄 But keep in mind this needs to be a long-term effort on your part, it's not a one-off thing. You would need to keep redoing the same testing on legacy OSes for every new DOSBox Staging release. I can't speak for everybody in the team, but my general stance is the above — we can only guarantee the thing works on the OSes we are personally using, and given this is not a commercial project, we simply don't have enough time and energy to perform extensive regression testing on older OSes. That would multiply the testing effort required for rather questionable benefits. All in all, I think we should be guided by some concrete OS usage statistics, like the Steam one: Hope you're not interpreting this as being dismissive, but we have finite amount of energy we can dedicate to this project, and I personally want to spend it on where it really counts. Making 1% of our users happy by enabling them to keep running Staging on Vista or Windows 7, versus bringing in for example the new OSD functionality so the remaining 99% can benefit from it — is that even a question I need to ask? 😄 We really need to keep the scope focused on what's important. |
@Torinde , I previously tested and added minor fixes for PPC because it was the one host I (had) that was big endian. Having correct endian code is important, however my system is unfortunately no longer working, so now rely on our (few) MorphOS users to flag issues. Presumably it's still working there. We also merged jmarsh's PPC dynrec core (a patch on vogons), which works great. We welcome any bug reports, regardless of what OS they originate on. If we can't repro the bug, then there's not much we can do. There's also the potential the bug is due to interactions specific to the (possibly EOL'd) OS itself, in which case we won't rollback to prior libraries or older C++ standards just to reanimate Staging back to life on an EOL'd system. But if the team can repro the bug on our current dev systems, then that's great -- we can improve the codebase! |
No, glib would still dynamically load by the OS and fail, you have to disable relevant features at compile time. It's possible to handle dynamic loading by software itself, but that's additional resource management headache. |
Yes, in my tests - new releases don't work on Vista and kcgen provided instructions above on how to build a workable version. |
Any luck, @Torinde ? To get video working inside VMs, use: [sdl]
output = surface Or [sdl]
output = texture
texture_renderer = software |
@johnnovak @kcgen My intention is not to ask to add support for older OSes, I understand your decision that the limited time developers can spend is better used for higher priority changes. I approach the topic from a documentation perspective (thus: question, not a bug) - to be clearly listed what is supported out-of-the-box, what is potentially buildable (by experienced users) and what is totally not supported. Currently it seems a little bit murky after the "really very old, totally not supported" (About page: XP and earlier, OS/2, macOS 10.4 and earlier). For Windows I think it's now clear - I made a PR for the website (although I afterwards saw that on the macOS page you list the supported version next to each build, so I will change the PR to do the same on the Windows page) For macOS I still see a gap:
|
Yes, VirtualBox works with |
Ok, well, hopefully it works when you have time. For macOS users of 10.14 and prior, we suggest installing the macports package. Failing that, build from source using the steps described in README.md. (as opposed to a fine grained breakdown going back through the old OS versions. With brew and macports supporting modernish SDL2's all the way back, it should be very doable to get a build from source working). |
PR for the website changes I mention above: dosbox-staging/dosbox-staging.github.io/pull/28 |
Yeah, that's fine. I was kinda saying even figuring out that info for documentation purposes can be time consuming. I'm glad you're doing it, thanks for your efforts! 😄 |
MacOS 10.5 - from what I understand ALL Staging releases are using SDL2. As mentioned on the top here, per the SDL2 page:
Staging About page:
So, which is true? |
That's the lucky winner! 😁 Like I said, we don't really bother tracking all this for legacy OSes, so thanks for the detective work 😄 Can you append this change to your current PR? |
If someone can make a build(s) per kcgen's instruction above with: |
Co-authored-by: John Novak <jnovak@johnnovak.net>
Co-authored-by: John Novak <jnovak@johnnovak.net>
Co-authored-by: John Novak <jnovak@johnnovak.net>
Co-authored-by: John Novak <jnovak@johnnovak.net>
Are you using the latest Dosbox-Staging Version?
Different version than latest?
0.80.1
What Operating System are you using?
Windows Other
Whats your question and how can we help?
Tried running DOSbox Staging under Vista (both x86 and x64) in VirtualBox - could not run it:
...
TryAcquireSRWLockExclusive - requires Win7 at minimum?
Is there something else that has to be done to run it? Or Virtualbox is the problem (maybe its GPU driver)? Or Vista is also not supported at all?
Originally posted by @Torinde in dosbox-staging/dosbox-staging.github.io#27 (comment)
Current About text:
I can't test Mac OS, but see at SDL2:
So, which are the earliest Windows and macOS versions still supported as host for running Staging?
Code of Conduct & Contributing Guidelines
The text was updated successfully, but these errors were encountered: