Apple’s new Proton-like tool can run Windows games on a Mac
If you’re hoping to see more Windows games on Mac then those dreams might finally come true soon. Apple has dropped some big news for game developers at its annual Worldwide Developers Conference (WWDC) this week, making it far easier and quicker to port Windows games to Mac thanks to a Proton-like environment that can translate and run the latest DirectX 12 Windows games on macOS.
Apple has created a new Game Porting Toolkit that’s similar to the work Valve has done with Proton and the Steam Deck. It’s powered by source code from CrossOver, a Wine-based solution for running Windows games on macOS. Apple’s tool will instantly translate Windows games to run on macOS, allowing developers to launch an unmodified version of a Windows game on a Mac and see how well it runs before fully porting a game.
Mac gaming has been a long running meme among the PC gaming community, despite Resident Evil Village and No Man’s Sky ports being some rare recent exceptions to macOS gaming being largely ignored.
“The new Game Porting Toolkit provides an emulation environment to run your existing unmodified Windows game and you can use it to quickly understand the graphics feature usage and performance potential of your game when running on a Mac,” explains Aiswariya Sreenivassan, an engineering project manager for GPUs and graphics at Apple, in a WWDC session earlier this week.
The Game Porting Toolkit can just run Windows games on macOS. Image: Apple
This Game Porting Toolkit even supports DirectX 12 games like The Medium, with Sreenivassan demonstrating running the game through Apple’s translation layer. Much like how Wine and Proton combine to create a software layer to translate Windows API calls to Linux, Apple is doing something similar here to convert these Windows API calls to its Metal API.
Apple’s new Game Porting Toolkit translates Intel-based x86 instructions and Windows APIs to Apple Silicon instead. APIs related to keyboard, mouse, controller input, audio playback, networking, the file system, and Direct3D are all translated to the corresponding APIs in macOS.
The result is Windows games running on macOS without any porting or modification. Apple says this is more for evaluating games right now before they’re ported across to macOS, but there’s nothing stopping macOS users from installing this Game Porting Toolkit and trying games out.
Apple’s Game Porting Toolkit lets developers instantly run DirectX 12 Windows games on macOS. Image: Apple
The big issue will be exactly how games run in this environment. Most won’t be optimized through this tool and there are bound to be performance issues and bugs until developers create their own ports. Reddit users have already got Cyberpunk 2077 up and running on an M1 MacBook Pro, alongside Diablo IV on an M1 Max MacBook Pro and Hogwarts Legacy on an M2 Max. The early results look promising despite some obvious performance limitations, but there could also be potential bugs from running games on Mac this way.
CodeWeavers announced its own highly-anticipated DirectX 12 support for CrossOver Mac (a similar Windows compatibility layer that’s source code is powering Apple’s tool) earlier this month. But it also warned that despite its advancement “there was no single magic key” that unlocked DirectX 12 support on macOS.
“To get just Diablo II Resurrected running, we had to fix a multitude of bugs involving MoltenVK and SPIRV-Cross,” explained CrossOver Product Manager Meredith Johnson in a blog post. “We anticipate that this will be the case for other DirectX 12 games: we will need to add support on a per-title basis, and each game will likely involve multiple bugs.”
Apple’s own translation layer is still significant, though. Apple has often talked up how high performance its GPU cores are on its M1 and M2 chips, even announcing an M2 Ultra chip this week with a 76-core GPU that’s 30 percent faster than the M1 Ultra. We just haven’t seen that GPU performance in games on Mac because so few get ported across.
Porting Windows games to Mac hasn’t been easy for developers, and typically involves a complex process of recompiling source code, converting custom shaders, reimplementing the graphics subsystem, and converting audio, input, and HDR rendering. Developers can use a cross-platform game engine to cut down on all that complexity if they’re targeting multiple platforms, but they still have to debug a game and optimize the performance on macOS.
Apple now has a tool to let developers understand how much porting work will be required to fix bugs and optimize their games on macOS, and it also has a new Metal Shader Converter to automatically convert existing GPU shaders to Metal. Both of these tools significantly cut down the time and work to port games from Windows to Mac.
Apple’s Mac gaming push also includes a new game mode in macOS Sonoma and game developer Hideo Kojima appearing during Apple’s WWDC keynote to announce that Death Stranding Director’s Cut will be coming to macOS.
If Apple continues with this work on its translation layer, maybe one day it’ll be good enough for end users to run Windows games on macOS just like they do on a Steam Deck. That dream is still a ways off, but Apple has showed this week that it might eventually become reality.
Update, June 9th 9:25AM ET: Article updated with Reddit users running a variety of games on Apple Silicon Macs.
Update, June 9th 10:15AM ET: Added confirmation Apple’s tool is based on CodeWeaver’s CrossOver source code.