Repository navigation
MetalSharp Wine 3.0
MetalSharp Wine 3.0 is Wine 11.20 as a native arm64 macOS app with a FEX fork for x86_64 and 32-bit x86 Windows programs. It needs no Rosetta. This release makes games run faster and more reliably: Red Dead Redemption 2 now loads and plays, and D3D12 games run up to half again as fast. This also fixes the signing issue with 2.0 where it would crash.
What's new since 2.0
- TSO emulation and msync are on by default. FEX now runs x86 code with its TSO emulation (ordered loads and stores; no Rosetta or hardware TSO needed), because some games hand work between threads with plain stores and lose it without x86's memory ordering. Red Dead Redemption 2's job system hung without it. msync (shared-memory synchronization) is on by default too.
FEX_TSOENABLED=0andWINEMSYNC=0turn them off. - Mullion: fewer render pass ends, overlapping passes, cheaper draws. Barriers end a render pass only for its own attachments; clears fold into later passes; copies run ahead of the render pass; passes overlap on the GPU; and per-draw state costs less CPU (
MULLION_D3D12_PASS_OVERLAP=0andMULLION_D3D12_HOIST_COPIES=0turn the riskier parts off). Render-target-only heaps are private. - VKD3D-Proton macOS 3.0 and MoltenVK: read-only buffer transitions keep the render pass, descriptor copies and root data per draw are batched, upload copies run ahead of the command list, table CBVs use Metal's constant-buffer path, and MoltenVK no longer restarts render passes for indirect-count draws or re-sends unchanged descriptor sets and push constants. SPIRV-Cross fixes let Red Dead Redemption 2's pipelines build.
- Wine:
LockFileExon a handle bound to a completion port now posts the completion when the lock is granted at once (Red Dead Redemption 2's file streaming waited for it forever). - FEX: 32-bit programs run x87 in reduced (double) precision by default, as under Rosetta (fixes Ori and the Blind Forest's FMOD audio stutter;
FEX_X87REDUCEDPRECISION=0opts out); call-ret stack invalidation also decommits non-resident pages; offline telemetry is off. - WineMetalGL 3.7.0, with its arm64 Wine module upstream.
- The inner loader has its own bundle (
lib/wine/aarch64-unix/wine.app) carrying the provisioning profile, so macOS no longer kills it for its cross-architecture entitlement (#2). The app has its own icon. - New backends since 2.0: VKD3D-Proton (
GRAPHICS_BACKEND=vkd3d, D3D12 on MoltenVK) and DXVK-macOS 1.10.x (GRAPHICS_BACKEND=dxvk, D3D9/10/11), both built as ARM64X for x86_64 programs; Microsoft's DXC andd3dcompiler_47in every prefix; WFDXCompat's launcher companion for the Rockstar Games Launcher;HideWineExportsfor programs that refuse to run under Wine.
Measured on an M4 MacBook Air: Red Dead Redemption 2 20 → ~30 fps (Mullion), God of War Ragnarök a steady 30 fps without stutter on Mullion and 25–30 → 40 fps (its frame limit) on VKD3D-Proton, PEAK's mountain view 35 → 55 fps (Mullion).
Downloads
MetalSharp-Wine-3.0-arm64.zip: the signed and notarizedMetalSharp-Wine.app. It needs macOS 15 or later, and macOS 26.4 or later for 32-bit (i386) programs.metalsharp-wine-3.0-arm64.tar.xz: a relocatable folder (bin/wine). It is ad-hoc signed, so it runs x86_64 and ARM64 programs only.SHA256SUMS
What's in it
- CPU translation: ARM64 runs natively, x86_64 through FEX and ARM64EC (Wine's DLLs are ARM64X), and i386 through FEX and WoW64. In the signed app, i386 has the low 4 GB and 4K pages.
- Direct3D: Mullion (DXMT fork) on Metal is the default for D3D10/11/12. VKD3D-Proton macOS 3.0 (
GRAPHICS_BACKEND=vkd3d) and DXVK-macOS 1.10.x (GRAPHICS_BACKEND=dxvk) are opt-in for x86_64 programs.GRAPHICS_BACKEND=wineselects wined3d. - OpenGL: WineMetalGL 3.7.0 (OpenGL 4.6 on Metal) is the default.
OPENGL_BACKEND=wineselects Wine's own. - Vulkan: MoltenVK 1.4.3 (MetalSharp build, with persistent pipeline caches).
- Media: FFmpeg 8.0 and GStreamer 1.26. .NET and HTML: Wine Mono 11.3.0 and Wine Gecko 2.47.4.
- Compatibility: WineForge's launcher and compatibility work, the native Steam bridge, native macOS fullscreen and GCMouse raw input; Chromium/CEF windows paint correctly.
- Fonts, tools and payloads: metric-compatible Arial/Times New Roman/Courier New in every prefix, CJK families mapped to macOS fonts, innoextract and cabextract, and the MetalSharp app payloads in
share/metalsharp/.
Tested on the signed build
helloon all three architectures (ARM64 native, x86_64 through FEX, i386 through WoW64).- OpenGL 4.6 through WineMetalGL 3.7.0 on ARM64, x86_64 and i386, and Vulkan through MoltenVK.
- TSO emulation and msync active with no environment variables set.
- PEAK in D3D12 on Mullion, on the signed app with default settings.
- On the same components before packaging: Red Dead Redemption 2 (Mullion), God of War Ragnarök (Mullion and VKD3D-Proton) and PEAK (Mullion and VKD3D-Proton), all loading and playing.
Source: main holds the build scripts, patches, docs and tests. The modified sources are on the source/wine, source/fex and source/winemetalgl branches; Mullion is developed at aaf2tbz/mullion (sent upstream to dttdrv/mullion), VKD3D-Proton and MoltenVK at metalsharp/VKD3D-Proton-MacOS, and DXVK-macOS at metalsharp/DXVK-macOS-1.10.
MetalSharp Wine's own material is AGPL-3.0. Wine and the Wine changes are LGPL-2.1+, FEX is MIT, and every bundled component's license is in share/licenses/.