MX Simulator via Crossover (Mac | Apple Silicon M5)

Post anything about MX Simulator here. Please. I'm begging you.
Post Reply
Lancer2004
Posts: 326
Joined: Sat Jun 22, 2019 4:50 am
Team: Shitter
Location: Arizona

MX Simulator via Crossover (Mac | Apple Silicon M5)

Post by Lancer2004 »

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
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)

Post by jlv »

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.
Lancer2004
Posts: 326
Joined: Sat Jun 22, 2019 4:50 am
Team: Shitter
Location: Arizona

Re: MX Simulator via Crossover (Mac | Apple Silicon M5)

Post by Lancer2004 »

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.
I got Claude to do some extra research based off of the lastlog files.

"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)

Post by jlv »

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.
Lancer2004
Posts: 326
Joined: Sat Jun 22, 2019 4:50 am
Team: Shitter
Location: Arizona

Re: MX Simulator via Crossover (Mac | Apple Silicon M5)

Post by Lancer2004 »

jlv wrote: Fri Jul 10, 2026 2:33 am 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.
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)

Post by Wahlamt »

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 :lol:
Lancer2004
Posts: 326
Joined: Sat Jun 22, 2019 4:50 am
Team: Shitter
Location: Arizona

Re: MX Simulator via Crossover (Mac | Apple Silicon M5)

Post by Lancer2004 »

Wahlamt wrote: Mon Jul 13, 2026 6:00 pm 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 :lol:
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)

Post by kawy949 »

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)

Post by kawy949 »

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)

Code: Select all

softwareupdate --install-rosetta --agree-to-license
Step 2 — Install WineHQ Wine (stable 11) and clear quarantine

Code: Select all

brew install --cask wine-stable
xattr -dr com.apple.quarantine "/Applications/Wine Stable.app"
Step 3 — Create a Wine prefix

Code: Select all

export WINEPREFIX="$HOME/Games/mxsim-prefix"
"/Applications/Wine Stable.app/Contents/Resources/wine/bin/wine" wineboot
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.)

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"
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.

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.so
Step 6 — Launch (the --glversion 4.1core flag is required; 3.2core also works)

Code: 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.1core
Optional — one-click launcher. Save this as ~/Games/mxsim-launch.command and chmod +x it, then just double-click to play:

Code: 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 "$@"
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).
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)

Post by Wahlamt »

kawy949 wrote: Sat Aug 01, 2026 7:48 am Guide
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)

Code: Select all

softwareupdate --install-rosetta --agree-to-license
Step 2 — Install WineHQ Wine (stable 11) and clear quarantine

Code: Select all

brew install --cask wine-stable
xattr -dr com.apple.quarantine "/Applications/Wine Stable.app"
Step 3 — Create a Wine prefix

Code: Select all

export WINEPREFIX="$HOME/Games/mxsim-prefix"
"/Applications/Wine Stable.app/Contents/Resources/wine/bin/wine" wineboot
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.)

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"
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.

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.so
Step 6 — Launch (the --glversion 4.1core flag is required; 3.2core also works)

Code: 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.1core
Optional — one-click launcher. Save this as ~/Games/mxsim-launch.command and chmod +x it, then just double-click to play:

Code: 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 "$@"
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).
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 :) viewtopic.php?f=17&t=44074
kawy949
Posts: 983
Joined: Sat Feb 11, 2012 11:33 pm
Location: UK
Contact:

Re: MX Simulator via Crossover (Mac | Apple Silicon M5)

Post by kawy949 »

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)

Post by jlv »

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.
kawy949
Posts: 983
Joined: Sat Feb 11, 2012 11:33 pm
Location: UK
Contact:

Re: MX Simulator via Crossover (Mac | Apple Silicon M5)

Post by kawy949 »

jlv wrote: Thu Aug 06, 2026 3:23 am Do you know if this change is going to make it into the official Wine version?
I don't yet JLV, going to look into whether we can submit a patch request.
Post Reply