WoWSilicon: Running Classic WoW on Apple Silicon Macs
WoWSilicon is a macOS launcher that makes 2006-2010 World of Warcraft clients run on Apple Silicon without CrossOver or a Windows VM. It ships its own Wine runtime, D9VK and MTLd3D graphics translation, accelerated x87 handling, and the patching tools those clients need — all in one app.
If you have been told "just use CrossOver" one too many times, this is the project that deliberately removes that dependency.
Why old WoW clients need help on Apple Silicon
Two problems stack up. First, Vanilla through WotLK clients are 32-bit Direct3D 9 applications, and modern macOS has no Direct3D at all. Second, those binaries lean on x87 floating-point instructions, which Rosetta 2 translates correctly but expensively — x87-heavy paths are one of the main reasons a Classic client feels sluggish on an M1 compared with the same code on an Intel Mac.
WoWSilicon attacks both: a bundled Wine runtime for the Windows side, DXVK (through MoltenVK) or MTLd3D for Direct3D 9, and a choice of accelerated x87 translators.
Supported clients
| Profile | Client | Notes |
|---|---|---|
| VanillaSilicon | 1.12.1 | vanilla-tweaks support, libSiliconPatch on by default |
| BurningSilicon | 2.4.3 | Rosetta patching + DX9 translation |
| WrathSilicon | 3.3.5a | libSiliconPatch on by default |
| Custom profiles | Any of the above | Separate folders, separate settings |
| Non-WoW game | 32-bit D3D9 | Experimental — executable plus d3d9.dll only |
Profiles are the important abstraction: each one keeps its own game path, graphics settings, environment variables and addon list, so a Vanilla realm and a WotLK realm never fight over the same config.
Requirements
- Apple Silicon Mac (M1 or newer)
- macOS 15 or later — the repository README states 14 or newer, so check the release notes for your version
- A legally acquired local World of Warcraft client folder
- Write permission on that folder (patching copies files into it)
The current release is 3.2.2 (September 2026), a hotfix that reverted MTLd3D to v0.7.0 and restored cursor scaling on the DXVK path.
Install
- Download the latest DMG or ZIP from wowsilicon.github.io.
- Drag
WoWSilicon.appinto/Applications. - The build is unsigned, so Gatekeeper blocks the first launch. Remove the quarantine attribute:
xattr -dr com.apple.quarantine /Applications/WoWSilicon.app
- Open WoWSilicon, pick a profile, and select
WoW.exewhen prompted. Grant macOS access to the game folder when it asks.
First-run setup
Patch the game folder. Click Patch before you play. For WoW profiles this copies winerosetta.dll into mods/, drops libDllLdr.dll, d3d9.dll and mtld3d.conf into the game directory, and cleans up legacy patched executables. Non-WoW profiles only get d3d9.dll.
Choose a graphics backend. Under Options you pick between:
- DXVK — Direct3D 9 to Vulkan, running on MoltenVK, or on KosmicKrisp if you are on macOS 26 or later (experimental).
- MTLD3D — Direct3D 9 straight to Metal, with optional HDR.
If something renders wrong, switching backends is the fastest diagnostic: it tells you whether the problem lives in the Vulkan path or the Metal path.
Choose an x87 translator. Three options, per profile:
- rosettax87 JIT — hooks Rosetta 2 and emits ARM instructions (the default)
- x87sidecar — same idea in an isolated helper process
- Stock Rosetta — accelerated translation off, for troubleshooting
Vanilla and WotLK profiles can also use libSiliconPatch, which recompiles selected x87 hot paths to SSE-friendly code. It is enabled by default on those two profiles and can be turned off if you suspect it.
Point the client at your realm. WoWSilicon has a built-in realmlist editor rather than making you hand-edit files — it finds the realmlist.wtf in the game folder and manages set realmlist lines, including keeping several addresses on file with only one active. If you prefer doing it manually, the steps are the same as in our realmlist.wtf guide.
Install dependencies only if asked. The Dependencies view can install Wine Mono, Microsoft Visual C++ 2022 and Git. Most clients need none of them; Git is only required for addon installs from a repository URL.
Day-to-day features worth knowing
- Addon manager — install addons from Git URLs, update managed addons in bulk, and import or export an addon list when you move machines.
- Mod manager — enable or remove DLL-style mods while protecting the runtime files WoWSilicon needs.
- Per-profile graphics — resolution, refresh rate, window mode, multisampling, texture filtering, view distance and shadow quality, plus Retina mode, cursor scaling and Option-as-Alt remapping.
- Process monitor — shows when Wine processes are still alive and gives you a Force Quit control, which matters because a hung Wine helper silently blocks the next launch.
- Update checks — Sparkle-based, from the app menu or the Options window.
Troubleshooting
| Symptom | First thing to try |
|---|---|
| Patch fails | Confirm WoW.exe exists and the folder is writable; the patcher looks for DivxDecoder.dll to recognise a real client |
| Graphical glitches | Switch between DXVK and MTLd3D |
| Launch hangs or stutters | Try the other x87 translator, then disable libSiliconPatch |
| Vanilla tweaked exe is stale | Let WoWSilicon regenerate it when the build-mismatch prompt appears |
| Wine stays running | Use the process indicator and Force Quit |
For anything you report, include macOS version, profile, graphics backend, x87 translator, and a debug log generated from the Troubleshooting view.
Sources and further reading
External references used to verify or expand this article.