Windows games and WINE
Many Windows games don’t need WINE on a Mac, because their engine has a native macOS runtime. Plenty of others do. Games on custom engines, Unreal games, Unity IL2CPP builds and countless older titles need Windows itself, or something that can stand in for it. MacLauncher plays them through WINE, with one of three WINE distributions: Sikarugir, which is free and which MacLauncher downloads for you, WineCX, a free WINE built from CrossOver’s own WINE changes that MacLauncher also downloads, or CodeWeavers’ CrossOver, if you own it.
This is one of MacLauncher’s major features. Besides starting the game in WINE, MacLauncher gives every game its own Windows environment, lets each game pick its own graphics translator and version, keeps your existing CrossOver bottles and Sikarugir wrappers safe, and brings its graphics effects and upscalers to WINE games. The pages in this section explain each part, starting with what WINE does.
How a Windows game runs on a Mac
Section titled “How a Windows game runs on a Mac”A Windows game expects three things a Mac doesn’t have: Windows itself, an x86 processor, and Microsoft’s Direct3D for graphics. A different layer stands in for each one.
WINE replaces Windows. It’s a compatibility layer, not an emulator: the game’s own code runs on your Mac’s processor, and WINE answers its requests to Windows, such as opening a window or reading a file, with the macOS equivalent. How games run on a Mac explains the idea in more detail.
On Apple Silicon, Apple’s Rosetta 2 takes care of the processor. WINE on the Mac usually runs as an Intel program, and Rosetta translates its x86 code, and the game’s, into ARM code. A CrossOver build whose WINE is an ARM64 program leaves the game’s Intel code to the FEX emulator instead. If Rosetta isn’t installed yet, MacLauncher asks and installs it through the normal macOS prompt.
Graphics need one more piece, because macOS draws with Metal and has no Direct3D. A graphics translator turns the game’s Direct3D calls into Metal, either directly or through Vulkan and a Vulkan driver that runs on Metal. A game can behave differently with different translators, so MacLauncher lets you choose one for each game; Graphics translators explains the options.
Some Windows games also have a native Mac version, either an official build or a community port. Those don’t need any of this: when a game lives inside a working Mac .app, MacLauncher runs the app itself and doesn’t offer WINE for it.
When MacLauncher uses WINE
Section titled “When MacLauncher uses WINE”MacLauncher prefers a native runtime whenever there is one. A game made with an engine it recognizes, such as Ren’Py, RPG Maker, Godot or Unity’s Mono builds, starts on that engine’s native runtime by default. If the game also includes a compatible Windows executable, the WINE runtimes appear next to the native runtime as alternatives, which you can pick in the game’s inspector.
A Windows executable whose engine MacLauncher doesn’t recognize becomes a Windows Game, and its runtimes are Sikarugir, CrossOver and WineCX. Sikarugir is the default, and you can make another one the default in Settings. A few game types, BGI / Ethornell, CatSystem2 and Haxe native builds, have tools but no Mac player at all, so they play through CrossOver when you have it and through Sikarugir otherwise. Windows games through WINE covers which games get the WINE runtimes and how MacLauncher picks the right executable.
Sikarugir, CrossOver or WineCX
Section titled “Sikarugir, CrossOver or WineCX”All three are distributions of WINE for the Mac, with graphics translators included. Sikarugir is free, and MacLauncher downloads and sets it up for you. CrossOver is a commercial product that you install and license yourself; MacLauncher finds it and uses it, but never downloads or updates it. WineCX sits in between: it’s free and downloaded for you like Sikarugir, but its WINE is built from CodeWeavers’ CrossOver changes on a current WINE release, so Apple’s D3DMetal can load into it as it does in CrossOver. Current WineCX releases need macOS 26.
If you own CrossOver, it’s usually the better choice, because CodeWeavers keeps it current with fixes for newer games. Otherwise Sikarugir is always there, and WineCX is a newer WINE to try when a game needs one. MacLauncher runs all three on one shared WINE layer, so the rest of this section works the same whichever one a game uses. CrossOver, Sikarugir and WineCX compares them in more detail.
What MacLauncher adds
Section titled “What MacLauncher adds”CrossOver, Sikarugir and WineCX supply WINE itself. Everything below is MacLauncher’s own work on top of them, and none of it modifies the CrossOver application, a Sikarugir engine, a WineCX release or their support libraries.
A Windows environment for every game
Section titled “A Windows environment for every game”WINE keeps a game’s Windows registry, installed DLLs and Windows user folders in a Windows environment, which CrossOver calls a bottle and WINE calls a prefix. Using Sikarugir on its own means installing its Creator app and building a “wrapper” app for each game. In MacLauncher, the first time you press Play, a private bottle or prefix is created for that game alone, and the game runs from its original folder without being copied. That environment survives CrossOver updates and changes of WINE version, so the game’s Windows-side saves and settings stay put. Games don’t share an environment, so one game’s DLL overrides and registry changes can’t affect another.
Your own bottles and wrappers stay yours
Section titled “Your own bottles and wrappers stay yours”If you already have a CrossOver bottle or a Sikarugir wrapper that a game is set up in, MacLauncher can run the game there instead. It uses the bottle where it is and never deletes, recreates, moves or replaces it, and Stop ends only that game unless you confirm closing everything else in the bottle. Existing bottles and wrappers has the details.
A graphics translator for each game
Section titled “A graphics translator for each game”On its own, CrossOver chooses among the graphics engines that ship with that CrossOver release, and community tools such as CXPatcher update those engines by patching a copy of the app. MacLauncher keeps translators outside the WINE distributions instead. Each game can use the engines that its WINE distribution includes, newer or older upstream releases such as DXMT and DXVK, files you downloaded yourself, or D3DMetal from your own copy of Apple’s Game Porting Toolkit. The Vulkan driver, the Direct3D 12 translator and the video codecs can be chosen separately, too. One game can therefore try a newer DXVK while your other games keep theirs, and a CrossOver update leaves every choice in place. Runtime patching explains why this helps and walks through it step by step, Graphics translators explains what each translator does, and Translator versions how the versions work.
Direct3D 12 games get more than one route this way. Besides Apple’s D3DMetal and WINE’s own vkd3d, they can run through vkd3d-proton, the Direct3D 12 translator from Valve’s Proton, on MacLauncher’s own build of the KosmicKrisp Vulkan driver. vkd3d-proton reports Direct3D feature level 12_1 there in the default performance mode and 12_2 in conformance mode, and KosmicKrisp explains what that means for a game. Paired with DXVK for Direct3D 8 to 11, that’s the graphics path Valve’s Proton uses on Linux, open to any game in CrossOver, Sikarugir or WineCX that you set up this way, as Proton’s graphics path on a Mac describes.
One copy of each version
Section titled “One copy of each version”Each translator version is downloaded and installed once. Every game that selects it links to that one installation, so adding a second game with the same choice takes no extra space for the translator.
Choices that check themselves
Section titled “Choices that check themselves”Before a game starts, MacLauncher reads the translator’s actual files to see whether it can load with this WINE and this macOS. Version numbers and lists of tested versions aren’t involved. If the chosen translator can’t load, the game starts with the same engine from its WINE distribution instead, or with the distribution’s automatic choice, and the inspector shows what you chose, what ran and why.
Effects and upscaling for WINE games
Section titled “Effects and upscaling for WINE games”MacLauncher’s graphics layer works on WINE games, and it’s set up for the translator the game actually uses. Games with DLSS or XeSS support can also feed MacLauncher’s temporal upscalers on Apple Silicon. Effects and upscaling explains how.
Settings in one place
Section titled “Settings in one place”Each game’s Runtime Settings gather WINE’s display, input, compatibility and diagnostic options, from Retina mode, the language locale and custom virtual desktop sizes to keyboard mapping and performance HUDs, along with environment variables for WINE and each translator, which Settings → Environment variables sets for every game. A game in an existing bottle can keep the bottle’s current values. Runtime settings lists them.
Steam for Windows games
Section titled “Steam for Windows games”Windows games from Steam can talk to the Steam client for Mac through the optional Steam client bridge, which Play offers for games that include Valve’s Steam API once the Steam client for Mac is installed. There’s no need to install the Windows version of Steam in the bottle, and Steam itself isn’t patched.
What to expect
Section titled “What to expect”WINE is very good, but it’s a translation, so results vary from game to game. Games whose DRM or anti-cheat requires real Windows won’t run. Installers that need to install further components can’t be played as games either; point MacLauncher at the installed game folder or its main .exe instead.
If a game’s engine has a native runtime, try that first, since it will usually run better. If a WINE game misbehaves, try another Direct3D engine, another WINE version, or another WINE runtime, such as CrossOver if you have it. Choosing a runtime has more on choosing between them.