Known Issues, Error Codes & Performance Fixes
Documented workarounds and diagnostic tools from AksharDP/xc2-recomp (v0.1.12) for setup verification errors, VRAM memory budgets, town streaming slowdowns, and AMD/Intel GPU quirks.
- Log location:
logs/xc2.log - Town streaming fix:
core_float = 1 - AMD cloud sea fix:
feedback_snap = 1 - Portable profile fix:
v0.1.12

Current known issues in XC2 Recomp (v0.1.12)
The upstream README and issue tracker at AksharDP/xc2-recomp/issues document three active engine limitations in early development:
| Symptom / Limitation | Root Cause in Engine | Current Status or Workaround |
|---|---|---|
| Far cloud sea texture jumps when camera moves | Occurs at any framerate and resolution during camera rotation. | Tracked upstream in {REPO}; separate from the thin-line AMD flicker fixed by feedback_snap = 1 in v0.1.11. |
| 16:9 HUD stretching on ultrawide aspect ratios | Above 1280x720 at non-16:9 shapes, the 2D interface remains laid out for 16:9. | Keep picture_fit = keep in xc2.ini until custom aspect ratio layout support lands. |
| Extra ~1.3 GiB memory usage in default mirror mode | To prevent props from sliding or flickering above 30 FPS, the runtime copies GPU-read buffers when each frame is submitted (memory = mirror). | If you run low on RAM/VRAM, set memory = import in xc2.ini to save ~1.3 GiB (note: every frame then waits for the GPU to finish the previous frame via frame_guard, which runs ~25% slower). |
Fixing Goldmouth & town streaming slowdowns
When leaving or entering dense areas such as Goldmouth’s covered market, Xenoblade Chronicles 2 queues asset streaming workers on Switch virtual core 1. Make sure these settings are active in xc2.ini (all enabled by default since v0.1.4–v0.1.12):
core_float = 1: Lets guest job threads pinned to virtual core 1 run on any of the three virtual cores (still respecting one thread per core). On an RTX 4070 Laptop,core_float = 1raises framerate when leaving Goldmouth’s covered market from ~65 FPS to ~95 FPS.zstd_native = 1: Replaces the game’s ARM64 Zstandard decompression routine with a native host x86-64zstddecoder.feedback_snap = 1&lod_guard = 1:feedback_snap = 1(refined inv0.1.11for issue #39) reads self-sampled render targets from a snapshot copy so thin lines do not flicker in the cloud sea on AMD GPUs;lod_guard = 1waits for level-of-detail data updates to finish before the GPU reads them.
XC2-Setup error codes & how to resolve them
If XC2-Setup stops during Stage 1 (Check) or Stage 2 (Extract), match the message ID against this table:
| Installer Error ID | Meaning | Resolution |
|---|---|---|
check.region_mismatch / check.dlc_other_region | Your base game, update, and DLC files belong to different regional Title IDs. | Ensure US/EU base (0100E95004038000) is paired with US/EU Update 3.0.1 (0100E95004038800), or JP base (0100F3400332C000) with JP Update 3.0.0 (0100F3400332C800). |
check.input_damaged | A source game archive ended early or failed its internal NCA hash verification. | Re-copy the named archive from your console storage and run XC2-Setup again. |
extract.romfs_mismatch | The merged 3.0.1 RomFS checksum does not match expected-xc2-3.0.1.json. | Ensure your update package is Update 3.0.1 (or 3.0.0 for Japan), re-copy both base and update files, and run with --verify. |
| Saves or flight logs missing before v0.1.12 | Earlier releases resolved the portable profile or created flight/ outside the install folder in some working directories. | Update to {TAG} (PR #57 and PR #79 fix portable profile/ resolution and place flight/ directly next to xc2.exe). |
Collecting logs, flight spike dumps & reporting bugs
When reporting an issue on AksharDP/xc2-recomp/issues, the maintainer requests three items (added in v0.1.9):
- The log file (
logs/xc2.log): Open F1 → Advanced → Open log folder to grabxc2.logfrom the run where the problem occurred (previous runs are kept asxc2.1.logthroughxc2.4.log). - A save file standing at the bug location: Copy the save from your install’s
profile/folder where loading the save immediately reproduces the visual bug or hang. - Optional diagnostics (
trace&flight): Under[diagnostics]inxc2.ini, settrace = perf(orsvc,host,ipc,fs,gfx,perf,sched,audio,present) for detailed logging, or enable the flight recorder (flight = 1,flight_spike_ms = 100) to save frame dumps toflight/whenever a frame exceeds 100 ms.
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
Why did jiggle bones, hair, and cloth physics go flat above 30 FPS in older builds?
In builds prior to v0.1.11, running at 60+ FPS caused secondary bone physics (hair, cloth, and jiggle bones) to lose their bounce and go flat. Update to v0.1.11 or newer ({TAG}), where PR #45 fixed high-framerate bone physics.
Does the maintainer test on AMD GPUs?
As noted in the upstream README, the maintainer tests locally on Intel integrated and NVIDIA GPUs and welcomes AMD GPU bug reports (with a save file in profile/ and logs/xc2.log) on GitHub Issues.