XenonRecomp vs ReXGlue (2026): how Xbox 360 games become native PC ports
Almost every viral "Xbox 360 game now runs natively on PC" post in 2026 traces back to one of two tools. XenonRecomp turns Xbox 360 PowerPC executables into C++; ReXGlue SDK does the same and ships a runtime. Here's how they differ, which shipping recomps use which, and the actual pipeline. Checked against both repos on Oct 13, 2026.
Side-by-side
| XenonRecomp | ReXGlue SDK | |
|---|---|---|
| What it is | Recompiler: Xbox 360 XEX → C++ (plus XenonAnalyse for jump tables) | Recompiler and runtime/toolkit: PPC → portable C++ with a Xenia-derived runtime |
| Runtime included? | No — "Making the game work is your responsibility" | Yes — kernel, GPU translation, input, audio, windowing |
| Graphics | Bring your own (UnleashedRecomp pairs it with XenosRecomp shaders → HLSL) | Runtime Xbox 360 GPU command translation (from Xenia research) |
| Stars (Oct 13, 2026) | ~6.5k | ~1.0k |
| License | MIT | See repo (no SPDX detected) |
| Builds | Build from source (CMake 3.20+, Clang 18+) | Release + nightly builds on GitHub (Windows, Linux x64, Linux ARM64) |
| Status | Mature; last push Aug 2025 | Early development, rapid breaking changes; nightly Oct 2, 2026 |
| Used by | UnleashedRecomp, CoD3Recomp, MarathonRecomp and more | Dimensions Recompiled (via a fork) and newer projects |
How XenonRecomp works
- Instructions are translated directly (not decompiled) — output isn't human-readable. The CPU state struct is passed into every PPC function along with a base pointer (Xbox 360 uses 32-bit pointers).
- Endianness: loads/stores byte-swap from big-endian; vectors are reversed as whole 16-byte registers.
- VMX uses x86 intrinsics; ARM64 via SIMD Everywhere.
- Indirect calls resolve through a "perfect hash table" placed after the XEX memory region.
- Jump tables are found by
XenonAnalyse(look formtctr r0→bctr) and emitted as realswitchcases. - MMIO (e.g. XMA decoding) is unimplemented — your runtime handles it.
The XenonRecomp pipeline
- Get your own
default.xex(+default.xexptitle update) - Find jump tables:
XenonAnalyse default.xex switch_tables.toml- Write a recompiler TOML, then run:
# config.toml
[main]
file_path = "../private/default.xex"
patch_file_path = "../private/default.xexp"
patched_file_path = "../private/default_patched.xex"
out_directory_path = "../ppc"
switch_table_file_path = "switch_tables.toml"
XenonRecomp config.toml XenonUtils/ppc_context.h- Compile the generated C++ with Clang 18+ (other compilers aren't supported) and link it against your runtime: kernel imports, GPU, audio, input. Shaders go through XenosRecomp (Xenos → HLSL) in the hedge-dev stack.
- Verify instruction semantics against Xenia's PPC tests (XenonRecomp can recompile and run them).
Reference configs: SWA.toml and SWA_switch_tables.toml in UnleashedRecomp. CoD3Recomp ships a fully documented CoD3.toml and 323 jump tables.
How ReXGlue works
ReXGlue generates C++ ahead of time (inspired by XenonRecomp and rexdex's recompiler) and supplies the rest of the console from Xenia-derived code: kernel, saves, achievements, DLC as host functions, and runtime translation of the Xbox 360 GPU command stream. Quick-start, CLI reference and config options live in the wiki; builds are on GitHub Releases (stable + nightly, Windows / Linux x64 / Linux ARM64).
ReXGlue's README warns it's early development — expect breaking public API changes. Dimensions Recompiled builds from a fork (NeverCookFirst/rexglue-sdk, branch toypad-ui).
Shipping recomps by toolchain
| Game | Project | Toolchain |
|---|---|---|
| Sonic Unleashed | UnleashedRecomp | XenonRecomp + XenosRecomp |
| Call of Duty 3 | CoD3Recomp | XenonRecomp + custom D3D11 renderer |
| LEGO Dimensions | Dimensions Recompiled | ReXGlue SDK (fork) |
| Sonic '06 | MarathonRecomp | XenonRecomp family |
| More | Best Xbox 360 PC recomps | Mixed |
Where AI fits
Coding agents are showing up in recomp work as research partners: reading disassembly, documenting file formats, writing runtime glue and tooling. Pair a recompiler with GhidraMCP or IDA MCP so the agent can query the binary directly. The hard part — knowing the game actually plays right — is still a human at the controller.
Other platforms: N64 recomps (N64: Recompiled), Switch recomp (Smash Ultimate). Background: decomp vs recomp vs emulation.
FAQ
What is XenonRecomp?
XenonRecomp (hedge-dev/XenonRecomp) converts Xbox 360 executables into C++ that can be recompiled for any platform. It was inspired by N64: Recompiled and powers Unleashed Recompiled. It does not ship a runtime; you must provide one. ~6.5k stars, MIT.
What is ReXGlue?
ReXGlue SDK (rexglue/rexglue-sdk) converts Xbox 360 PowerPC code into portable C++ and provides a runtime rooted in the Xenia emulator. It is in early development with frequent breaking API changes. Releases and nightlies are on GitHub.
Which should I use for a new Xbox 360 recomp?
If you want full control and plan to write your own runtime/renderer (like UnleashedRecomp or CoD3Recomp did), XenonRecomp. If you want a runtime to get a game booting faster and can live with an evolving API, ReXGlue. Both rely on Xenia's research.
Is static recompilation the same as emulation?
No. Emulators interpret or JIT the original PowerPC code at runtime. Static recompilers translate it to C++ ahead of time and compile it with a normal compiler, so the CPU runs native x86-64 (or ARM64) code. Graphics may still be translated at runtime, as in ReXGlue-based projects.
Do these tools include games?
No. Both projects contain no game code or assets; you need your own legally dumped XEX/title update. CRT Forge never links game files.
Can AI help with a recomp?
Yes, as a tool: Dimensions Recompiled's author used Claude heavily for disassembly reading, runtime glue and tooling, while a human did all the gameplay testing. See our AI reverse-engineering tools guide for MCP servers for Ghidra and IDA.