Playing Windows games on a Mac running macOS / OSX sounds like such a bizarre idea. Cats and dogs sleeping together, two worlds that shall never collide, isn’t it? But it really is possible to play Windows games and run Windows programs (.exe) on a Mac without having to use any emulators.
Sure, you can just dual-boot Windows on your Mac using Bootcamp, but that’s not what this guide is about. In this guide, we’re strictly talking about running actual Windows programs and games on macOS by using Wine.
Why don’t Windows programs run on Mac?
By default, Windows programs won’t run on a Mac, and macOS apps won’t run on Windows because they’re simply not compiled for the appropriate system. A Windows program has no idea how to run on a Mac because all the API calls (Kernel or otherwise) would just error out. There’s no NTDLL on Mac, no RunDLL32, no NTOSKRNL, or any other of the necessary DLLs (Dynamic Link Libraries) that the program calls for at launch.
Not only that, but even the executable format has a completely different structure, so macOS has no idea how to even execute the file. The same applies to running macOS apps on Windows.
Can we run Windows software on a Mac?
Definitely. While by default it’s not possible, software like Wine which is completely free and open-source can pack the program in a way that it would run on Mac. Wine is also not an emulator. It’s not the same as running the program on VirtualBox. You’re actually running that program on Mac.
Granted, not all programs may be able to run on Mac using Wine, but most of them do, even games because Wine can include components like DirectX, and other frameworks the game requires.
How to play Windows Games on macOS / OSX without emulators
First of all, you need to download Wine or WineBottler for your Mac. Both of them are completely free. Make sure to get the version for your macOS. If you’re running macOS Mojave, High Sierra, or newer, you likely need to get the Development to build.
If you’re running macOS Sierra, El Capitan, Mavericks, or older, get the Stable one.
You will get a DMG file containing the applications. Just drag and drop them to the Applications folder like any other macOS App.
Do keep in mind that WineBottler comes with Wine by default, so no need to download it separately.
Preparing the Windows program / game
Now that you have WineBottler on your Mac, you need to obtain a copy of the EXE file you try to run (the Windows program). Setups / Installers are also allowed and you can make WineBottler set up the program for you.
For this example, I will use HxD Hex Editor. I have downloaded the HxDSetup file on my Mac and I now have an EXE Installer that would obviously not run on macOS.
Step 1: Open WineBottler and go to the Advanced tab.
Here you will create a new prefix. On the Program Installation part, chose the EXE file you try to run (even if it’s the Setup / Installer). If the EXE file is an Installer, make sure your option is set to “Installation mode: execute the file (Installer)”.
Leave the rest of the settings unchanged until you get to App Bundle. There, make sure to check the box that says “Include Wine.app” to make the program self-contained.
After all, is done, press the “Install” button in the bottom-right corner. A Save File dialog will pop up asking for a name. Give your app a name and save.
Step 2: Double click the newly created application and your EXE will run on macOS.
It really is as simple as that. Once the prefix is created, you can double-click the newly created app and in a few seconds, the Windows program or game will run without issue on macOS.
Known problems and bugs
- Support on macOS Monterey, Catalina, and Big Sur is rather flaky. You can get it to work, but you need to install Wine via Homebrew, find a 64-Bit version of the app you try to run, and possibly you have to disable SIP.