←back to thread

183 points ahamez | 6 comments | | HN request time: 0.211s | source | bottom
Show context
banqjls ◴[] No.43631804[source]
How can you run old 32-bit, directx 9 games on apple silicon? Is there any solution that is flawless? One of the things that stops me from buying a modern Mac.
replies(3): >>43631827 #>>43631865 #>>43632272 #
1. cactusplant7374 ◴[] No.43631865[source]
I think this should cover it.

https://github.com/doitsujin/dxvk

replies(2): >>43631882 #>>43632711 #
2. banqjls ◴[] No.43631882[source]
That won’t fix the fact that the macOS kernel can’t run 32-bit binaries.
replies(1): >>43632146 #
3. galad87 ◴[] No.43632146[source]
It's possible to run 32-bit Windows binaries with Rosetta 2 and WINE, but I don't know if there is any good DirectX 9 to Metal wrapper yet. Probably DXMT will implement it in the future: https://github.com/3Shain/dxmt
replies(1): >>43632382 #
4. banqjls ◴[] No.43632382{3}[source]
I have heard of Rosetta not implementing the entire instruction set, and games being one of the most affected kinds of software, most of them crashing due to illegal instructions.
replies(1): >>43632698 #
5. Rhedox ◴[] No.43632698{4}[source]
Rosetta actually supports 32bit code just fine.
6. Rhedox ◴[] No.43632711[source]
DXVK does not run on Mac OS. There's a modified version based on an ancient release of DXVK that kinda works on MoltenVK but the D3D9 side never worked.

The D3D9 implementation in DXVK uses a Vulkan binding model trick to improve performance that MoltenVK can't handle.

Besides that, DXVK simply requires modern Vulkan features that MoltenVK doesn't support.