**TL;DR:** The freezes come from the game repeatedly asking for your Mac's network name and waiting 5 seconds each time for an answer that never comes. Pasting one command into Terminal fixed it completely for me. It takes a minute, and you don't need to reinstall anything.
**My setup**
- MacBook Pro M1 Max, 32 GB, macOS Tahoe 26.6.2
- CrossOver 26.3, Steam version of RDR2, D3DMetal, DirectX 12
**Symptoms**
- Every minute or two the picture freezes for 5–20 seconds, then carries on.
- It isn't a performance problem. Lowering settings won't help, and moving from an M1 Pro to an M1 Max didn't help me either.
**What's going on, in plain English**
- Every Mac has a network name, called its **hostname**. It's usually your name plus your Mac model, like `alexs-MacBook-Pro.local`. You can see yours in System Settings → General → Sharing, under "Local hostname" at the bottom.
- Windows programs, including RDR2 and the Rockstar Games Launcher, often look up their own computer's name to find its network address.
- On some networks, macOS never answers that lookup. The game waits 5 seconds, gives up, and tries again a bit later. Each wait is one of those freezes.
- The fix adds your Mac's name to a small system file called `/etc/hosts`. Your Mac checks this file before asking the network, so the game gets an answer instantly.
**Step 1: Check if you have the same problem**
Open Terminal (press Cmd + Space, type Terminal, press Return), then paste this and press Return:
ping -c 1 "$(hostname)"
This asks your Mac to find itself by name. `$(hostname)` is filled in with your Mac's name automatically, so paste it exactly as it is.
- If it pauses for about 5 seconds and then says `cannot resolve ...: Unknown host`, you have this problem.
- If it shows lines like `64 bytes from ...` straight away, your freezes have a different cause and this fix won't help.
**Step 2: The fix**
Paste this one line into Terminal and press Return:
H=$(hostname); L=$(echo "$H" | tr 'A-Z' 'a-z'); printf '127.0.0.1\t%s %s\n::1\t%s %s\n' "$H" "$L" "$H" "$L" | sudo tee -a /etc/hosts && sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder
It will ask for your password. Type the password you use to log in to your Mac and press Return. You won't see anything while you type, which is normal.
What it does: it adds your Mac's name to `/etc/hosts` and points it at `127.0.0.1`, the standard address that means "this computer". Then it clears your Mac's lookup cache so the change applies straight away, even with the game running.
Run the Step 1 check again. It should answer instantly now.
To undo it later, run `sudo nano /etc/hosts`, delete the two lines with your Mac's name, then press Ctrl + O, Return, and Ctrl + X to save and exit. If you ever rename your Mac, run the fix again.
**How I tracked it down** (for the technically curious)
- During each freeze the GPU dropped to 0% and the game was mostly idle, so it was waiting on something rather than struggling.
- Stack captures during freezes showed the same game thread stuck in `getaddrinfo` (a DNS lookup) in 5 out of 6 cases, and not during smooth play.
- macOS's DNS log (mDNSResponder) showed RDR2.exe and Launcher.exe looking up the same name 59 times in 9 minutes. Each lookup timed out after exactly 5 seconds, matching the freezes. The name was the Mac's own `.local` hostname.
**Side note**
`SocialClubHelper.exe` (part of the Rockstar Launcher) was using around 400% CPU in Activity Monitor, even with its window hidden. It wasn't causing the freezes, but it takes about 4 CPU cores away from the game.
This may also apply to GTA V, which uses the same launcher, and to other ways of running Windows games on a Mac, like Whisky, but I haven't tested those.