Run Windows games on Apple Silicon Macs (M1–M5) for free, with a single auto-detecting launcher. Built and tested on macOS 26 with Unity games.
It wraps three free, open pieces:
- Wine 11.10 (staging) — translates the Windows API to macOS
- DXVK — translates Direct3D 11 to Vulkan
- MoltenVK — translates Vulkan to Apple Metal (bundled inside the Wine build)
play.sh looks at a game folder, figures out what kind of game it is, applies
the right fixes automatically, and starts it.
- Apple Silicon Mac (M1 or newer), macOS 14+ (tested on macOS 26)
- Rosetta 2 (the setup installs it if missing)
- ~1.5 GB free disk for the engine
- A game you legally own
No Homebrew, no admin tricks, no paid software (no CrossOver/Parallels).
cd MacWineGames
chmod +x setup.sh play.sh
./setup.shsetup.sh downloads the Wine engine (~185 MB) and prepares a shared prefix
(a virtual Windows C: drive). Run it once.
Point it at the folder that contains the game's .exe:
./play.sh "/path/to/Some Game Folder"or at the .exe directly:
./play.sh "/path/to/Some Game/Game.exe"To also drop a double-click launcher (Play - Game.command) next to the
game so you never need the terminal again:
./play.sh --make-launcher "/path/to/Some Game Folder"Then just double-click that .command file in Finder.
| It detects… | …and applies |
|---|---|
| Any Direct3D 11 game | DXVK (d3d11.dll, d3d10core.dll) → renders on Metal |
Unity (UnityPlayer.dll) |
Launches windowed (-screen-fullscreen 0) to avoid a fullscreen crash |
IL2CPP (GameAssembly.dll) |
Adds a WinRT robuffer forwarder so the game code loads |
OpenXR/VR (xrsdk-pre-init in boot.config) |
Disables VR pre-init so a non-VR launch doesn't crash (original backed up as boot.config.bak) |
All added files live inside the game folder, so they travel with the game and never touch your system.
Works well (🟢): single-player Unity / Unreal / Godot / RPG-Maker games that render in Direct3D 11 and have no anti-cheat — most story games, adventures, RPGs, visual novels, indies.
Needs extra work (🟡): Direct3D 12-only games (this DXVK build only does D3D11 — they need vkd3d or Apple's D3DMetal), some games needing extra Windows runtimes (.NET, VC++), or Steam login.
Won't work (🔴): online games with kernel-level anti-cheat (Valorant, Fortnite, most competitive multiplayer), games needing Windows drivers, some hard-DRM titles. No Wine-based tool can run these.
- Closes right after "Start" → it tried exclusive fullscreen. Unity games are
already launched windowed; for others add
-screen-fullscreen 0or play windowed. - Black screen → likely a Direct3D 12 game. This DXVK build is D3D11 only.
- "failed to create device" → the game may not offer a D3D11 path; try removing
the copied
d3d11.dll/d3d10core.dllto fall back to Wine's built-in renderer. - See the real error → run from the terminal with
WINEDEBUG=err+alland read the log. - Every game is a little different — the log almost always tells you what's missing
(
not found,unimplemented function,failed to create device).
Everything here is free and open-source. If it saved you from buying CrossOver or a whole Windows PC, you can buy me a coffee ☕️ — it keeps me testing more games and fixing the tricky ones. Thanks!
This toolkit is just glue. The real work is by: Wine (LGPL), DXVK (zlib), MoltenVK (Apache-2.0), and Gcenx's macOS builds. Only run games you legally own.