Play Windows games from Steam and Battle.net on Apple Silicon Macs: Age of Empires IV, Counter-Strike 2, Overwatch and 17 more, each tuned. Free for non-commercial use.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗| Game | Environment | Renderer |
|---|---|---|
| Age of Empires IV | Steam library | D3DMetal, x87sidecar optimization |
| Counter-Strike 2 | Steam library | DXMT with early shader compile |
| Age of Empires III: Definitive Edition | Steam library | D3DMetal |
| Age of Mythology: Retold | Steam library | D3DMetal, notch-safe fullscreen |
| Company of Heroes 3 | Steam library | D3DMetal, Microsoft UCRT for multiplayer |
| Command & Conquer: Generals Zero Hour | Steam library | Wine D3D8, GeneralsOnline for online play |
| Command & Conquer: Red Alert 2 | Steam library | cnc-ddraw, CnCNet for online play |
| Heroes of Might and Magic III | Steam library | cnc-ddraw, sound fix |
| Diablo IV | Steam library | D3DMetal |
| Path of Exile 2 | Steam library | D3DMetal, DirectX 12 |
| Hogwarts Legacy | Steam library | D3DMetal |
| The Witcher 3: Wild Hunt | Steam library | D3DMetal, FidelityFX proxy |
| Elden Ring | Steam library | D3DMetal, offline play only |
| Age of Wonders 4 | Steam library | D3DMetal, starts without the Paradox Launcher |
| The Elder Scrolls V: Skyrim Special Edition | Skyrim | DXMT 0.72 |
| Overwatch | Overwatch | Recall 1.1's Wine and DXMT, through Battle.net |
| Diablo IV (Battle.net) | Battle.net | D3DMetal, DXMT for the client |
| Diablo II: Resurrected | Battle.net | D3DMetal, DXMT for the client |
| Red Dead Redemption 2 | Rockstar | D3DMetal, WineD3D for the Rockstar launcher |
| GTA San Andreas: The Definitive Edition | Rockstar | D3DMetal, WineD3D for the Rockstar launcher |
| Grand Theft Auto V Enhanced | GTA V | Wine 11.13, D3DMetal 4.0b2, story mode only |
You need to own each game. MacGames never includes or downloads games itself.
Environments. Most games share one Steam client in the Steam library. A game gets its own Windows environment, with its own Steam or Battle.net, when it needs a different engine or changes to Windows that would break the others. Each environment downloads its extra parts on first setup.
Online play. Zero Hour and Red Alert 2 have a Play Online button that sets up and starts the community clients. Elden Ring runs offline only, and GTA V runs story mode only. Online play with anti-cheat is at your own risk.
Download MacGames-<version>.dmg from the latest release, open it, and
drag MacGames into Applications. The app is signed with a Developer ID and notarized by Apple.
MacGames checks for updates itself; you can also choose MacGames > Check for Updates….
To build MacGames yourself, use Xcode.
Install Xcode 27, XcodeGen and CMake (brew install xcodegen cmake).
Get the runtime: the Wine engine, DXMT and x87sidecar, with their source code and licenses.
scripts/fetch-runtime.sh
This downloads the runtime archive (about 125 MB) from this repository's
releases, checks its SHA-256 and signatures, and unpacks it into Vendor/.
Build and open the app:
xcodegen generate
xcodebuild -project MacGames.xcodeproj -scheme MacGames -configuration Release \
-derivedDataPath build/DerivedData build
open build/DerivedData/Build/Products/Release/MacGames.app
Settings for each game are on its page: the Metal performance HUD, the x87 optimization for Age of Empires IV, and a window size reset for Counter-Strike 2.
Uninstall on a game's page deletes its files and keeps your saves and settings. When no game of a group is installed any more, Remove setup deletes that group's launcher and Windows files.
Everything also works from the command line, which helps with scripts and bug reports:
MacGames.app/Contents/MacOS/MacGames --command status --game aoe4
Commands: check, setup, steam, install, play, stop, uninstall, remove-setup, status,
reset-display, and settings --optimized on|off --hud on|off.
MacGames.app
├─ sets up ~/Library/Application Support/macgames/steam
│ ├─ deps/Frameworks libraries and D3DMetal (downloaded, hash checked)
│ ├─ engine Wine 11 + DXMT + controller overlays
│ ├─ prefix Windows environment with the shared Steam
│ └─ games/<id> per-game settings and shader caches
└─ starts wine steam.exe -applaunch <app id> with that game's environment
└─ Steam starts the game (x86-64, under Rosetta 2)
└─ Age of Empires IV only: MacGamesBridge → x87sidecar
Steam hands its own environment to every game it starts. Because the games need different renderers, MacGames restarts Steam with the right settings before a launch when needed. It never restarts Steam while a game runs, and opening Steam never interrupts a download.
More detail is in CONTRIBUTING.md.
The game shows a message about the video card driver. This is normal with Wine. Choose OK.
Is online play safe? Counter-Strike 2 runs with VAC on, like on Windows. Valve has no official statement about Wine on macOS, so play online at your own risk.
Where are the logs? Choose Logs in a game's settings, or open
~/Library/Application Support/macgames/steam/logs.
Can I add a game? Yes. See Adding a game. Please open a game request first, so others can help test it.
Bug reports, test results from other Macs, and new game profiles are very welcome. Read CONTRIBUTING.md to get started, and please follow the code of conduct.
MacGames is free for non-commercial use under the PolyForm Noncommercial License 1.0.0. You may use, change and share it for personal use, hobby projects, research, education, and in charities and public institutions.
You may not sell MacGames, include it in a paid product, or use it in any other commercial way. This makes MacGames source-available rather than "open source" in the OSI sense. For commercial licensing, open an issue or contact @tarikbc.
Third-party components keep their own licenses. Wine stays LGPL, and x87sidecar and DXMT stay MIT. See THIRD_PARTY_NOTICES.md.
MacGames stands on these open-source projects:
MacGames is not affiliated with Valve, Microsoft, Apple or CodeWeavers. Game names and artwork belong to their owners.