XC2 Recomp vs XCX Recomp: Architecture & Lineage
How AksharDP/xc2-recomp (v0.1.12) and jmars125/xcx-recomp (v0.1.21) adapt the same ARM64 static lifter and Vulkan 1.3 runtime for two generations of Monolith Soft’s Switch engine.
- XC2 Recomp:
v0.1.12(329 stars) - XCX Recomp:
v0.1.21(313 stars) - Ancestor:
valentderah/totk-pc-recomp - License: MIT (zero Nintendo assets)

Side-by-side comparison: XC2 Recomp vs XCX Recomp
AksharDP/xc2-recomp was forked from jmars125/xcx-recomp in November 2026 to bring Xenoblade Chronicles 2 (2017) onto the same static recompilation foundation built for Xenoblade Chronicles X: Definitive Edition (2025). While both projects share the installer architecture, SDL3 input layer, and NVN-to-Vulkan 1.3 command processor, each targets different Title IDs, archive layouts, and graphics pipelines:
| Attribute | XC2 Recomp (AksharDP/xc2-recomp) | XCX Recomp (jmars125/xcx-recomp) |
|---|---|---|
| Target Game | Xenoblade Chronicles 2 (Nintendo Switch, 2017) | Xenoblade Chronicles X: Definitive Edition (Nintendo Switch, 2025) |
| Required Update & DLC | Update 3.0.1 (US/EU 0100E95004038000) or 3.0.0 (JP 0100F3400332C000) + 7 optional DLC packs | Update 2.0.0 + optional Exploration Support Package DLC |
| Latest Release & Date | v0.1.12 (November 9, 2026) · 13 releases | v0.1.21 (November 12, 2026) · 40 releases |
| Windows x64 Package | XC2-Setup-0.1.12-windows.zip (182.3 MB) | XCX-Setup-0.1.21-windows.zip (145.3 MB) |
| Linux / Steam Deck | XC2-Setup-0.1.12-linux.AppImage (218.7 MB) · native support since v0.1.6 | XCX-Setup-0.1.21-linux.AppImage (229.8 MB) · Linux candidate builds active |
| Setup & Final Disk Space | ~25 GiB free during setup · ~20 GiB after | ~36 GiB free during setup · ~20 GiB after |
| Executable & Config | xc2.exe / xc2 · xc2.ini · xc2-install.json | xcx.exe / xcx · xcx.ini · xcx-install.json |
| Framerate & Physics | 60 FPS default (30–360 FPS) + v0.1.11 jiggle-bone/hair/cloth bounce fix + cloud sea frame-time scroll | 60 FPS default (30–360 FPS; above 60 experimental) + 60 FPS mod patches by Fl4sh_ & StevensND |
| Upscaling & HDR | AMD FSR 1 spatial + AMD FSR 3.1.6 / FSR 4.1.2 temporal upscaling + FSR Frame Generation | AMD FSR 1 spatial + HDR10 output with peak, game, and HUD brightness controls |
| Mod & Cheat System | Switch emulator / Atmosphere RomFS (aoc1:/), .pchtxt/.ips ExeFS patches, 4F5C96E2D97F45AC.txt cheats, built-in God mode & Insta kill | Experimental Lua source packages (F1/Esc → Mods) + trusted native providers |
| RecompLauncher Support | recomplauncher.com/game/xc2-recomp-2 | recomplauncher.com/game/xcx-recomp + Recomp Achievements |
Why XCX-specific keys in xc2.ini do nothing in XC2
Because XC2 Recomp inherited its configuration parser from XCX Recomp, a few legacy keys mentioned in older community posts belong exclusively to Xenoblade Chronicles X: Definitive Edition:
realtime,cloth_realtime, andhighfps_fixunder[frame rate]are XCX settings and have no effect inxc2.ini(documented on line 15 ofxc2.ini.example).- Instead, XC2 Recomp implements its own dedicated high-framerate fixes directly in its patch table (
recomp/patches-v301.txt), including frame-time cloud sea scrolling (v0.1.1) and jiggle-bone/cloth/hair physics preservation above 30 FPS (v0.1.11). - Similarly,
patches-upd.txtand thev121/v143patch tables in the repository belong to XCX and are unused during XC2 builds.
Shared static recompilation architecture
Both projects trace their technical lineage to TotK Recomp (valentderah/totk-pc-recomp) and draw from open-source Switch research including LAS Recomp, MacNativeGames, SavageWindRecomp, Ryujinx, deko3d, hactool, and Switchbrew:
- AOT ARM64 Lifter
recomp/gen.pydisassembles the Switch ExeFSmainandrtld/sdkmodules and emits C functions that preserve guest register state while compiling to native x86-64 machine code with AVX2 (-march=x86-64-v3).- Guest Memory & Vulkan Pools
- Maps guest memory pools to Vulkan via
VK_EXT_external_memory_host(memory = import) or per-frame mirror copies (memory = mirror) managed by Vulkan Memory Allocator (VMA). - Kernel & Thread Scheduling
- Emulates Switch Horizon OS SVCs and virtual cores in user space, adding
async_preempt = 1andcore_float = 1so worker threads pinned to virtual core 1 can float across host CPU cores during town streaming. - Audio, Video & Compression
- Links
SDL3for windowing/audio/gamepad input,Dear ImGuifor the F1 settings menu and F10 performance overlay,libopusfor audio streams,libvpxfor.webmcutscenes, and native hostZstandard(zstd_native = 1) for fast asset decompression.
Recommended PC controllers
XC2 Recomp uses SDL3 controller input with automatic Nintendo, Xbox and PlayStation button prompt generation (plus custom rumble curve and Xbox impulse trigger options):
| Controller | Best For in XC2 Recomp | Hardware Advantage | Link |
|---|---|---|---|
| 8BitDo Ultimate 2 Wireless | Nintendo layout & Windows/Deck dock | Zero-drift TMR sticks, charging dock, native Switch/XInput mode toggle | View on Amazon |
| GameSir Cyclone 2 | 1000 Hz Blade combo canceling | TMR sticks, micro-switch ABXY buttons and 1000 Hz wireless dongle | View on Amazon |
| Sony DualSense | PlayStation button prompts | Automatic PlayStation icon rendering in XC2 tutorials and Driver Arts HUD | View on Amazon |
| Xbox Wireless Controller | Xbox prompts & impulse triggers | Supports rumble_triggers = 1 in xc2.ini with redrawn Xbox button glyphs | View on Amazon |
As an Amazon Associate, this site earns from qualifying purchases.



Common questions
Can I install XC2 Recomp and XCX Recomp on the same PC?
Yes. Each project uses its own installer (XC2-Setup.exe vs XCX-Setup.exe), its own executable (xc2.exe vs xcx.exe), and its own portable install folder and %LOCALAPPDATA% launcher config.
Does XC2 Recomp use XCX-Setup tools when building from source?
Only in developer mode (when running from a bare git checkout without a release folder): installer/layout.py can borrow embedded Python, llvm-mingw, and Ninja from an unpacked setup release via XC2_SETUP_TOOLS. End users running the release ZIP or AppImage already have every tool bundled inside.