MX Simulator via Crossover (Mac | Apple Silicon M5)
-
Lancer2004
- Posts: 326
- Joined: Sat Jun 22, 2019 4:50 am
- Team: Shitter
- Location: Arizona
MX Simulator via Crossover (Mac | Apple Silicon M5)
So, I wanted to try something crazy. I set out to try and get sim running through crossover on my M5 MacBook Pro. I enlisted the help of Claude (to be fair, im not a pro subscriber, and don't have access to Claude code to find any code solutions), and I did a LOT of trouble shooting. I feel like the results are pretty interesting. Here's the report that Claude drafted up for me
Running MX Simulator via CrossOver 26 on an M5 MacBook Pro. Perfect 125fps in menu/chat; drops to a locked exactly 8fps the instant a track loads. CPU: ~104% on one core throughout (confirmed via Activity Monitor CPU History — game is running on Performance cores, not Efficiency cores). GPU usage: 0.6–3.7%, essentially idle. Tested with no change in outcome: D3DMetal on/off, DXVK on/off, windowed/fullscreen, in-game "Use Compatibility Settings," Terrain Rendering Method (Hardware Direct and Hardware/Copy), terrain textures set to lowest possible, MSync on/off, Windows 7 bottle and Windows 10/11 bottle.
If anyone is interested in this idea or has a possible solution, I'm all ears. I still have my windows laptop to keep playing the game on, however, my Mac has become mostly my daily driver, and it'd be sick to have yet another thing getting converted over to make the hot swapping of systems less necessary. If anyone wants to DM me about it, hmu on Discord @lancer2004
Running MX Simulator via CrossOver 26 on an M5 MacBook Pro. Perfect 125fps in menu/chat; drops to a locked exactly 8fps the instant a track loads. CPU: ~104% on one core throughout (confirmed via Activity Monitor CPU History — game is running on Performance cores, not Efficiency cores). GPU usage: 0.6–3.7%, essentially idle. Tested with no change in outcome: D3DMetal on/off, DXVK on/off, windowed/fullscreen, in-game "Use Compatibility Settings," Terrain Rendering Method (Hardware Direct and Hardware/Copy), terrain textures set to lowest possible, MSync on/off, Windows 7 bottle and Windows 10/11 bottle.
If anyone is interested in this idea or has a possible solution, I'm all ears. I still have my windows laptop to keep playing the game on, however, my Mac has become mostly my daily driver, and it'd be sick to have yet another thing getting converted over to make the hot swapping of systems less necessary. If anyone wants to DM me about it, hmu on Discord @lancer2004
-
jlv
- Site Admin
- Posts: 15471
- Joined: Fri Nov 02, 2007 5:39 am
- Team: No Frills Racing
- Contact:
Re: MX Simulator via Crossover (Mac | Apple Silicon M5)
Try using the most recent snapshot and use the --glversion option to try different context versions as described here. The "core" and "es" contexts might be faster than "compatibility" although with good drivers there's no real reason for "compatibility" to be slow.
Josh Vanderhoof
Sole Proprietor
jlv@mxsimulator.com
If you email, put "MX Simulator" in the subject to make sure it gets through my spam filter.
Sole Proprietor
jlv@mxsimulator.com
If you email, put "MX Simulator" in the subject to make sure it gets through my spam filter.
-
Lancer2004
- Posts: 326
- Joined: Sat Jun 22, 2019 4:50 am
- Team: Shitter
- Location: Arizona
Re: MX Simulator via Crossover (Mac | Apple Silicon M5)
I got Claude to do some extra research based off of the lastlog files.jlv wrote: ↑Wed Jul 08, 2026 3:13 am Try using the most recent snapshot and use the --glversion option to try different context versions as described here. The "core" and "es" contexts might be faster than "compatibility" although with good drivers there's no real reason for "compatibility" to be slow.
"found the exact failure in the game's log. It successfully creates a legacy OpenGL context, but fails when requesting a modern context via wglCreateContextAttribsARB ("Couldn't create OpenGL context with attributes"), then cleanly exits. This matches other reports of OpenGL 3+ context creation failing under Wine/CrossOver specifically on Apple Silicon."
Then I showed Claude your message about forcing the --glversion 2.1compatability. It had found a previous thread somewhere (on the forums I believe) of someone testing snapshot 2021-03-31-1566. I tried installing that snapshot into my bottle and now game the runs at a perfect frame rate! It just seems to be a wine error, like what Claude said, with OpenGL 3 and up, and I believe version 1.13 came out before the addition of the --glversion line. The game just didn't know what I was referring to and just wouldn't load. Sorry if this is a bit confusing, it is for me. I'm not super well versed in this area, but I'm down to offer anything you might want from the results of this!
-
jlv
- Site Admin
- Posts: 15471
- Joined: Fri Nov 02, 2007 5:39 am
- Team: No Frills Racing
- Contact:
Re: MX Simulator via Crossover (Mac | Apple Silicon M5)
The glversion option started with 2021-11-22. It's too bad it can't run newer versions. Hopefully it'll be sorted in a newer version of Wine.
Josh Vanderhoof
Sole Proprietor
jlv@mxsimulator.com
If you email, put "MX Simulator" in the subject to make sure it gets through my spam filter.
Sole Proprietor
jlv@mxsimulator.com
If you email, put "MX Simulator" in the subject to make sure it gets through my spam filter.
-
Lancer2004
- Posts: 326
- Joined: Sat Jun 22, 2019 4:50 am
- Team: Shitter
- Location: Arizona
Re: MX Simulator via Crossover (Mac | Apple Silicon M5)
For sure. I'm definitely excited to try and get it working better. I have a few settings I need to play around with to get it running better. In single player, on a medium track 2026 rf track, some settings turned down and with full 4k skins it runs at roughly 60 fps. So, it's playable, but that perfect 125 is definitely the target
-
Wahlamt
- Posts: 7971
- Joined: Mon Sep 13, 2010 3:15 pm
- Team: MLG Compton
- Location: Sweden
- Contact:
Re: MX Simulator via Crossover (Mac | Apple Silicon M5)
They sure made CrossOver/Wine a lot harder over the years. Last I heard, someone ran Parallels with a Windows VM to get it working. Can't provide any insight anymore, my stone age 2017 MacBook just isn't keeping up with the new stuff 
-
Lancer2004
- Posts: 326
- Joined: Sat Jun 22, 2019 4:50 am
- Team: Shitter
- Location: Arizona
Re: MX Simulator via Crossover (Mac | Apple Silicon M5)
The goal with crossover is to not virtualize the game, but run it straight off of the capable Mac hardware. The VM would work out of the box, but it's not guaranteed to have amazing performance, especially if its windows for arm, or x86.
-
kawy949
- Posts: 983
- Joined: Sat Feb 11, 2012 11:33 pm
- Location: UK
- Contact:
Re: MX Simulator via Crossover (Mac | Apple Silicon M5)
I'm watching with admiration, I spent a couple days on this as well because my son keeps stealing my laptop and need to run the game to test our data between website and game, and well... I couldn't get it running, just loaded Alcrest and stuttered like crazy.
-
kawy949
- Posts: 983
- Joined: Sat Feb 11, 2012 11:33 pm
- Location: UK
- Contact:
Re: MX Simulator via Crossover (Mac | Apple Silicon M5)
Running MX Simulator on Apple Silicon (M-series) Mac — full framerate on Alcrest
Setup: M-series Mac, macOS 26, running the 2026-05-14 64-bit snapshot. Getting 125fps on Alcrest and it plays fine on keyboard — good enough for real use. Totally free: no CrossOver or Parallels needed.
The blocker everyone hits: the modern 64-bit snapshot needs an OpenGL core context, and stock WineHQ's Mac driver refuses to create one — it rejects the request with "OS X only supports forward-compatible 3.2+ contexts" and the game dies instantly. macOS actually supports exactly the context the game wants; Wine is just being overly strict about a flag. CrossOver patches around this, plain WineHQ doesn't. One tiny change to a private copy of Wine fixes it (Wine is LGPL, so editing your own copy is fine).
The paths below are the exact ones I used — adjust if you prefer somewhere else.
Step 1 — Install Rosetta 2 (skip if you already have it)
Step 2 — Install WineHQ Wine (stable 11) and clear quarantine
Step 3 — Create a Wine prefix
Step 4 — Install the game
The installer's GUI didn't run cleanly for me, so I extracted it with 7-zip instead. (My installer was at ~/Downloads/mxsimulator-1_13-install.exe and the snapshot at ~/Downloads/mxsimulator/mx-2026-05-14-1684.exe.)
Step 5 — The key fix: patch a private copy of Wine's Mac driver
This makes a separate copy of Wine so your main install stays untouched, then flips one byte so the driver stops rejecting the core context.
Step 6 — Launch (the --glversion 4.1core flag is required; 3.2core also works)
Optional — one-click launcher. Save this as ~/Games/mxsim-launch.command and chmod +x it, then just double-click to play:
The whole trick is the one-byte driver patch + the --glversion 4.1core flag. Without both, the gt rejected or crashes falling back to old OpenGL.
Note: the offset 0x31b6b is specific to WineHQ 11.0's 64-bit winemac.so — a different Wine versin elsewhere. If so, look for the je immediately after the "forward-compatible" check (the bytesthere are 84 c0 74 20; change the 74).
Setup: M-series Mac, macOS 26, running the 2026-05-14 64-bit snapshot. Getting 125fps on Alcrest and it plays fine on keyboard — good enough for real use. Totally free: no CrossOver or Parallels needed.
The blocker everyone hits: the modern 64-bit snapshot needs an OpenGL core context, and stock WineHQ's Mac driver refuses to create one — it rejects the request with "OS X only supports forward-compatible 3.2+ contexts" and the game dies instantly. macOS actually supports exactly the context the game wants; Wine is just being overly strict about a flag. CrossOver patches around this, plain WineHQ doesn't. One tiny change to a private copy of Wine fixes it (Wine is LGPL, so editing your own copy is fine).
The paths below are the exact ones I used — adjust if you prefer somewhere else.
Step 1 — Install Rosetta 2 (skip if you already have it)
Code: Select all
softwareupdate --install-rosetta --agree-to-licenseCode: Select all
brew install --cask wine-stable
xattr -dr com.apple.quarantine "/Applications/Wine Stable.app"Code: Select all
export WINEPREFIX="$HOME/Games/mxsim-prefix"
"/Applications/Wine Stable.app/Contents/Resources/wine/bin/wine" winebootThe installer's GUI didn't run cleanly for me, so I extracted it with 7-zip instead. (My installer was at ~/Downloads/mxsimulator-1_13-install.exe and the snapshot at ~/Downloads/mxsimulator/mx-2026-05-14-1684.exe.)
Code: Select all
brew install sevenzip
mkdir -p ~/Downloads/mxs-extract
7zz x -y -o ~/Downloads/mxs-extract ~/Downloads/mxsimulator-1_13-install.exe
# Copy the game data + original exe into the prefix
GAME="$WINEPREFIX/drive_c/Program Files (x86)/MX Simulator"
mkdir -p "$GAME"
cp ~/Downloads/mxs-extract/*.saf ~/Downloads/mxs-extract/CREDITS.TXT "$GAME/"
cp ~/Downloads/mxs-extract/mx.exe "$GAME/mx-1.13-original.exe" # keep a backup
# Drop in the 64-bit snapshot as mx.exe
cp ~/Downloads/mxsimulator/mx-2026-05-14-1684.exe "$GAME/mx.exe"This makes a separate copy of Wine so your main install stays untouched, then flips one byte so the driver stops rejecting the core context.
Code: Select all
# Copy Wine to your home folder
mkdir -p ~/Games/wine-mxsim
ditto "/Applications/Wine Stable.app/Contents/Resources/wine" ~/Games/wine-mxsim/wine
# Patch winemac.so: at offset 0x31b6b change 0x74 (je) to 0xeb (jmp)
python3 -c "
import os
p=os.path.expanduser('~/Games/wine-mxsim/wine/lib/wine/x86_64-unix/winemac.so')
d=bytearray(open(p,'rb').read())
assert d[0x31b6b]==0x74, hex(d[0x31b6b])
d[0x31b6b]=0xeb
open(p,'wb').write(d)
print('patched OK')
"
# Re-sign the patched driver
codesign --force -s - ~/Games/wine-mxsim/wine/lib/wine/x86_64-unix/winemac.soCode: Select all
export WINEPREFIX="$HOME/Games/mxsim-prefix"
cd "$WINEPREFIX/drive_c/Program Files (x86)/MX Simulator"
~/Games/wine-mxsim/wine/bin/wine mx.exe --glversion 4.1coreCode: Select all
#!/bin/bash
export WINEPREFIX="$HOME/Games/mxsim-prefix"
export WINEDEBUG=-all
cd "$WINEPREFIX/drive_c/Program Files (x86)/MX Simulator"
exec "$HOME/Games/wine-mxsim/wine/bin/wine" mx.exe --glversion 4.1core "$@"Note: the offset 0x31b6b is specific to WineHQ 11.0's 64-bit winemac.so — a different Wine versin elsewhere. If so, look for the je immediately after the "forward-compatible" check (the bytesthere are 84 c0 74 20; change the 74).
-
Wahlamt
- Posts: 7971
- Joined: Mon Sep 13, 2010 3:15 pm
- Team: MLG Compton
- Location: Sweden
- Contact:
Re: MX Simulator via Crossover (Mac | Apple Silicon M5)
Thanks Jon, that's awesome! I updated my post that's stuck with this guide in the first post, so anyone that might look into it have a better place to start
-
kawy949
- Posts: 983
- Joined: Sat Feb 11, 2012 11:33 pm
- Location: UK
- Contact:
Re: MX Simulator via Crossover (Mac | Apple Silicon M5)
No worries, I can't take all the credit... Kids took my gaming laptop for the night, so I sat with Claude, some perseverance, experience and lots and lots of coffee! Glad to helped.
-
jlv
- Site Admin
- Posts: 15471
- Joined: Fri Nov 02, 2007 5:39 am
- Team: No Frills Racing
- Contact:
Re: MX Simulator via Crossover (Mac | Apple Silicon M5)
Do you know if this change is going to make it into the official Wine version?
Josh Vanderhoof
Sole Proprietor
jlv@mxsimulator.com
If you email, put "MX Simulator" in the subject to make sure it gets through my spam filter.
Sole Proprietor
jlv@mxsimulator.com
If you email, put "MX Simulator" in the subject to make sure it gets through my spam filter.
-
kawy949
- Posts: 983
- Joined: Sat Feb 11, 2012 11:33 pm
- Location: UK
- Contact:
Re: MX Simulator via Crossover (Mac | Apple Silicon M5)
I don't yet JLV, going to look into whether we can submit a patch request.
