r/macgaming • • 22h ago

Self promotion Mach9: A DirectX 9 focused Wine engine

In August I posted mtld3d here, a Direct3D 9 implementation on Metal for Wine.

D3D9 on Metal was the gap I wanted to fill. It turned out a D3D9 driver alone does not get games running: they also needed changes in Wine itself, in FEX (the x86 emulator used here instead of Rosetta), and in other parts of the graphics stack. Mach9 is the result: a Wine build for Apple Silicon with all of those changes, made to be embedded in launchers.

Not another launcher

The plan is for existing launchers to ship this engine, not to compete with them. A launcher copies the wine/ folder into its app and passes per-game settings in one environment variable. The rules are written with a small Rust crate, documented at https://docs.mach9.app. If you maintain a launcher and want to try it, open an issue and I will help.

Until that happens, the engine on its own is hard to try. So there is a small app, Mach9.app, to get more people testing. It starts any Windows .exe you point it at: a game, an installer, or a store client such as the Windows version of Steam if you install one. It is free and notarized (no Gatekeeper workaround), and it never asks for any account; logins happen in the store clients themselves.

AI use

A large part of the code was written with AI coding tools. I decide the design, review the changes and test the games. All of it is public, including every patch to Wine and FEX as plain commits in the forks, so you can check what was changed and why. If that is a dealbreaker for you, that is fair.

What is in it

Credit goes to Wine and CodeWeavers, FEX, DXMT, vkd3d-proton and Mesa (KosmicKrisp). This builds on their work.

Games that run

Since the first post many more games have been tested, including ones that have trouble on other engines:

  • GTA IV
  • LEGO Indiana Jones: The Original Adventures
  • Team Fortress 2
  • Half-Life 2
  • Left 4 Dead 2
  • Halo 2 (Vista)
  • World of Warcraft 1.12 / 3.3.5a
  • Medieval II: Total War
  • Mirror's Edge
  • Need for Speed Carbon
  • Pro Evolution Soccer 2017
  • League of Legends 4.17
  • Modern Warfare 2 (IW4X)
  • Thief Gold (TFix)
  • NosTale
  • Age of Empires II HD
  • Windows Steam client, Rockstar Games Launcher

Install

Needs a Mac with Apple Silicon and macOS 26.4 or later.

  1. Download https://updates.mach9.app/Mach9.dmg and drag Mach9 to Applications.
  1. Open it from Applications. macOS shows "Background Items Added": that is the Dock menu being set up.

  2. Right-click the Dock icon, Options, Keep in Dock.

  3. Right-click the Dock icon, New Executable…, pick a game's .exe, Run.

Installers work the same way: run the installer .exe with "Save as new game" off, install into a normal Mac folder such as ~/Games (Z:\Users\<you>\Games\... in the installer), then add the installed game's .exe. Steam is optional; if you want it, install the Windows Steam client this way and add steam.exe.

Full guide: https://github.com/athei/mach9/blob/main/docs/app.md

Reporting problems

Open an issue at https://github.com/athei/mach9/issues with gamelauncher.log attached (Dock menu, Open Config Folder). Reports about games that do not run are the most useful thing right now.

43 Upvotes

12 comments sorted by

2

u/TheasidesBardas 16h ago

Will the GOG version of original Oblivion work? It would be a lot better since I won’t have to boot up a windows vm.

I’ll try it out later tonight or tomorrow

1

u/athei88 5h ago

Yes. Would be appreciated if you can test it. If it doesn't run I can look into it.

1

u/darthanonymous1 14h ago

i imagine this runs swtor well too?

1

u/athei88 5h ago

It's DX9 so it should work. If not please let me know.

5

u/KainMassadin 20h ago edited 12h ago

It also runs NFSMW 2005, NFSU2, CS: Source, Assasins Creed 2, K&L: Dead men, Halo CE, and Lego Indy 2

1

u/ompt709 20h ago

Any chance of reaching out to the notproton devs to see if they can combine this into their project? Would love to just change the compatibility in steam like they do with crossover 26 and preview. Not sure if that's possible since I'm no dev.

7

u/athei88 19h ago

Wasn't there this whole drama around that somebody forked it in order to change the engine to something thats not Crossover: https://www.reddit.com/r/macgaming/comments/1xdrx6j/notproton_maintainer_confronts_influencerbacked/

So I assume they won't be open to that.

0

u/ompt709 19h ago

I casually followed the thread but not too specifically. I thought they definitely used crossover, i mean you have to install crossover for notproton to work, so it's not like they forked their own version. But I'm not sure how it works tbh.

4

u/Nilderan 17h ago edited 17h ago

I was going to say that OP should be prepared to be boarded by that notproton guy with his stupid GIF, but he's already here :)

-9

u/NotProtonMac 18h ago

4

u/Nilderan 17h ago

Dude why are you spamming that stupid GIF in every project that isn't yours? Just move on if you don't like it.

-3

u/CybuhDasher 8h ago

Written by AI, classic!