Skip to content

a centralized list of every known way to make games run on macOS

License

Notifications You must be signed in to change notification settings

nonoche2/the-macOS-game-workaround-repo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 

Repository files navigation

The macOS Game Workaround Repo

A centralized list of every known way to make games run on macOS

Table of Contents

  1. Native Mac Games
  2. Dual Booting
  3. iOS Versions
  4. Translation Layers
  5. Virtualization
  6. Windows Games Available on Other Platforms
  7. Cloud Gaming
  8. Local Area Streaming
  9. Game Engine Ports, Hacks, and Patches
  10. Making VR work

Native Mac Games

Native Mac ports are, most of the time, the best way to enjoy a game on your Mac. These can be purchased on the Mac App Store (some exclusively), some others are only available with an Apple Arcade subscription. The Mac App Store sometimes offers Universal Purchase, which means you can play the game on every supported Apple platform for a single fee. Other online stores offer Mac games, such as GOG, the Epic Games Store, and Steam. Unlike the other stores, GOG provides games without DRM. The Epic Games Store is also notable for offering free games each Thursday, although Mac games are quite rare (many games that offer a Mac version are only available for Windows on the Epic Games Store). Note that the Epic Games Launcher will launch Universal Binary games as Intel processes on Apple Silicon Macs, you can launch games from the Epic Games Store as Apple Silicon processes with Heroic Games Launcher. The store with the largest game selection by far is Steam. When you buy a game on GOG, the Epic Games Store or Steam, you also get a license for the Windows version, and Linux version when available. We would be remiss not to mention the honorable MacGameStore which, while more centered around casual games, has been a staple of Mac gaming for decades.

Steam's Handling of 32-bit Mac Games

When Apple decided to drop 32-bit support with macOS Catalina, many Mac games became non-functional overnight. The games could still be played provided you didn't update macOS but since Steam eventually also dropped support for 32-bit on macOS, there is no way to run these games natively on macOS anymore.

Valve decided to make developers manually specify if their game was 64-bit in the SteamWorks database, making games 32-bit by default. Games assumed to be 32-bit are signaled as incompatible with macOS Catalina and newer on the game's page. They are also signaled in the game library by an icon (🚫) next to their name and a message on their description page. These games are filtered out when clicking on the Apple logo to filter the Mac-only games. Unfortunately, many 64-bit games are incorrectly assumed to be 32-bit. Some of them are listed here.

Additionally, games that were delisted from the store are all reported as 64-bit in the library, whether the database says so or not.

Dual Booting

Intel-based Macs can boot on Windows like any other PC thanks to Boot Camp. This will run any Windows game. Apple Silicon-based Macs cannot boot under Windows, but while Apple said it was open to making Boot Camp available for Apple Silicon-based Macs to run Windows for Arm, they said it only depended on Microsoft's approval.

Additionnally, Intel-based Macs can dual-boot on Batocera, a Linux distribution centered around launching emulators and ROMs with a dedicated interface, and Apple Silicon based Macs can dual-boot on Asahi Linux, which allows to run Windows games with Proton right from within Steam.

iOS Versions

Some Windows games have also been released for iPhone and iPad, and those apps can technically run on Apple Silicon-based Macs when allowed by their publishers on the App Store, which is arguably the closest thing to a native macOS version. However, many games are simply not allowed to run. There is a workaround for this with PlayCover and Sideloadly, which are free apps that allow sideloading and running decrypted iOS/iPadOS apps on Apple Silicon-based Macs. For 32 bits games that won't work with PlayCover, there is an emulator for the early iPhones called touchHLE.

Translation Layers

These apps will translate Windows API calls to macOS API calls on the fly. While this solution doesn't make every Windows game work flawlessly (most notably, games with anti-cheat protection won't run), it's usually the best option to try first. These are all derived from Wine, and do not run Windows itself. There are several interfaces to translate various versions of DirectX (Windows' graphical API) to Metal (macOS' graphical API), such as DXVK (which translates DirectX 10/11 to Vulkan, which in turn is translated to Metal with MoltenVK), WineD3D (DirectX 1-11 to OpenGL), or DXMT (DirectX 11 to Metal). In 2023, Apple released Game Porting Toolkit, which includes D3DMetal, an interface for Wine and its derivatives that translates DirectX 12 to Metal, bringing improved speed and compatibility to software layer translation.

For injecting trainers, cheats, and debuggers, one can use the ChooChoo Loader Engine to act as a pre-loader. This ensure all processes are able to see and interact with each other in a WINE gaming enviroment.

Note that CrossOver usually offers the best compatibility and most up-to-date versions of Wine and the various DirectX translation interfaces. Codeweavers is also the biggest contributor to the Wine project, so supporting them helps everyone. CrossOver also comes with CrossTies, a list of game-specific fixes and workarounds for games that don't run out of the box through Wine, but starting with CrossOver 25 this will be phased out due to a better general compatibility. A common misconception about CrossOver is that the fee only allows you to use it for a year, whereas in reality you can use it forever, but you only get a year's worth of free updates. CXPatcher is a non-official tool that allows updating CrossOver's dependencies.

If you want to know if a specific game runs, there are compatibility lists:

Sometimes, the Windows version of specific store launchers (GOG Galaxy, Epic Games Launcher, Amazon Games) can get updates which breaks support with the above software translation layers. A workaround is to use Heroic Games Launcher, a native launcher for Windows and Mac games for these stores. There is also a Mac-exclusive app called Mythic, which so far only supports the Epic Games Store and only runs Windows games with its own embedded version of Wine, while Heroic also allows to run games with external versions of Wine such as CrossOver. Finally, Winetricks is a script (embedded in CrossOver, Heroic and Whisky) which allows to install necessary dependencies (such as Microsoft DLLs and fonts), tweak settings and workarounds to make games work with Wine and its derivatives.

Handling AVX, AVX2, FMA and F16C

Some Windows games will sometimes require specific extentions of the Intel processors to run, such as AVX, AVX 2, FMA and F16C. The 3 first ones are handled by Rosetta 2 in macOS Sequoia, but you have to add ROSETTA_ADVERTISE_AVX=1 in the launch parameters of your game (in Steam, select your game properties, and paste it in the launch options field, at the bottom of the General tab). Unfortunately there is no support for F16C but you can patch it out for specific games:

Virtualization

Virtualization is different from emulation, in that it runs the native code on the host processor, when they share the same instruction set. The processor is shared between the two environments at once. For instance, a Nintendo Switch runs on an Arm processor, and thus can be virtualized on an Apple Silicon-based Mac. While there is an overhead compared to running a game on its original platform since the hardware is shared with macOS, it's generally faster than emulation as it converts one instruction set to the other. Unlike translation layers, these will run and require installing complete operating systems (like Windows or Linux), and unlike translation layers are usually more general-purpose than focused on gaming.

Windows Games Available on Other Platforms

These games can be run either through emulation or virtualization depending on the processor of the platform it runs on. There are countless emulators available for macOS, supporting from the most famous to the most obscure platforms, so this list won't be exhaustive and will only feature the most prominent emulators. Some Windows games were also released on these platforms (or inversely, some games first released on older platforms were eventually released on Steam through emulation), which provides an alternative, and sometimes superior, way of playing them on macOS. Some emulators provide improvements to how the original games ran, for instance by increasing their resolution, or even supporting bespoke HD graphical packs, effectively offering a "remastered" experience.

Detailed "how-to" video from Retro Game Corps for setting up various emulators on Mac

Multiple Platform Emulators

Sony PlayStation Series

Xbox Series

  • Xemu: Xbox
  • Xenia: Xbox 360, the emulator has no Mac port but can be run through Software Translation Layer (video guide)

Nintendo Consoles

Android

This is technically virtualization and not emulation since Android runs on Arm processors just like Apple Silicon-based Macs.

MS-DOS Games

  • Boxer : turns MS-DOS games into macOS apps with an intuitive interface
  • DOSBox
  • DOSBox-X a more flexible version of DOSBox, with more features
  • DOSBox Staging a more modern version of DOXBox, complete with CRT emulation
  • Dreamm a bespoke emulator for LucasArts games and some other miscellaneous MS-DOS games

Windows 95/98

MacOS 9

Older versions of macOS X once allowed to run apps made for MacOS 9 in a dedicated environment called Classic. You can relive those days with emulators such as Basilisk II, SheepShaver and even the classic black and white Macintosh of yore with MiniVMac. Edward Mendelson even made a custom distribution of SheepShaver with additional features such as a shared folders and printer support, ready to use, called Mac OS 9. (thanks u/HomeStarRunnerTron!)

Cloud Gaming

Cloud gaming runs games on a remote PC and streams the video output to your Mac in real-time, while your Mac just displays the video stream and sends controller inputs to the server. It requires a good internet connection, but it can sometimes be the only solution for specific games. Note that most of these only support a limited selection of games and require monthly payments.

Local Area Streaming

There are also local streaming solutions allowing you to play on your Mac a game running on another machine you own:

  • Steam Link (Mac App Store link) : a selection of Steam games can be run on your PC and played on your Mac. You can also play online with friends with games they own and run on their PC.
  • PS Remote: allows streaming games from your PS5 to your Mac
  • Moonlight: allows low-latency streaming from a NVIDIA GPU-powered PC to your Mac over your local network.

Game Engine Ports, Hacks, and Patches

Unity and Adobe Air Games

It is possible to make a selection of Windows and Mac 32-bit games made with Unity or Adobe Air run on recent Macs, on occasion even as Universal Binaries.

RPG Maker games:

You can run RPG Maker 2000/2003 games with EasyRPG Player. And another very recently created tool for running RPG Maker MV, MZ, XP, VX and VX Ace games is RPG-Maker-MacOS-Launcher. It isn't perfectly compatible with every game built on this software, especially if it uses Windows 32 API stuff, or additional Ruby scripts, but there are workarounds for a lot of issues. (thanks u/HomeStarRunnerTron!)

Mac Source Ports

These are games or game engines which either became open source or were retro-engineered, compiled, signed, and notarized for macOS by Tom Kidd, supporting 156 games when this guide was published.

ScummVM

ScummVM is a port of various game engines that supports 381 different games when this guide was published.

Nintendo 64 Recompilations

These tools will provide native recompilations, with many quality-of-life improvements, of Nintendo 64 games if you provide the original N64 ROM:

Individual Mac Ports

Making SteamVR work

People have made some progress with running tethered VR games:

About

a centralized list of every known way to make games run on macOS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •