A work-in-progress Switch emulator focused on native recompilation.

Cache and Recompilation


Nx86 compiles game code to native x86_64 before launch. When a mod is installed, it uses the mod's declared cache.impact to decide how much of that output is still valid.

RomFS-only mods replace assets without touching the executable: no recompilation needed. ExeFS mods patch the executable and need at least a partial rebuild; always set build_id accurately for those. Partial rebuilds only invalidate the affected compiled blocks and require partial_recompile_supported = true in the manifest. If Nx86 cannot prove the affected set is bounded, it falls back to a full rebuild.

Nx86 will not launch with stale compiled output. If the cache does not match the active mod set, it blocks until the rebuild finishes.


Labels

LabelMeaning
No rebuild neededCache is still valid. Launch is immediate.
Runtime-onlyApplied at runtime. No cache changes.
Asset cache updateAsset indexes refresh. No native recompile.
Partial native rebuildA subset of compiled blocks is rebuilt.
Full profile rebuildAll compiled output is rebuilt from scratch.
UnsupportedCannot be applied with the current Nx86 version.
BrokenDeclared metadata does not match package contents.
BlockedSafety check failed or trust not granted.