If you’ve been waiting for a “real” Xbox 360 emulator on macOS, a new open-source project called xenia-mac is the most direct attempt so far. It is not an official Xenia release, and it is very early. The releases page calls it an “extremely early, experimental macOS port” and warns about crashes, hangs, and games failing to boot.
First spotted by MacObserver, what makes this project interesting is the approach. Instead of relying on Windows-only graphics APIs, it uses a native Metal backend (Apple’s graphics API) and leans on Apple’s tooling to convert shader code so the GPU can run it.
With this open-source project, you can run Xbox games like GTA IV, and even Battlefield: Bad Company 2, well at least the first mission. Here’s a screenshot of the gameplay:
How do you run Xbox 360 emulator on macOS?
Xenia is an open-source Xbox 360 emulator research project. This fork, xenia-mac, is a macOS-focused branch that ships prebuilt DMG files so testers can try it without building from source.
The newest build is based on xenia-canary, which is an experimental fork of Xenia.
| Release | Date (GitHub) | Base | CPU support | Graphics backend | What the author says |
|---|---|---|---|---|---|
| v0.1 | Jan 17, 2026 | xenia master (older base) | ARM64 only | Native Metal | “Very buggy and unstable,” many games do not boot. |
| v0.11 (canary-rebase) | Jan 18, 2026 | xenia-canary | ARM64 now, x86_64 planned but not included | Metal | Boots more games than v0.1, still unstable. |
Why a macOS port is a big deal
Upstream Xenia has historically been Windows-first, and even the xenia-canary wiki has suggested macOS will likely stay unsupported until Apple supports Vulkan.
This fork takes a different route: it tries to make macOS work without waiting for Vulkan, by building a Metal backend and doing shader conversion in a Metal-friendly way.
How xenia-mac works and allows Xbox 360 emulator on macOS?
On the CPU side, the pull request that tracks this work says it’s tested on Apple Silicon and is built over an ARM64 backend.
On the GPU side, the same PR describes a shader translation pipeline that goes through multiple stages, ending in Metal. Apple’s official docs confirm the Metal Shader Converter can convert DXIL to Metal IR, either using a tool or the libmetalirconverter library, and it supports macOS.
How the shader path works?
| Step | Input | Output | Why it exists |
|---|---|---|---|
| 1 | Xbox 360 shader microcode | DXBC | Reuse existing Xenia translation infrastructure. |
| 2 | DXBC | DXIL | Convert into a modern DirectX intermediate format. |
| 3 | DXIL | Metal IR | Use Apple Metal Shader Converter / metalirconverter. |
| 4 | Metal IR | MTLLibrary | Hand it to Metal so the GPU can execute it. |
One important detail: the PR notes this route was chosen because it’s “the easiest” right now, but it also mentions a big performance penalty.
Also, to sum up, here are some technical deeds:
- ARM64 backend for CPU execution (Apple Silicon focus).
- Metal backend for rendering.
- Apple Metal Shader Converter used in the pipeline (DXIL → Metal IR).
What works today?
The v0.11 release includes a list of tested titles with short notes. Here’s a snapshot (not the full list):
| Game | Title ID | What happens in v0.11 | Noted problems |
|---|---|---|---|
| Nier | 535107E8 | Boots into gameplay, “seems playable” | Minor graphics issues, “tinny” audio |
| Silent Hill: Downpour | 4B4E0823 | Boots into gameplay | Graphical glitches (including cutscenes) |
| Battlefield: Bad Company 2 | 454108A8 | Boots into mission 1 | Hangs after intro, audio issues |
| Red Dead Redemption | 5454082B | Boots into gameplay | Severe graphical issues, audio issues |
| GTA IV | 545407F2 | Boots to loading/menu | Menu hangs (author calls it a regression vs v0.1) |
| Halo 3 / Reach / ODST / 4 | 4D53… | Does not boot | Hangs |
Common failure patterns mentioned in v0.11
- Hang on boot (several big titles).
- Freeze / black screen tied to “Metal backend issues” in at least one title.
- Audio problems (missing, distorted, or unstable).
- Memory-protection errors (“mprotect failures” in at least one report).
- Render/resolve failures (“Metal backend resolve failures” in at least one report).
Installing and launching Xbox 360 Emulator on macOS
Both releases say the app is dev-signed but not notarized, so macOS will likely block it the first time. The release notes tell you to allow it via System Settings > Privacy & Security > Open Anyway after the first launch attempt.
To get started, first go the Github page and download everything required and follow the below table I made:
| Step | What to do | Why |
|---|---|---|
| 1 | Mount the DMG and drag Xenia.app to Applications | Standard macOS install flow. |
| 2 | Try to open it once | Triggers Gatekeeper’s block prompt. |
| 3 | Go to Privacy & Security and click Open Anyway | Needed because it is not notarized. |
What this project is really “trying to solve”
- Make Xenia’s rendering work on macOS using Metal.
- Translate Xbox 360 shaders into something Metal can consume, using Apple’s converter pipeline.
- Stabilize enough of the stack so more titles move from “hang/crash” to “boots” to “playable.”
That is why it’s normal to see “boots into menu but hangs,” “boots but broken graphics,” and “Metal backend failures” right now. The release notes basically describe a port that is still building out correctness, not polishing.
No. It’s a fork (wmarti/xenia-mac) with pre-release builds. The release notes describe it as an experimental macOS port.
The newest release says x86_64 support is targeted but not yet included. So, for now, you should assume Apple Silicon is the focus.
Because the build is dev-signed only and not notarized, and the release notes tell you to allow it via Privacy & Security.
The release notes and PR both describe a native Metal backend, plus a shader conversion flow that ends in Metal.
The PR describes a pipeline that goes from Xbox 360 microcode > DXBC > DXIL > Metal IR > MTLLibrary. Apple’s docs confirm Metal Shader Converter can convert DXIL to Metal IR.
The PR explicitly warns that this “easiest for now” route comes with a big performance penalty. So even when something boots, speed and smoothness can vary a lot.
The PR explicitly warns that this “easiest for now” route comes with a big performance penalty. So even when something boots, speed and smoothness can vary a lot.
Even in xenia-canary’s wiki, macOS support is described as unlikely until Apple supports Vulkan. This fork is effectively exploring a different direction via Metal.