Apple really wants developers to port their games to Mac, going as far as to book Hideo Kojima for a cameo during WWDC 2023 and announcing the Game Porting Toolkit. However, the most significant related development didn’t come during the keynote. It came afterwards, during the Platform State of the Union.
In showing off the Game Porting Toolkit, Apple detailed the process for developers wanting to port their games. It breaks down into three stages:
- Evaluation: see how the game runs on Apple silicon
- Converting shaders: taking shaders and compiling them for Macs
- Converting code: translating code for Macs and optimizing performance
The significant part of this is actually the evaluation stage. Apple demoed The Medium, showing the game running on Apple silicon through Rosetta (Apple’s translation layer). The Medium uses DirectX 12, which has been the major hurdle for getting Windows games to work on Macs.
DirectX 12 is Microsoft’s Application Programming Interface (API) for graphics. It basically translates all the instructions of a game and sends them to your graphics card. Macs, in the past, haven’t been able to understand these instructions, which is why you can’t run DirectX 12 games though a tool like Parallels. Bit just days before WWDC, CrossOver — a compatibility layer for Windows Apps like Linux, macOS, and ChromeOS — got its first DirectX 12 game working: Diablo 2 Resurrected.
Apple is making it sound like it essentially built an emulation layer that can take almost any Windows game and get it functioning on Macs within a matter of minutes. In Apple’s own words: “First, you can evaluate just how well your existing Windows game could run on Mac using the provided emulation environment. This lets you analyze your game’s potential performance immediately, eliminating months of upfront work.”
And to demonstrate this capability, Apple showed off The Medium, a game that uses DirectX 12, is built on Unreal Engine 4, and supports ray tracing. Between DX12 and Unreal Engine, that already accounts for thousands of Windows games that otherwise don’t work on Macs.
Apple says the Game Porting Toolkit can translate controller inputs, audio and graphics APIs, CPU instructions, and other APIs automatically. The company demoed how this works in practice, where you simply import a Windows game and launch it through a command line, and the translation automatically happens inside Apple’s emulation environment.
That doesn’t mean that games will run well — as Apple points out, there’s overhead to translation, and a native port with Apple’s Metal API will be able to have optimized performance. Still, it’s a huge deal that DirectX 12 games even work at all without any porting. Apple essentially built a Windows emulator that can run DirectX 12 games.
Why this is a big deal
I hear you: Who cares? I don’t want to launch my games through a command line and get poor performance, and I certainly don’t want to dig through the Game Porting Toolkit GitHub to figure out how to get it working — and neither do you. The good news is that you probably won’t need to.
The part Apple left out is that it published the Game Porting Toolkit under an open-source license. Anyone is free to take it and add it to their own applications. As Andrew Tsai, a YouTuber who covers gaming on Mac, says, the open-source license “is literally a game-changer.” The YouTuber continued: “The emulation and translation of Windows/DirectX 12 titles could potentially be integrated into something like Wine, and do for CrossOver what Proton has done for the Steam Deck.”
Tsai isn’t alone in this sentiment, either. Christina Warren, a senior developer advocate at GitHub, said it’s “essentially Proton but for MacOS.”
This is essentially Proton (Valve’s Wine thing for Linux/SteamOS and DX12) but for macOS. This is massive.
— Christina Warren (@film_girl) June 6, 2023
Warren speculated that you could run the Game Porting Toolkit against “a bunch of AAA games on Steam and get them running on Apple Silicon with no problem.” If true, Apple might have accelerated what was previously a years-long project into a matter of weeks as developers take the code and apply it to their own software.
Apple didn’t build the toolkit for this purpose — it’s an evaluation tool that’s made for developers. And to that end, Apple has a ton of enticing features for developers to port their games to Mac, including a translation tool that can convert complex rendering pipelines built for Windows graphics engines to Metal.
What the emulation environment layer does, however, is potentially get thousands of Windows games functional on Mac right away, opening the floodgates for more native ports with better performance in the future. Apple has been focusing a lot of attention on gaming for Macs, but with the Game Porting Toolkit, it may have finally struck gold.