You are not logged in.
Hi all, it seems that the next version of macOS will remove OpenGL support and only the Metal backend will be supported.
What does this mean for the future of DeSmuME on Macs? Will development go on for older Macs or will it be dropped?
Thank you everyone.
Offline
It would only mean something about the future of desmume on macs which have been foolishly updated to newer macOS versions when apple's given their owners clear warning that they're going soon to be just about as dehumanized a bunch of pawns as microsoft's users have been lately. I still run windows 7. Stand strong. Together, we can weather this.
In seriousness, we should probably just make a vulkan renderer.
Offline
I wonder if Rogerman is interested in Vulkan. Last I saw on Github he was making an update to the Cocoa port, so it seems that he is very busy.
MoltenVK would let DeSmuME run on Macs just fine, maybe after the next stable release would be a good time to think about it.
Anyway, thank you very much, I will not update my Mac again.
Offline
macOS 10.14 Mojave will still support OpenGL, although it is supposed to be the last macOS to do so. macOS Mojave hasn't been released yet, but following Apple's typical release schedule, Mojave will probably be released in September of this year, and then will the next macOS will be released in September of 2019.
You should have nothing to fear from upgrading to Mojave. DeSmuME will continue to work in macOS Mojave. And then in the nightly builds, the Cocoa port does support a Metal-based frontend, and so the next DeSmuME release will support future macOS releases.
The only remaining concern at this point is the emulated 3D renderer. Of course, the Cocoa port supports SoftRasterizer, which works on any computer, including one running a future macOS release. However, OpenGL is the only hardware-based 3D renderer, and on strong GPUs, OpenGL can greatly improve performance for a lot of rendering scenarios. Since having a hardware-based 3D renderer is an extremely popular DeSmuME feature, it is far more likely that I would be writing a Metal-based 3D renderer specifically for the Cocoa port rather than using Vulkan.
My reasons for using Metal over Vulkan are the following:
1. I have existing experience writing Metal code. I have no experience with Vulkan.
2. Related to the experience issue, Metal is an API that is easier to use than Vulkan. Metal still does some hand-holding things it does for the programmer, which is something I do appreciate coming from OpenGL. Vulkan literally makes you do everything, and I don't feel comfortable dealing with all of that stuff.
3. Testing is much much much easier for Metal since it is limited only to Apple Mac computers. However, Vulkan would be expected to work on multiple platforms, and so the testing scenarios increase exponentially. Combined with the fact that Vulkan makes you do everything, this also means that the additional code complexity further increases testing needs. (The reason why we can get away with OpenGL being a cross-platform API is because OpenGL does a lot of hand-holding for you, and so we can write much more simplified code that is much easier to test, and then blame the third-party GPU drivers when things go wrong.)
4. I don't want users to have to deal with third-party extensions like MoltenVK. I want DeSmuME for Mac to work right out of the box, just like in Windows.
Of course, I'm not denying anyone who wants to contribute a Vulkan-based emulated 3D renderer -- this is an open-source project after all. In fact, it should be easier now than it ever has for people to write new 3D backends. However, if it does fall to me to get DeSmuME to support future macOS releases, then this is the reasoning going on in my mind for why I would do things the way I do.
Offline
Great news, most emulator developers seem to hate Metal and refuse to support it, so I wasn't expecting to find anyone here in favour of it. A Metal backend would be ideal for Mac users, so it's great that you're open to considering it.
Thank you very much for all the hard work you do on DeSmuME!
Offline