We will install the x86 version Homebrew in order to be able to use Apple's modified version of Wine
and to install the Windows version Steam.
We will make sure that our existing environment (and the Apple silicon version of Homebrew we need for 'serious' work) remains undisturbed.
This guide is only tested for Apple Silicon machines.
- 2024-03-24: Apple's
game-porting-toolkit
currently requires an older version of Apple's command line tool (version 15.1) in order to install successfully! Current Xcode 15.3 will not work! - 2024-03-08: the combination of macOS Sonoma 14.4 and Apple
Game Porting Toolkit
1.1 (release of 2023-11-15), Xcode 15.
- Go to Apple Games in order to download the Game Porting Toolkit
- Command Line Tools for Xcode 15.1 are required to be able to install
Game Porting Toolkit
. WARNING Apple'sgame-porting-toolkit
fails to build with current Xcode or Command line tools 15.3, you must use the older version 15.1 to be able to build the toolkit successfully. You can decide to keep the recent Xcode, and install the older command line tools additionally and usexcode-select -s
to switch between versions.
Get the command line tools here Command line tools 15.1
If you have Xcode concurrent to command line tools installed, you can use xcode-select -p
to check which version is active. The correct output after installation of command line tools 15.1 should be: /Library/Developer/CommandLineTools
. In case a path to Xcode is shown, you can can correct the path with xcode-select -s /Library/Developer/CommandLineTools
.
This contains a Readme that outlines the process, but here we will customize it, in order to run Steam.
- Download Steam. Make sure to download the Windows setup, and not the (default) Mac version. You should now have a file
SteamSetup.exe
.
Note: See Update notes
below, if you did already install an older version!
- The minimum macOS version is macOS Sonoma 14.1, Xcode 15.1 (or Command Line Tools 15.1, newer versions not supported), Game Porting Toolkit v1.1
- This guide only applies to Apple Silicon Macs. No Intel support.
- Open a terminal (or iTerm2)
- Make sure that rosetta is installed by entering:
softwareupdate --install-rosetta
Now your Mac is able to execute x86_64 code. This is the basis for all the following installation.
- Now switch to a x86 shell by entering:
arch -x86_64 zsh
Type arch
again, to make sure that you are using Intel. It should not show arm64
, but i386
( ;-) )
Now, from a terminal that uses x86_64
arch, install homebrew for x86:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
This will install the Intel x86 version of homebrew to /usr/local
. If you already installed homebrew
for Apple Silicon, then that version resides in /opt/homebrew
and won't be touched. This guide will assume that the Apple Silicon
homebrew is your important version, and will remain the default when working with terminal or using brew
. If you do not have
an Apple Silicon version of homebrew installed, don't worry, nothing we do here requires that or modifies any of it.
Do not follow the recommendation at the end of the x86-homebrew install script to put shellenv
into .zprofile
. (That
would put the x86 Version of Homebrew into your paths, conflicting with an Apple Silicon version of homebrew. No paths or
environment modifications are needed in order to proceed!)
In order not to mess up the two homebrew versions, we create an alias for the Intel homebrew:
alias brew86=/usr/local/bin/brew
Note: if you are following Apple's readme, make sure to replace all instances of brew
in Apple's doc with brew86
from now on.
Now we install Apple's homebrew tap:
brew86 tap apple/apple http://github.com/apple/homebrew-apple
brew86 -v install apple/apple/game-porting-toolkit
Note: This starts a rather lengthy install- and compilation process that takes a long time! The compilation process (which can take an hour or more depending on your machine) finished with:
==> game-porting-toolkit
Please follow the instructions in the Game Porting Toolkit README to complete installation.
Instead, in order to continue the initial installation, skip down to Continue with initial installation
Note: This section is only for updates to a new version, once the complete installation was finished successfully before. For initial installation, continue with Continue with initial installation.
- Make sure to use both the latest release of macOS Sonoma, the latest latest release of
game-porting-toolkit
, and updated versions of Command Line Tools for Xcode (or full Xcode itself) together.
If you want to update your x86 homebrew at a later point, start an x86 shell in Terminal with:
arch -x86_64 zsh
then in the x86 shell:
alias brew86=/usr/local/bin/brew
brew86 update
brew86 upgrade
This will update your x86 homebrew environment and automatically build the latest game-porting-toolkit
.
Remember, the build process will take about 30min even on a very fast machine!
Then you will need to download the latest Game Porting Toolkit from apple to update the libraries in your wine prefix. Open the download and:
ditto /Volumes/Game\ Porting\ Toolkit-1.1/redist/lib/ `brew86 --prefix game-porting-toolkit`/lib/
Note: The layout of the game porting toolkit changed between beta 3 and beta 4, since beta 4 the libraries are now in
redist/lib
(beta3 and earlier: justlib
). Also adapt the version of the Toolkit, if necessary.
That's all that's needed for an update. Below information applies only to the initial installation.
When starting the Steam client after an update, remember that the initial first start might take several minutes (patience!), and is not always successful without 'retry': see below for common issues.
If steam doesn't start after an update:
- have patience! First startup of steam seems to take several minutes. Sometimes a huge error-box displayed. Click on the box to make sure it has active input focus and press
Enter
to make it vanish. - When asked, select 'restart Steam' as response to possible errors. In many cases, the steam client at some point does appear!
- try to re-install steam:
WINEPREFIX=~/Win10 /usr/local/opt/game-porting-toolkit/bin/wine64 SteamSetup.exe
, or: - completely remove your homebrew x86 installation at
/usr/local/
and start over. (See below 'Uninstallation Notes' for proper removal.)
- Self-update of steam client gets stuck. Wait for things to 'settle', then restart your computer to eliminate old rogue processes. It might be necessary to manually kill
wine64-preloader
instances before a restart is possible. After restart, the Steam Client update should work fine.
Now create a directory that will contain all the Windows stuff, Steam and any games you download. Here we'll use ~/Win10
,
which is our wine
prefix (Apple uses the example of my-game-prefix
, we'll go with Win10
):
mkdir ~/Win10
WINEPREFIX=~/Win10 `brew86 --prefix game-porting-toolkit`/bin/wine64 winecfg
Note: we use the alias brew86
we defined above.
This should start the winecfg
program, a small setup for our wine
environment.
-
In WineCfg, select
Windows 10
, andApply
, -
Now open the Game Porting Toolkit which you downloaded above in Finder to verify it's mounted.
From your Terminal, it should be available at:
ls /Volumes/Game\ Porting\ Toolkit-1.1/
Make sure you see the files of the toolkit and then:
ditto /Volumes/Game\ Porting\ Toolkit-1.1/redist/lib/ `brew86 --prefix game-porting-toolkit`/lib/
This (silently) copies the required apple libraries into your wine
installation. Note that since beta-4, the libs on the image from Apple are in redist/lib
(older Beta versions: lib
)
Now copy the Windows setup of steam (we assume you downloaded into the default ~/Downloads
folder) into your new Windows drive:
cp ~/Downloads/SteamSetup.exe ~/Win10/drive_c
Now enter your Win10
directory and note the full path of this directory:
cd ~/Win10
pwd
It should say something like /Users/you-user-name/Win10
. This is your wine
-prefix, which you need to use below.
Apple provides a few scripts to start games, which we will not use: gameportingtoolkit
, gameportingtoolkit-no-esync
, and gameportingtoolkit-no-hud
. Open those script with your favorite editor to learn how to configure wine
. The Readme.rtf
or the Game Porting Toolkit explains the differences.
We use what we learned from inspecting the scripts and directly start the Steam setup with:
cd ~/Win10/drive_c
MTL_HUD_ENABLED=0 WINEESYNC=1 WINEPREFIX=~/Win10 /usr/local/opt/game-porting-toolkit/bin/wine64 SteamSetup.exe
This should now start the Steam setup process. Be patient.
- If you get a failure dialog box with several options, as "Restart Steam?", try that, and on continued failure exit the dialog,
- Reboot(!) (There seem to be rogue processes that prevent successful retries without reboot)
- And after reboot, open 'Terminal' and start Steam directly:
cd ~/Win10/drive_c
MTL_HUD_ENABLED=0 WINEESYNC=1 WINEPREFIX=~/Win10 /usr/local/opt/game-porting-toolkit/bin/wine64 Program\ Files\ \(x86\)/Steam/Steam.exe
This took some time (patience!), but then the Steam logon appears! Horray!
Login, and start installing your favorite Windows games...
We can use Apple's 'Shortcuts' app to automate the process of launching Wine & Steam Windows. Start the Shortcuts app, create a new shortcut and add the action 'Run Shell Script'.
The script text is:
cd ~/Win10/drive_c
MTL_HUD_ENABLED=0 WINEESYNC=1 WINEPREFIX=~/Win10 /usr/local/opt/game-porting-toolkit/bin/wine64 Program\ Files\ \(x86\)/Steam/Steam.exe
Note: 'Shortcut' might ask you for confirmation, if you want to run scripts, and you need to enable that via the settings-link provided.
Add an icon to the shortcut, and you are ready to go. The shortcut can be put into the dock, and now you simply can directly start Steam for Windows! (Right-click the shortcut script in the 'Shortcuts' app and select 'Add to dock' to create shortcut for your shortcut in the Shortcuts app...)
- Use Steamclient's GUI menu (Steam / Exit) or the menu bar icon (right-click, 'Exit Steam') to terminate steam. The GUI should display 'Shutting down Steam', indicating a proper termination of all Steam processes.
- Just Ctrl-C-ing in the terminal (or other methods to 'suddenly' terminate Steam will cause crash-bug-workarounds to kick in, restarting Steam automatically again and again...
- See the
Readme.rtf
, section 'Troubleshooting' in Apple'sgame-porting-toolkit
for advice on problems with specific games. - In case you got stuck somewhere during install, follow the 'Uninstallation notes' below before retrying a new installation.
- Uninstall the Intel version of homebrew, following this link to the uninstall-script. Execute this script from a X86-64 Shell created with
arch -x86_64 zsh
. - Simply remove the directory tree that holds your wine-prefix: remove
~/Win10
. - Note: If you want to reinstall, make sure to reboot once to remove any remaining steam or setup processes from memory.
- Good collection of information: Apple Gaming Wiki
- A 'batteries-included' GUI version to get the game-porting-toolkit running: Whisky
- 2024-03-26: Apple's
game_porting_toolit
requires Command Line Tools version 15.1 to build successfully, newer versions are not (yet) supported. - 2024-03-24: Apple's
game_porting_toolkit
is broken, the project currently doesn't install until the build is fixed by Apple. - 2024-03-08: macOS 14.4 testet ok.
- 2023-11-24: Apple Game Porting Toolkit 1.1 changes. Addressed suggestions by @mobigroup and @cdtj concerning username placeholders.
- 2023-10-06: New installations with Xcode 15, Sonoma 14.0 release and
game-porting-toolkit
1.0 retested, ok. - 2023-10-06: Small fixes for release version of
game-porting-toolkit
1.0, Uninstallation and troubleshooting notes. - 2023-09-26: macOS Sonoma 14.0 Release tested ok. No changes.
- 2023-09-24: Retest with Sonoma RC,
game-porting-toolkit
Beta 4 (Note: library path on Apple's IMG has changed fromlib
toredist/lib
. - 2023-08-14: Updates for
game-porting-tookit
Beta 3 alias 1.0.3 and Sonoma Beta 5. (No significant changes to the update procedure). - 2023-07-04: Section Update notes added. Apple has published a new version 1.0.2 of the game-porting toolkit.