Friday, March 1, 2024

Should Game Porting Toolkit Be Built-In?

Dan Moren (Mastodon):

What a difference eight months makes. That’s in no small part due to Whisky, an app that wraps both Wine, the tool that translates Windows API calls to their Unix-like equivalents, and Apple’s game porting toolkit into one very friendly interface. That removes pretty much all of the work out of the process, to the point where all I had to do was download Whisky and drag it into my Applications folder. It installed all the necessary under-the-hood software, leaving me with nothing but time on my hands.

So I grabbed the standalone installer for Dark Forces that I’d purchased from GOG.com and simply ran it. Less than ten minutes later, I was running around blasting pixelated stormtroopers. I even connected the Xbox controller I keep in my office and it worked seamlessly, with no additional setup (I was surprised to see that even Dark Forces’s in-game UI knew I was using an Xbox controller and changed to reflect that).

[…]

If Apple really wants to jumpstart gaming on the Mac, it should bake the underlying technologies of the game porting toolkit directly into the system. Make installing and running a PC game as easy as if it were a Mac native title.

[…]

In the end, I’d argue that the potential benefits outweigh the risks: running PC games on the Mac at all is a pretty big coup, to say nothing of them running pretty well. If Apple’s really worried about a bad experience reflecting poorly on its products, it can throw up a splash screen disclaimer—come on, you guys love splash screen disclaimers!

And Apple is fine with Catalyst and iOS apps on Mac. Even games that are actually ported to the Mac don’t really feel platform-native, anyway.

Matt Birchler:

The Steam Deck was my favorite new thing in 2022 and its OLED successor is a beast as well. But the Steam Deck doesn’t run Windows, it runs Linux. Basically none of the games I’ve ever bought run on Linux, so why do I like my Steam Deck so much? Well, just like Moren suggests Apple do, Valve has built a tool called Proton that translates basically any Windows game (or app) to run flawlessly on Linux. And it’s not just for Steam hardware, anyone on Linux can use it!

And don’t think of it as some sort of complex tool for nerds; I’d compare it to using Rosetta 2 on the Mac.

Previously:

9 Comments RSS · Twitter · Mastodon

I would be surprised if something along those lines wasn't announced this WWDC for macOS 15. That Valve with Proton made Linux of all things a much better gaming platform than the Mac should be an embarrassment to Apple.

I'm a Space Educator and just started my own mobile planetarium. There's lots of great free planetarium presentation tools, but some are only available on Windows.

In particular, one that I wanted to use is called OpenSpace, but they dropped support for macOS in the move to Apple Silicon because Apple deprecated OpenGL support and don't support double precision floating point operations.

Not sure if Whisky would help in this, but I'd like to emphasize that it's not just games that need support. It's also educational tools.

This will not happen, because pride, and an absence of commercial benefit, makes it at best a loss-leading investment. I would love to be wrong but ultimately Apple only ever extend something to the community when it expects a return, and apart from developers and geeks who might otherwise dismiss macOS as a platform entirely (which they need on side to develop for them) there is 'simply no upside to making this generally available. Even the general case of Windows compatibility is already covered by third-parties Parallels and Microsoft, at cost to both, and within the confines of Apple's sub-par virtualization support (which, again, mostly benefits Linux-using developers that Apple must court to keep their platform relevant).

Reading that back it is clear that I need psychiatric help. Bummer.

Kevin Schumacher

> That Valve with Proton made Linux of all things a much better gaming platform than the Mac should be an embarrassment to Apple.

Not sure that Apple actually cares enough to be embarrassed about that point.

That said, I've got to assume there's some bad blood between Apple and Valve at this point. To build Proton and not also make it Mac-compatible seems like spite, given that there is a good deal of overlap in the work that would have to be done. And it's not like there are millions upon millions of more Linux users than Mac that really justify it.

OTOH it could just have been all for getting Steam Deck going and the lack of Mac support is because it was never really intended to be a general-purpose desktop solution.

I will say, after having tried Porting Toolkit (not to be confused with Apple's Game Porting Toolkit), PlayOnMac, CrossOver, and Parallels, I have yet to get Gnorp running on my M2 Studio, even after following these instructions and adding additional DLLs it needs. (Getting Steam itself running was a whole other thing that only really worked well on CrossOver.)

> Even games that are actually ported to the Mac don’t really feel platform-native, anyway.

From a performance point of view or from a UI point of view? Games ported to the Mac have never felt native as far as I remembered when it comes to settings for instance (e.g. Oni).

Anyway, even some Apple's own system applications on the Mac don't really feel platform-native.

@someone From a UI point of view. Games tend to have their own UI. So since they haven’t felt native since maybe the early Marathon/StarCraft days, and Apple has low standards for its own UI these days, I can’t see how Apple being precious about games feeling native would be a reason to reject this idea.

Christina Warren

> To build Proton and not also make it Mac-compatible seems like spite, given that there is a good deal of overlap in the work that would have to be done. And it's not like there are millions upon millions of more Linux users than Mac that really justify it.

@Kevin Schumacher I’m sure there no love lost between Valve and Apple (especially when it comes to Mac gaming, where both companies run app stores), but I don’t see why or even how Valve could have ever targeted macOS with Proton. It isn’t like they could have achieved what they achieved with Proton for gaining DX11 compat on Windows binaries on Linux on macOS without Apple’s help and also assurances that crucial low-level system stuff wouldn’t change. And given Apple’s rejection/deprecation of OpenGL happened before the first Proton release, I don’t see why Valve would bother. Especially since the end of 32-bit support in Catalina disproportionately affected games on Steam. And that is even before the chip architecture change.

That said, in hindsight, the goal with Proton seems like it was always about making Steam Deck or other SteamOS devices viable. Gabe Newell doesn’t want to share money with anyone, be it Microsoft or Apple, and the vision going back of a decade with Steam Machines (RIP) and the first iterations of SteamOS was to decouple the immense Steam game library from the Mac and Windows ecosystems.

The original goal was to try to get game makers to make their games work on Linux and thus SteamOS, but even Valve with all of its pull couldn’t get that to happen. The failure of SteamOS/Steam Machines is what led Valve to pour money into Proton to begin with and their discontent with Ubuntu (also because of the 32-bit issue) led to making its own Arch-based OS image, which in turn, allowed the Steam Deck to launch with insane library compatibility (and with games that run better on SteamOS than as native Linux ports) and the sort of game access that us Mac users would kill for. At first, Valve was doing a lot of manual optimizations on certain titles without the studios even needing to recompile or update. But now Steam Deck is such a hit, you’ll see the devs make their own patches and even test for Steam Deck out of the box — and this has become true even for titles that end up also getting distributed outside of Steam (like on Epic or GOG or other storefronts), albeit that can offer a less turnkey experience. But no one is building “for SteamOS,” they are just doing the testing and making modifications needed to make sure it works well in Proton.

Apple could absolutely do something similar (and I genuinely hope they will), but it would require dedication and a certain amount of realism/capitulation/humility.

Old Unix Geek

To build Proton and not also make it Mac-compatible seems like spite, given that there is a good deal of overlap in the work that would have to be done

I agree with Christina on the technical side. Mac and Linux are quite different. Sure they share C/C++ libraries, but the graphics and audio subsystems are very different. And now, there's ARM versus x86. Apple is pretty bad at backwards compatibility of such things as graphics (OpenCL anyone? OpenGL?), and doesn't seem to give much of a shit about providing low level API support required to emulate Direct X quickly enough to be useful. Moreover few Mac owners buy games (Macs don't have any, so the kind of person who buys a Mac isn't really in that market). Valve can easily modify/create drivers for SteamOS to support any low-level needs they might have.

The main problem for Proton on Mac was the lack of Vulkan APIs to translate all DirectX calls. Apple now made a proprietary D3DMetal Library which does exactly that. If they want Games on the Mac, they could definitely go the route Valve chose. Apple has enough Man-Power to make that happen without embarrasing themselves. But the problem here is they have not ONE device like the Steam Deck to support but from M1 up to M3 Max devices plus use their Rosetta 2 technology to translate to ARM instruction set. They would have to update Rosetta 2 even, because it lacks support for some instructions like AVX which PC games are free to use of course. But that's all doable. I really wish they would go that way and integrate it into their OS like Steam Deck showed us, but not gonna happen. They want PC game makers to port to Mac and deliver their apps through App Store which BTW is a pain in the butt for games since downloads need TWICE the space of a game to be even installed. No delta patch support and more shenanigan's I probably don't know of. Apple also would need to bring back eGPU support in my mind to show they have a competive hardware product. Their iGPU solution is find for casual games but most demanding AAA titles not so much.

Leave a Comment