Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.

Difference between revisions of "Game Porting Toolkit"

From AppleGamingWiki, the wiki about gaming on M1 Apple silicon Macs
(Nvm, I failed to check Heroic progressed in that area.)
Line 145: Line 145:
  
 
Installing individual exe games is as simple as running the installer using any of the commands above. If it does not require installation, just open your Wine prefix’s virtual C: drive in Finder (<code>open ~/my-game-prefix/drive_c</code>) and copy your game into an appropriate subdirectory.
 
Installing individual exe games is as simple as running the installer using any of the commands above. If it does not require installation, just open your Wine prefix’s virtual C: drive in Finder (<code>open ~/my-game-prefix/drive_c</code>) and copy your game into an appropriate subdirectory.
 +
 +
=== Replacement ===
 +
A defect of <code>gameportingtoolkit</code> is that it only takes two arguments: the prefix and the exe path. This disallows passing any extra argument (e.g. a <code>-dx11</code> or <code> -debug_mode</code> flag) to your exe; going back to the real ''wine64'' program removes this restriction. A custom shell function can be used to simplify the call:
 +
<pre>
 +
wine-gptk(){ WINEESYNC=1 WINEPREFIX=~/my-game-prefix $(brew --prefix game-porting-toolkit)/bin/wine64 "$@"; }
 +
</pre>
 +
 +
The above function can be written to <code>~/.zshrc</code> so it stays loaded in the shell. <code>wine-gptk 'C:\Program Files (x86)\Steam\steam.exe'</code> would be functionally the same as example B. The difference is that you can pass arguments like <code>wine-gptk notepad 1.txt</code> or <code>wine-gptk imperator.exe -debug_mode</code>.
 +
 +
(The issue does not prevent gaming platforms like Steam from launching games with the required flags. It only prevents you from passing flags from the exe you are directly opening.)
  
 
== Installing gaming platforms==
 
== Installing gaming platforms==

Revision as of 15:31, 6 September 2023

Released 6th June, 2023 at WWDC23.
Released 6th June, 2023 at WWDC23.

Game Porting Toolkit is Apple's new translation layer released on 6th June, 2023. Game Porting Toolkit (GPTK) combines Wine with Apple's own D3DMetal which supports DirectX 11 and 12[1]. This is a less user-friendly method of installing Windows games on Apple Silicon Macs compared to CrossOver or Parallels, however it unlocks the ability to play many DirectX 12 games. A lot more games work using GPTK, however, games that use anti-cheat or aggressive DRMs generally don't work, along with games that require AVX/AVX 2,[2] e.g. The Last of Us Part I.

Toolkit install instructions

Automated Installer

  • A new open source installer which automates the steps found in the Homebrew approach below is now available from InstallAware's GitHub Repo. Scroll down where they have a screenshot of their graphical user interface, and download the DMG from the link right above that.
  • The automated installer is notarized by Apple, so has no known malware and runs as soon as you've double-clicked it without any Gatekeeper concerns.
  • Neither macOS Sonoma nor an Apple Silicon device are required by the automated installer.
  • You also won't need to download the Game Porting Toolkit DMG from Apple, although if available, it will be utilized (you just point the installer to the DMG download, and it takes care of the rest). Of course, in this scenario, you would still need macOS Sonoma and an Apple Silicon device to enjoy 3D acceleration benefits.
  • The automated installer also doubles up as a GUI to launch existing installed apps, all visually without ever having to drop down to the command line.

Requirements

  • macOS Sonoma should be used, currently it is in beta. You can download the pkg installer from Mr Macintosh blog.
  • macOS Ventura causes large numbers of issues with steamwebhelper.exe crashing so it isn't recommended, use the macOS Sonoma beta.
  • Visit Apple Developer Downloads site, these files are now free to download use for any logged in Apple account.
    • Search for Command Line Tools for Xcode 15 beta and download the dmg file, and run the contained pkg file.
      • If you have an old version Xcode installed, remove it.
    • Search for Game Porting Toolkit and download it. Open/mount the dmg file (some commands will require that it is mounted).

Macports

Macports option ADVANCED USERS ONLY

(Optional)

if you want install under Macports here is the guide change directory into /opt

 cd /opt

clone the repository for macports-wine

 sudo git clone https://github.com/Gcenx/macports-wine

follow this guide to configure the local repository then sync https://guide.macports.org/#development.local-repositories

 sudo port sync 

you are ready to install first install game-porting-toolkit-d3dmetal , it will fail at first , follow the steps it gives you which tells you where to put the game porting toolkit dmg

 sudo port install game-porting-toolkit-d3dmetal

next you install the porting toolkit itself and you should be good to move onto the Wine Prefix section in this guide, keep in mind it might fail the first time or two , but it might just need a retry; if it still doesn't work after a couple tries please report issues to https://github.com/Gcenx/macports-wine/issues

 sudo port install game-porting-toolkit

Keep in mind instead of brew --prefix you will need to replace it with the wine from macports path, /opt/local/libexec/game-porting-toolkit/bin/wine64 ; and gameportingtoolkit itself should be in path and if not its under /opt/local/bin/gameportingtoolkit

Homebrew

Note: if you have ever installed Homebrew before, then it is advised to remove ARM64 Homebrew as this can interfere with this build process. Either use a Homebrew uninstall script or delete the folder /opt/homebrew/bin. If you prefer to keep both ARM64 and x86 versions of brew installed, you may add a "brew-switcher" to your .zshrc file to allow either version to be used depending on the active architecture. You may follow the steps at the end of this section after installing Brew to achieve this.

Open Terminal (search in Spotlight on macOS).

Install Rosetta:

softwareupdate --install-rosetta

Enter an x86_64 shell to continue the following steps in a Rosetta environment. All subsequent commands should be run within this shell.

arch -x86_64 zsh

Install the x86_64 version of Homebrew if you don't already have it.

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

Set the path:

(echo; echo 'eval "$(/usr/local/bin/brew shellenv)"') >> ~/.zprofile
eval "$(/usr/local/bin/brew shellenv)"

Make sure the brew command is on your path:

which brew

If this command does not print /usr/local/bin/brew, you should use this command:

export PATH=/usr/local/bin:${PATH}
Optionally retain both ARM64 and x86 versions of Brew

(Optional) If you want to have both ARM64 and x86 versions of Brew installed, begin by editing your .zshrc file:

nano ~/.zshrc

Scroll down (by using the arrow keys or Control + V) to the bottom of the file, and paste the following script:

if [ "$(arch)" = "arm64" ]; then
    eval "$(/opt/homebrew/bin/brew shellenv)"
else
    eval "$(/usr/local/bin/brew shellenv)"
fi

You may now restart your terminal and use the following command to return to an x86_64 shell:

arch -x86_64 zsh

Your shell will now select the right installation of Brew, depending on your architecture.

(For bash holdovers: zsh instructions above also apply to bash. Just replace .zshrc with .bashrc and .zprofile with .bash_profile.)

Build

Run this command to download Apple tap:

brew tap apple/apple http://github.com/apple/homebrew-apple

Install the game-porting-toolkit formula. This formula downloads and compiles several large software projects. How long this takes will depend on the speed of your computer. It can take over 1 hour to complete depending on the speed of your Mac.

brew -v install apple/apple/game-porting-toolkit

If during installation you see an error such as “Error: game-porting-toolkit: unknown or unsupported macOS version: :dunno”, your version of Homebrew doesn’t have macOS Sonoma support. Update to the latest version of Homebrew and try again.

brew update ; brew -v install apple/apple/game-porting-toolkit

Ensure the toolkit is already on latest version

Ensure you're in an x86_64 shell to continue the following steps in a Rosetta environment. All subsequent commands should be run within this shell, re-run if you're unsure if you're in correct shell or just doing an update.

arch -x86_64 zsh

Run Homebrew to gather potential updates and upgrade Apple's GPTK formula:

brew update && brew upgrade apple/apple/game-porting-toolkit

If you're updating from previous release, make sure to repeat #Preparing the toolkit section below.

On base M1 takes around ~48 mins to update, clean install takes ~75mins, for comparison M2 Max: ~19mins to update, 36mins for clean install.

Preparing the toolkit

Make sure the Game Porting Toolkit dmg downloaded earlier is mounted at /Volumes/Game Porting Toolkit-1.0. Use this script to copy the Game Porting Toolkit library directory into Wine’s library directory.

ditto /Volumes/Game\ Porting\ Toolkit-1.0/redist/lib/ `brew --prefix game-porting-toolkit`/lib/

If for some reason you are installing a previous version of Game Porting Toolkit, refer to the Read Me.rtf file on that disk image for the correct command to copy the D3DMetal libraries.

Put the 3 scripts from the Game Porting Toolkit DMG into here /usr/local/bin using this command:

cp /Volumes/Game\ Porting\ Toolkit*/gameportingtoolkit* /usr/local/bin

Wine prefix

A Wine prefix contains a virtual C: drive, similar to a Bottle in CrossOver. You will install the toolkit and your game into this virtual C: drive. Run the following command to create a new Wine prefix named my-game-prefix in your home directory. This will create a Wine prefix called my-game-prefix but could be renamed to anything.

WINEPREFIX=~/my-game-prefix $(brew --prefix game-porting-toolkit)/bin/wine64 winecfg
  • A “Wine configuration” window should appear on your screen.
  • Change the version of Windows to Windows 10.
  • Choose Apply and then OK to exit winecfg.

If the “Wine configuration” window does not appear, and no new icon appears in the Dock, verify that you have correctly installed the x86_64 version of Homebrew as well as the game-porting-toolkit formula.

Now you are ready to install a launcher or individual Windows games into this Wine prefix, see below.

Commands

The dmg ships with three scripts starting with gameportingtoolkit to simplify the use of GPTk.

A. Standard launching
gameportingtoolkit ~/my-game-prefix 'C:\Program Files (x86)\Steam\steam.exe'
This launches the given Windows game binary with a visible extended Metal Performance HUD and filters logging to output from the Game Porting Toolkit.
This is exactly the same as MTL_HUD_ENABLED=1 WINEESYNC=1 WINEPREFIX=~/my-game-prefix $(brew --prefix game-porting-toolkit)/bin/wine64 'C:\Program Files (x86)\Steam\steam.exe'.
B. Launching without a HUD
gameportingtoolkit-no-hud ~/my-game-prefix 'C:\Program Files (x86)\Steam\steam.exe'
This is like the above, but without MTL_HUD_ENABLED=1.
C. Launching with Wine ESYNC disabled
gameportingtoolkit-no-esync ~/my-game-prefix 'C:\Program Files (x86)\Steam\steam.exe'
This is again like the basic one, except without WINEESYNC=1. ESYNC is good for performance, but may occasionally suffer from compatibility issues.

To run Winecfg:

gameportingtoolkit ~/my-game-prefix winecfg

Installing individual exe games is as simple as running the installer using any of the commands above. If it does not require installation, just open your Wine prefix’s virtual C: drive in Finder (open ~/my-game-prefix/drive_c) and copy your game into an appropriate subdirectory.

Replacement

A defect of gameportingtoolkit is that it only takes two arguments: the prefix and the exe path. This disallows passing any extra argument (e.g. a -dx11 or -debug_mode flag) to your exe; going back to the real wine64 program removes this restriction. A custom shell function can be used to simplify the call:

wine-gptk(){ WINEESYNC=1 WINEPREFIX=~/my-game-prefix $(brew --prefix game-porting-toolkit)/bin/wine64 "$@"; }

The above function can be written to ~/.zshrc so it stays loaded in the shell. wine-gptk 'C:\Program Files (x86)\Steam\steam.exe' would be functionally the same as example B. The difference is that you can pass arguments like wine-gptk notepad 1.txt or wine-gptk imperator.exe -debug_mode.

(The issue does not prevent gaming platforms like Steam from launching games with the required flags. It only prevents you from passing flags from the exe you are directly opening.)

Installing gaming platforms

Steam

Download the Windows version of Steam and place in your Downloads folder.

Install Steam

gameportingtoolkit ~/my-game-prefix ~/Downloads/SteamSetup.exe

Run Steam

gameportingtoolkit ~/my-game-prefix 'C:\Program Files (x86)\Steam\steam.exe'

Log into Steam

A common issue is that Steam will present with a blank black window. Try the #Steam login black screen section.

Battle.net

Download the Windows version of Battle.net and place in your Downloads folder.

Make a new Wineprefix for Battle.net, you can choose to use my-game-prefix or change this to anything else.

WINEPREFIX=~/my-game-prefix $(brew --prefix game-porting-toolkit)/bin/wine64 winecfg
  • A “Wine configuration” window should appear on your screen.
  • Change the version of Windows to Windows 10.
  • Choose Apply and then OK to exit winecfg.

If you are running Diablo IV, then you need to run this script to update the Wineprefix to appear as a more recent version of Windows:

WINEPREFIX=~/my-game-prefix $(brew --prefix game-porting-toolkit)/bin/wine64 reg add 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' /v CurrentBuild /t REG_SZ /d 19042 /f
WINEPREFIX=~/my-game-prefix $(brew --prefix game-porting-toolkit)/bin/wine64 reg add 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' /v CurrentBuildNumber /t REG_SZ /d 19042 /f
WINEPREFIX=~/my-game-prefix $(brew --prefix game-porting-toolkit)/bin/wineserver -k

Run Battle.net launcher

gameportingtoolkit ~/my-game-prefix ~/Downloads/Battle.net-Setup.exe

Be aware that there is an issue launching Battle.net once installed, the only current way to re-login is to 'install' the launcher again.

Start individual game without the launcher using this command:

arch -x86_64 gameportingtoolkit-no-hud ~/my-game-prefix 'C:\Program Files (x86)\Diablo IV\Diablo IV Launcher.exe'

Epic / GOG.com / Amazon Prime Gaming support with the Heroic Games Launcher

This is particularly useful because as it currently stands, the real Epic Games Launcher fails to install under the Game Porting Toolkit. Heroic supports Epic / GOG / Amazon Prime games.

  1. Install the native macOS Heroic Games Launcher or from Homebrew [Requires 2.9.0 and/or newer]:
    • Ensure you're using ARM zsh:
      arch -arm64e zsh
    • Install Heroic's cask:
      brew install --cask heroic
  2. Go to Settings > Game Defaults > Make sure GPTK is selected as preferred method.
  3. Check ESYNC and Show Stats Overlay eventually you can use environment variables explained above.
  4. Make sure your Game Porting Toolkit Wine Prefix is selected. If you followed Apple's guide this is /Users/$USER/my-game-prefix.
  5. If you open Settings > Other section you can also enable ESYNC and Metal HUD by add any environment variables you want like WINEESYNC=1 and MTL_HUD_ENABLED=1. Removing them or setting to 0 will disable them.
  6. Install and test desired game.

Shortcut

Icon made by user Omsier.
Icon made by user Omsier.

You can make a shortcut for Steam for example by using macOS built-in Automator app.

  • Open Automator.
  • Select New Application.
  • In the 2nd column select Run Shell Script.
  • Copy and paste this code into the box:
#!/bin/zsh

export PATH="/usr/local/bin:${PATH}"

arch -x86_64 gameportingtoolkit ~/my-game-prefix 'C:\Program Files (x86)\Steam\steam.exe'
  • Save the shortcut somewhere e.g. Applications.
  • Above shortcut can be customised to any Wineprefix or game.
  • Add an icon by selecting the shortcut, pressing Command+I to Get Info, then dragging and dropping a PNG file onto the top left of the window.

Logging

The provided bin/gameportingtoolkit* scripts can be copied onto your path to facilitate different forms of logging and launching. You can run these scripts from any shell; you don’t need to switch to the Rosetta environment first.

Logging output will appear in the Terminal window in which you launch your game as well as the system log, which can be viewed with the Console app found in Applications ▸ Utilities. Log messages from the Game Porting Toolkit are prefixed with D3DM. By default the gameportingtoolkit* scripts will filter to just the D3DM-prefixed messages.

Troubleshooting

Steam login black screen

Steam login black screen issue.
Steam login black screen issue.
Alternate Steam launch command

Close the Terminal window and then reopen and retry the command, repeat several times.

Alternate way of launching Steam (after installing):

MTL_HUD_ENABLED=1 WINEESYNC=1 WINEPREFIX=~/my-game-prefix /usr/local/Cellar/game-porting-toolkit/1.0.4/bin/wine64 'C:\Program Files (x86)/Steam/steam.exe'

If still not working then try using CrossOver and create a Steam bottle, then login, then redirect this WINEPREFIX to that bottle:

WINEPREFIX="/Users/$USER/Library/Application Support/CrossOver/Bottles/Steam/" /usr/local/Cellar/game-porting-toolkit/1.0.4/bin/wine64 'C:\Program Files (x86)/Steam/steam.exe'
Use macOS Steam login[3]
  1. Login to Steam macOS.
  2. From /Users/$USER/Library/Application Support/Steam, copy three files/folders: config, registry.vdf, userdata.
  3. Paste into ~/my-game-prefix/drive_c/Program Files (x86)/Steam/

Steam crashes straight after opening

Disconnect external monitors[4]

Disconnect any external monitors, or alternatively stop mirroring the screen.

Battle.net launcher won't re-launch

Re-install the launcher to reopen, no other fix at the moment.

Windows version too old

Windows version too old[5]

My game won’t run because it thinks the version of Windows is too old. Some games detect specific minimum versions of Windows and need to be updated. Use this script to update your wineprefix with build 19042 which should work for most games e.g. Spider-Man Remastered.

WINEPREFIX=~/my-game-prefix $(brew --prefix game-porting-toolkit)/bin/wine64 reg add 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' /v CurrentBuild /t REG_SZ /d 19042 /f
WINEPREFIX=~/my-game-prefix $(brew --prefix game-porting-toolkit)/bin/wine64 reg add 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' /v CurrentBuildNumber /t REG_SZ /d 19042 /f
WINEPREFIX=~/my-game-prefix $(brew --prefix game-porting-toolkit)/bin/wineserver -k

steamwebhelper.exe crashes

This is caused by Steam being run through macOS Ventura or below, most users should upgrade to macOS Sonoma. You can use the CrossOver workaround to login to Steam but you'll experience constant crashing.

Nothing loads after a crash

Try closing all Wine threads:

killall -9 wineserver && killall -9 wine64-preloader

Anti-cheat and DRM

Anti-cheat (e.g. Easy Anti Cheat) and DRM (e.g. Denuvo) are long known to be incompatible with wine, because they hook into undocumented nooks and crannies in the Windows system. Some games have workarounds e.g. Elden Ring. For other games, you need to wait until the DRM is removed by the game's developer.

My game won’t run because it requires Mono, .NET, or the MSVCRT runtime

For the example of VC Redistributable, download the x64 version here: https://aka.ms/vs/17/release/vc_redist.x64.exe

WINEPREFIX=~/my-game-prefix $(brew --prefix game-porting-toolkit)/bin/wine64 vc_redist.x64.exe

Generic commands:

WINEPREFIX=~/my-game-prefix $(brew --prefix game-porting-toolkit)/bin/wine64 <some-installer.exe>

And .MSI packages can be installed by launching the Windows uninstaller application and choosing to install a downloaded .msi package:

WINEPREFIX=~/my-game-prefix $(brew --prefix game-porting-toolkit)/bin/wine64 uninstaller

My game won’t boot anymore even though I made no changes.

If the game stopped booting without being updated, you can try clearing the D3DMetal shader cache. Run the following commands:

cd $(getconf DARWIN_USER_CACHE_DIR)/d3dm
cd GAME_NAME
rm -r shaders.cache

Do you have a different problem or other feedback?

Please let us know through https://feedbackassistant.apple.com.

Controller issues

Steam beta[6]

Issues may be fixed by enrolling into the Steam beta.

Steam Big Picture Mode Controller Settings[7]

Right click on the game -> Properties -> Controller -> Override for "Game Name" -> Disable Steam Input

Preventing Launchpad from opening when pressing home

This is useful especially when using Steam's Big Picture mode.
Paste this command in terminal :

defaults write com.apple.GameController bluetoothPrefsMenuLongPressAction -integer 0

Disabling share button (Optional) :

defaults write com.apple.GameController bluetoothPrefsShareLongPressSystemGestureMode -integer -1

My game looks pixelated and the display resolution is limited

Enable Retina mode

Enable Retina (high resolution) mode:

WINEPREFIX=~/my-game-prefix $(brew --prefix game-porting-toolkit)/bin/wine64 reg add 'HKEY_CURRENT_USER\Software\Wine\Mac Driver' /v RetinaMode /t REG_SZ /d 'Y' /f

Some games will not run with Retina mode enabled. To disable it:

WINEPREFIX=~/my-game-prefix $(brew --prefix game-porting-toolkit)/bin/wine64 reg add 'HKEY_CURRENT_USER\Software\Wine\Mac Driver' /v RetinaMode /t REG_SZ /d 'N' /f

AVX

AVX and AVX2 games are not supported by Rosetta on Apple Silicon (arm64). Such games include:

List may contain games with Mac port available or with already known AVX bypass fixes. Feel free to update this section just like in Dying Light 2's case.

AVX requirement can be bypassed in some games, e.g Dying Light 2.

AVX Fix for Dying Light 2[8]

There is a workaround in Dying Light 2 which is to simply remove/rename the "runtime_dx11.dll"

  1. Right click on DL2 on steam
  2. Manage
  3. Local files
  4. Navigate to "ph\work\bin\x64"
  5. Rename "runtime_dx11.dll" to "runtime_dx11.dll.bak"
  6. Start the game

If for some reason you need the "runtime_dx11.dll" back, just remove the ".bak" or verify game files integrity in steam

Game compatibility list

Total number of games: 188
This list was last refreshed on November 24, 2024. Purge the page to refresh it.

Note: this list is querying any Wine compatibility, not specifically GPTK. Compatibility status on this table does not necessarily represent GPTK compatibility.


Game Rating
7 Days to Die Perfect
Age of Empires II: Definitive Edition Playable
Age of Empires II: HD Edition Playable
Age of Mythology: Extended Edition Perfect
Age of Wonders 4 Runs
Aliens: Fireteam Elite Perfect
Among Us Playable
Annie and the Art Gallery Perfect
Astroneer Perfect
Batman Arkham Knight Perfect
Battlefield 3 Playable
Battlefield 5 Playable
BeamNG.drive Runs
BioShock Infinite Runs
Boson X Perfect
Bright Lights of Svetlov Playable
Brotato Perfect
Capcom Fighting Collection Perfect
Cities: Skylines II Playable
Clustertruck Perfect
Codename: Loop Perfect
Cogmind Perfect
Control Perfect
Counter-Strike 2 Perfect
Crime Scene Cleaner Perfect
Cult Of The Lamb Perfect
Cuphead Perfect
Cyberpunk 2077 Perfect
Dark Souls Remastered Perfect
Days Gone Playable
Dead Space Perfect
Deadlock Perfect
Definitely Not Fried Chicken Perfect
Deus Ex Runs
Diablo II Perfect
Diablo IV Perfect
Disco Elysium Perfect
Dishonored Playable
DRAFTYCAR Runs
DREDGE Perfect
Dying Light Perfect
Elden Ring Perfect
Elite: Dangerous Playable
EVE Online Perfect
Everspace 2 Perfect
F1 2020 Perfect
Fallout 4 Playable
Fallout Shelter Perfect
Fallout: New Vegas Playable
Farthest Frontier Playable
Final Fantasy VII Remake Intergrade Perfect
Final Fantasy XIV Perfect
Final Fantasy XV Perfect
Firewatch Perfect
Floating Point Perfect
Freeways Perfect
Genshin Impact Perfect
Geometry Dash Perfect
Ghost of Tsushima Director's Cut Perfect
Ghostrunner Playable
God of War Playable
Grand Theft Auto V Perfect
Grim Dawn Perfect
GTFO Playable
Guild Wars 2 Perfect
Guilty Gear Strive Perfect
Gunfire Reborn Perfect
Half-Life 2 Perfect
Halo 3 Playable
Halo: Reach Perfect
Hatsune Miku: Project DIVA Mega Mix+ Perfect
Hellblade: Senua's Sacrifice Playable
Heroes of Might and Magic III Perfect
High On Life Perfect
Hitman 3 Playable
Hogwarts Legacy Perfect
Horizon zero dawn Perfect
Hot Wheels Unleashed Perfect
Hotline Miami Playable
House flipper 2 Perfect
It Takes Two Playable
Jazz Jackrabbit 2 Perfect
Jected - Rivals Playable
Journey Perfect
Killer7 Perfect
Kingdom Come: Deliverance Playable
L.A. Noire Runs
Left 4 Dead 2 Playable
Lego Star Wars: The Skywalker Saga Perfect
Lethal Company Perfect
Magicite Perfect
Manor Lords Perfect
Marvel’s Spider-Man Remastered Playable
Mass Effect Legendary Edition Perfect
Mass Effect: Andromeda Playable
Master of Olympus: Zeus Gold (AKA: Zeus + Poseidon) Playable
Max Payne Runs
Metal Gear Solid V: The Phantom Pain Playable
METALLIC CHILD Perfect
Metro 2033 Redux Perfect
Muck Perfect
My Hero Ultra Rumble Perfect
NASCAR Heat 5 Runs
Necromunda: Hired Gun Playable
NieR: Automata Perfect
Noita Perfect
One piece odessey Perfect
Osu! Perfect
Outer Wilds Playable
Paladins Perfect
Palia Perfect
Palworld Perfect
Parkasaurus Perfect
Party animals Perfect
Path of Exile Perfect
Pathologic 2 Runs
Penumbra Overture Playable
Persona 3 Reload Perfect
Persona 5 Tactica Perfect
Planet of Lana Perfect
PlateUp! Perfect
Portal Playable
Portal 2 Playable
Potion Craft: Alchemist Simulator Perfect
PowerWash Simulator Perfect
Project Zomboid Perfect
Raft Perfect
Ready or Not Perfect
Remnant: From the Ashes Perfect
Resident Evil 2 (2019) Playable
Resident Evil 3 (2020) Playable
Risk of Rain 2 Perfect
Risk of Rain Returns Playable
Rocket League Playable
ROUNDS Perfect
S.T.A.L.K.E.R.: Shadow of Chernobyl Perfect
Sable Perfect
Satisfactory Playable
Scarlet Nexus Playable
Sekiro: Shadows Die Twice Playable
Slime Rancher Perfect
Slime Rancher 2 Perfect
Soul Calibur 6 Playable
Spore Playable
Spyro Reignited Trilogy Playable
Star Trek Online Playable
Star Wars Episode I: Racer Playable
Star Wars Jedi: Fallen Order Perfect
Super Hexagon Playable
System Shock: Enhanced Edition Perfect
Team Fortress 2 Perfect
Teardown Perfect
Tell Me Why Perfect
Tetris Effect: Connected Playable
The Elder Scrolls IV: Oblivion Runs
The Elder Scrolls V: Skyrim Special Edition Perfect
The Escapists 2 Perfect
The Evil Within Perfect
The Evil Within 2 Perfect
The Forest Perfect
The Karters 2: Turbo Charged Perfect
The Sims 4 Perfect
The Stanley Parable: Ultra Deluxe Playable
The Witcher Playable
The Witcher 3 Playable
This Bed We Made Perfect
Thumper Perfect
Tomb Raider I-III Remastered Perfect
Torchlight II Runs
Train Simulator 2021 Perfect
Ultimate Fishing Simulator Perfect
Valheim Playable
Vampyr Playable
Warhammer 40,000: Boltgun Playable
Wattam Runs
Wreckfest Playable
XIII Perfect
Yakuza 0 Perfect
Yu-Gi-Oh! Duel Links Perfect


Game Rating
Age Of Mythology: Retold Unplayable
Animal Well Unplayable
Atomic Heart Unplayable
Batman: Arkham Asylum Menu
Batman: Arkham Origins Unplayable
Battle Brothers Unplayable
Borderlands 2 Unplayable
Civilization VI Unplayable
Code Vein Unplayable
Death Stranding Unplayable
Deathloop Unplayable
Deus Ex: Human Revolution - Director's Cut Unplayable
Doom (2016) Unplayable
Doom Eternal Unplayable
F1 22 Unplayable
Fall Guys: Ultimate Knockout Unplayable
FIFA 22 Menu
Final Fantasy XVI Unplayable
Fortnite Unplayable
Ghostwire tokyo Menu
Goose Goose Duck Unplayable
Grand Theft Auto IV Unplayable
Just Cause 3 Unplayable
Just Cause 4 Menu
Mafia III Unplayable
Mafia: Definitive Edition Unplayable
Maplestory Unplayable
Middle-earth: Shadow of Mordor Unplayable
Minecraft: Dungeons Unplayable
Mount and Blade II: Bannerlord Unplayable
NASCAR 21: Ignition Menu
Ori and the Blind Forest: Definitive Edition Unplayable
Overwatch 2 Unplayable
Persona 4 Golden Unplayable
Persona 5 Unplayable
Polygon Unplayable
Railway Empire Unplayable
Red Dead Redemption 2 Unplayable
Resident Evil Unplayable
Resident Evil 5 Unplayable
Resident Evil 7 Unplayable
Resident Evil Revelations 2 Unplayable
Resident Evil Village Unplayable
RFactor 2 Unplayable
SCP Secret Laboratory Unplayable
Shadow Tactics: Blades of the Shogun Menu
Shadowrun Returns Unplayable
Sniper elite 4 Unplayable
Sniper: Ghost Warrior Contracts Menu
Sniper: Ghost Warrior Contracts 2 Menu
Sonic Frontiers Unplayable
Sonic Origins Unplayable
Space engine Unplayable
Space Engineers Menu
Star Wars: Empire at War Unplayable
Terraria Unplayable
The Last of Us Unplayable
Titanfall 2 Unplayable
Tom Clancy's Rainbow Six Siege Unplayable
Trackmania (2020) Unplayable


Old list - this should be made into individual wiki articles in order to populate the automated list above, which tracks all game compatibility methods using Wine.

Working games:

Not working well:

  • Horizon Zero Dawn - slowdown issues
  • Genshin Impact - Launches, but stuck when calling menu using esc
  • CarX Drift Racing Online - Game freezes after launch.
  • Fallout 4 - Game starts and runs well on m1 Pro at high settings, very smooth movement (wasd) but mouse is not picked up correctly. Looking around is not really a thing. Mouse works fine in menu
  • FallGuys through Heroic - Game and anticheat launch, but game only shows black screen for a few seconds then crashes. Cursor gets changed to custom cursor

Not working yet:


References

  1. Gokhan Avkarogullari: "@yiningkarlli @aras @romainguy…" - Gamedev Mastodon - last accessed on {{{date}}}
  2. This is a Rosetta limitation; Intel Macs should run these games just fine.
  3. https://github.com/IsaacMarovitz/Whisky/issues/41#issuecomment-1585640483
  4. Reference
  5. Reference
  6. Reference
  7. Fix EVERY controller issue on M1 Mac! video on YT by Andrew Tsai (bylk5VRlJPE)
  8. Reference