Skip to content

Instantly share code, notes, and snippets.

@zoeyronain
Created June 16, 2023 07:23
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zoeyronain/0ae67ede5a1bdc9a87b90566ddbf73d4 to your computer and use it in GitHub Desktop.
Save zoeyronain/0ae67ede5a1bdc9a87b90566ddbf73d4 to your computer and use it in GitHub Desktop.
Guide to play Satisfactory on M1 with Epic Games Store

Satisfactory owned on Epic Games Store on MacOS with Game-Porting-Toolkit

Both Early Access and Experimental (Update 8) Work. Experimental has a lot of FPS drops and hitches, but it did just launch a few days ago so it's expected. I can hit ~50fps on a fresh world on ultra on Early Access.

Required things:

Installing the macOS 14 Sonoma Developer Beta

Open System Settings, then click General, then Software Update. Look for the Beta Updates option like below, then click the I next to it, and select the Sonoma Developer Beta:

software update image

When you click the I in Beta Updates

Go ahead and select macOS Sonoma Developer Beta, then Done and it'll check for updates and offer you the developer build. Let it download and install before continuning.

Command Line Tools install

Download the Xcode command line tools from the link above, double click the .dmg and then the Command Line Tools.pkg. follow the installer.

Installing the x64 version of Homebrew

The ARM version of Homebrew will not work for this purpose, you must install the x64 version of it. You can install both on the same system with some important caviets:

to use x64 brew you must append arch -x86_64 before the brew command otherwise it'll run the ARM version.

  • Open Terminal

  • If not already installed install Rosetta 2 with:

    /usr/sbin/softwareupdate --install-rosetta --agree-to-license

  • Once that completes install Homebrew with:

    arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

    Go ahead and use the default options (just hit enter when prompted)

  • Once that's complete add Apple's Homebrew repository:

arch -x86_64 /usr/local/homebrew/bin/brew tap apple/homebrew-apple

and hit enter

Once you're back at the print enter:

arch -x86_64 /usr/local/homebrew/bin/brew install game-porting-toolkit

Hit enter and go get lunch, it took about an hour to compile Crossover and Wine on my M1 Pro MacBook.

Once the porting toolkit is finished building/installing:

  • Make a wineprefix for Satisfactory with:

WINEPREFIX=~/satisfactory arch -x86_64 brew --prefix game-porting-toolkit /bin/wine64 winecfg

  • Double click the Game_porting_toolkit_beta.dmg file you downloaded, agree to the terms that pop up, and head back into terminal and execute
arch -x86_64 ditto /Volumes/Game\ Porting\ Toolkit-1.0/lib/ `brew --prefix game-porting-toolkit`/lib/

to copy the necessary files into the toolkit.

Proper Heroic Launcher build

  • Grab the Heroic Games Launcher build from the link above (Note: you MUST be logged into Github for what we need to appear. Make an account if you need to until it's merged into the official app): What you're looking for

    Click Details next to 'Build macOS / build (pull_request)', then click Summary - Click the mac-arm64 build under Artifacts and let it download:

link to the build

  • Once that is downloaded, unzip it and copy the Heroic.app file to /Applications

  • Go back to terminal and run the command below to let Heroic open, as test builds aren't signed by the developers and macOS will say the file is damaged otherwise:

    xattr -d -r com.apple.quarantine /Applications/Heroic.app

  • Open Heroic, then click Settings -> Game Defaults and see if "Game Toolkit Standalone Wine - wine-7.7" appears. If it does, home stretch.

correct image

  • Click Log in and log into your Epic account. Then go to Library and find Satisfactory and click the blue download icon under it. Let it download.

  • Click the Settings option next to Download/Play under Satisfactory, and click on Other, then enter -d3d12 under Game Arguments to run Satisfactory in DirectX 12 mode.

  • Finally Close out of Settings and hit the Green play button. When it says Visual C++ is missing, would you like to install it? hit yes, and go through the setup wizard for the UE4 prerequisites. This may/will fail at the directX portion of installation, but that's fine. Close out of the installer, and hit play again. After a minute or two you should be rewarded with

Success!

I haven't copied over my saves from PC to give it a serious test yet, but on ultra settings I'm getting 50fps in a fresh world.

@capnslipp
Copy link

capnslipp commented Jun 19, 2023

Awesome, it worked! Much thanks.

A few notes:

  • The whole process seems to go much smoother if you run all commands in a shell that's on Intel/x86_64 itself— so run arch -x86_64 zsh before anything else in each fresh Terminal window. I barely used arch -x86_64 /usr/local/homebrew/bin/brew …, just brew ….
  • Also, it goes much smoother if you don't have Apple Silicon/ARM64 brew installed at all (there should be no /opt/homebrew dir on your system). Still, I was frequently checking brew config to make sure it reported “Rosetta 2: true”.
  • I had the hardest time getting brew to install game-porting-toolkit— it kept failing on a step where it tries to use svn and tells you to run brew install svn, even if svn is already installed.
    The problem for me was what seems to be a misconfigured brew install (fresh installed as instructed in the GPTK instructions and your instructions) where brew config reports HOMEBREW_PREFIX: /usr/local/Homebrew (should be /usr/local) and brew doctor also complains about the incorrect prefix.
    The solution for me was to add export HOMEBREW_PREFIX="/usr/local"; eval "$(/usr/local/bin/brew shellenv)" to my ~/.zprofile prior to installing homebrew (and after installing, making sure the only warning brew doctor reports is “Warning: You are using macOS 14.”).
  • I believe WINEPREFIX=~/satisfactory arch -x86_64 brew --prefix game-porting-toolkit /bin/wine64 winecfg is meant to be:
    WINEPREFIX=~/satisfactory arch -x86_64 `brew --prefix game-porting-toolkit`/bin/wine64 winecfg
  • I'm not clear why we created a Wine prefix at ~/satisfactory— Heroic seems to create its own under ~/Games/Heroic/Prefixes/default/Satisfactory Early Access. Should I be using that prefix in Heroic's game settings for WinePrefix folder, or am I missing something else?
  • I didn't set ~/satisfactory as my game's WinePrefix in Heroic, so I also had to hit the WINECFG button and change Windows Version to Windows 10 (Satisfactory was complaining on launch that DX12 isn't supported prior to that).
  • Satisfactory Experimental (Update 8) works too!!

Again, thanks for the write-up!

@zoeyronain
Copy link
Author

I'll go bullet point by bullet point

  • True. A lot of that was just pasted in from the apple docs and my terminal at the same time.
  • I didn't have ARM64 brew at all because It wasn't working before a wipe (turns out I was using a mix of X86_64 and ARM64 brew commands before I reinstalled)
  • didn't ask me to install svn and this was the first thing I did with brew, that one is odd, maybe it requires it now?
  • Yeah, I was having major issues with `` escaping in this. I was tired as I finished this up
  • I was going by the apple directions and did it line by line, I had set Heroic to use that wineprefix thinking that may have been why it didn't work my first attempt.

I'll update my guide tomorrow when I'm more awake, thank you for the notes!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment