Guides / DirectX 12 on a Mac
DirectX 12 on a Mac: D3DMetal, DXMT and DXVK explained
A Mac has no DirectX, so Windows games on Apple Silicon need a layer that turns Direct3D calls into Metal. The three you’ll see are Apple’s D3DMetal (DirectX 11 and 12, from the Game Porting Toolkit), DXMT (an open-source Direct3D 10 and 11 layer on Metal) and DXVK (an open-source Direct3D layer on Vulkan, which reaches Metal through MoltenVK). For DirectX 12 games, D3DMetal is the one that works today. Bridgeplay uses D3DMetal by default and lets you switch a game to DXMT or DXVK in Steam.
Why a Mac needs a translation layer
DirectX is Microsoft’s graphics API for Windows. macOS uses Apple’s Metal instead. Wine and its relatives handle the Windows side of a game (files, windows, input), and a separate graphics layer translates each Direct3D call and shader into something the Mac’s GPU understands. The layer decides which DirectX versions a game can use, and often how fast it runs.
The layers side by side
| Layer | DirectX versions | Made by | License | Notes |
|---|---|---|---|---|
| D3DMetal | 11 and 12 [3] | Apple, part of the Game Porting Toolkit [1] | Apple proprietary, under the Game Porting Toolkit license [9] [10] | Translates straight to Metal. The usual choice for DirectX 12 games on a Mac. |
| DXMT | 10 and 11 [4] | 3Shain and contributors [4] | LGPL-2.1 [4] | Open source, translates straight to Metal. Direct3D 12 work is unfinished upstream [11]. |
| DXVK | 8, 9, 10 and 11 upstream [5]; the macOS fork covers 10 and 11 [6] | doitsujin and contributors; macOS fork by Gcenx [6] | zlib [5] [6] | Translates to Vulkan. Upstream DXVK is written for Linux [5]; on a Mac it runs on top of MoltenVK. |
| MoltenVK | None directly (Vulkan 1.4 subset) [7] | Khronos, now maintained by the community [7] | Apache-2.0 [7] | Runs Vulkan on Metal. It sits under DXVK on a Mac and doesn’t translate DirectX itself. Khronos has deprecated it and the repository is now maintained on a best-effort basis [7]. |
D3DMetal
D3DMetal is Apple’s translator inside the Game Porting Toolkit, which Apple offers to developers as an “evaluation environment for Windows games” so they can test an unmodified Windows build on Apple Silicon [1]. Apple’s page also points to community projects such as Homebrew and products such as CodeWeavers’ CrossOver as other ways to use it [1]. CodeWeavers describes D3DMetal as a translation layer “supporting DirectX 11 and DirectX 12 games” [3].
D3DMetal isn’t open source. Tools that use it ship or download Apple’s files under Apple’s license; Bridgeplay’s repository documents how it handles that license [9].
DXMT
DXMT describes itself as “a Metal-based translation layer for Direct3D 11 and 10 which allows running 3D applications on macOS using Wine” [4]. It’s open source, so other projects can build, patch and ship it freely. CodeWeavers notes DXMT as an option next to D3DMetal in CrossOver [3]. Bridgeplay ships a pinned DXMT build; its notes say the upstream Direct3D 12 backend is marked unfinished and is only included for testing [11].
DXVK and MoltenVK
DXVK is “a Vulkan-based translation layer for Direct3D 8/9/10/11 which allows running 3D applications on Linux using Wine” [5]. Macs don’t have Vulkan, so Mac tools pair a macOS build of DXVK, such as Gcenx’s DXVK-macOS (Direct3D 10 and 11) [6], with MoltenVK, which layers Vulkan on Metal [7]. That adds a second translation step, but some games still run better this way, or only run this way.
Which tools use which layer
| Tool | Graphics layers it offers |
|---|---|
| CrossOver (CodeWeavers) | Auto, D3DMetal, DXMT, DXVK and Wine’s own wined3d, picked per bottle; Auto uses CodeWeavers’ per-game database [3] |
| Whisky community fork | DXMT out of the box with DXVK over MoltenVK as a fallback [8]; D3DMetal only when a Game Porting Toolkit payload is on disk [10] |
| Apple Game Porting Toolkit | D3DMetal, for developers evaluating their games [1] |
| Bridgeplay | D3DMetal by default; DXMT and DXVK-macOS per game [2] [12] |
For a wider look at these tools, including what each does better than Bridgeplay, see Ways to play Windows games on an Apple Silicon Mac.
How Bridgeplay picks a layer
Bridgeplay runs games on CodeWeavers’ open-source WineCX with Apple’s Game Porting Toolkit linked in. On that engine every game starts on D3DMetal, whether it uses DirectX 11 or 12 [12]. Wine’s own wined3d isn’t available there; a game set to it runs on D3DMetal instead, and the launch log says so [12]. The how it works page shows where each piece sits.
Switching a game to DXMT or DXVK
- In Steam, right-click the game and choose Properties…
- Open the Bridgeplay tab.
- Pick D3DMetal, DXMT or DXVK in the Graphics menu.
- Start the game with Play as usual. Use Bridgeplay defaults on the same tab puts things back.
The setting applies to that game only [2] [12]. If a layer can’t be set up for the game, Bridgeplay falls back to D3DMetal [12]. DXMT and DXVK only help Direct3D 10 and 11 games; a DirectX 12 game needs D3DMetal.
Which one to try
- For a DirectX 12 game, stay on D3DMetal.
- If a DirectX 11 game has graphics glitches, crashes or a low frame rate on D3DMetal, try DXMT, then DXVK.
- If you’re not sure what works, check the game’s page on the compatibility list, where players record the layer they used. The reports describe what testers saw and aren’t guarantees.
The FAQ answers more questions about requirements and limits.
Sources
- Apple Developer: Game Porting Toolkit (checked 29 October 2026)
- Bridgeplay: README (checked 29 October 2026)
- CodeWeavers: Advanced Settings in CrossOver Mac 26 (checked 29 October 2026)
- 3Shain/dxmt on GitHub: README and license (checked 29 October 2026)
- doitsujin/dxvk on GitHub: README and license (checked 29 October 2026)
- Gcenx/DXVK-macOS on GitHub: repository description and license (checked 29 October 2026)
- KhronosGroup/MoltenVK on GitHub: README (checked 29 October 2026)
- frankea/Whisky (Whisky community fork): README (checked 29 October 2026)
- Bridgeplay: Apple Game Porting Toolkit, how Bridgeplay meets its license (checked 29 October 2026)
- frankea/Whisky: runtime dependencies (checked 29 October 2026)
- Bridgeplay: DXMT build notes (checked 29 October 2026)
- Bridgeplay: per-game fixes and graphics backends (checked 29 October 2026)