Mullion translates Direct3D 10, 11 and 12 to Metal, so Windows games run on Apple silicon Macs through Wine. It is free and open source, and built on DXMT.
Mullion is a pre-release. Get it from releases, and report the games that break. Games that work go in Game reports, and Games lists them.
| API | Feature level | |
|---|---|---|
| Direct3D 12 | up to 12_2 | Shader models up to 6.7, ray tracing tier 1.1, mesh and amplification shaders, conservative rasterization tier 3, variable rate shading tier 2, tiled resources tier 3, the depth bounds test, tessellation, geometry shaders, stream output, sampler feedback, reserved resources, pipeline libraries, planar video formats and D3D11On12. |
| Direct3D 11 | 11_1 | |
| Direct3D 10 and 10.1 | 10_1 | Runs on the Direct3D 11 implementation. |
This describes the main branch. Feature levels 12_1 and 12_2 and Metal 4 come to a release with v0.5.
Direct3D 12 runs on Metal 4 where the GPU has it, and on Metal 3 otherwise. Feature levels 12_0 and above need macOS 26.4 or later, for Metal's placement sparse resources; on earlier versions Direct3D 12 reports 11_1. Not done yet: shader model 6.7's advanced texture operations, writable MSAA textures, and stream output after tessellation. What comes next is in the roadmap.
On the same Mac, the Black Myth: Wukong benchmark runs at 28 FPS on Mullion and 34 FPS on D3DMetal 4.0 beta 3, at the High preset and 1512 × 982. Results has God of War Ragnarök and 3DMark too, with screenshots.
- A Mac with Apple silicon, M1 or later, on macOS 15 or later.
- Wine for x86_64 or CrossOver, with Rosetta, or Wine for arm64, whose x86_64 programs load Mullion's ARM64X libraries as ARM64EC. Stock Wine works, without patches or DLL overrides.
- A 64-bit game. 32-bit games are not supported yet.
Unpack the release and run install.sh from its folder, with the game closed: ./install.sh --crossover "<bottle>" for
a CrossOver bottle, or ./install.sh <wine> [prefix ...] for Wine, where <wine> is the folder that holds bin/wine.
Install covers what each one does, how to undo it, and installing by
hand.
If macOS blocks winemetal.so at the first launch, allow it under System Settings, Privacy & Security, and start the
game again.
MULLION_LOG_PATH=<folder> writes a log for each DLL into the folder. Attach the logs to a bug report.
MULLION_TRACE_GPU=1 and the other MULLION_TRACE_ categories log one kind of problem in detail, as
docs/tracing.md describes. The other settings are on the
Settings page, and mullion.conf lists every option.
Building needs macOS, Meson 1.3 or later, Xcode with the macOS 26.4 SDK and its Metal
toolchain, LLVM 15 as static libraries for x86_64,
llvm-mingw on PATH, and a Wine build tree.
git submodule update --init
meson setup build --cross-file build-win64.txt \
-Dnative_llvm_path=<llvm> -Dwine_build_path=<wine build tree> \
--buildtype release --prefix "$PWD/install"
meson install -C buildinstall/ then has the layout of a release. The tests are described in TESTING.md.
CONTRIBUTING.md covers reports, changes and review. The rules the code follows are in CODE.md, and how it is laid out is in ARCHITECTURE.md. Questions go to Q&A, and problems with Mullion go here, not to DXMT.
Mullion is built on DXMT by Feifan He and CodeWeavers, from commit
7c8dee1 (16 September 2026). DXMT
provides the Direct3D 10 and 11 foundation, the DXBC shader converter and the Metal bridge. The DXIL front end and most
of Direct3D 12 were written for Mullion.
Thanks to DXVK, whose utility code DXMT carries, to Wine and LLVM, to Microsoft for the DirectX specifications and DirectXShaderCompiler, to Apple for the Metal documentation, and to vkd3d-proton and Mesa, whose tests and drivers Mullion learned from.
The GNU Lesser General Public License, version 2.1 or later, like DXMT. DXMT's own notice is in docs/licenses/dxmt.txt, and docs/licenses/dxmt-mit.txt is the MIT license of DXMT's releases up to v0.80, which still covers the code from them.