Modded Nyx — Release Notes v0.2
Release date: 2026-08-16
Mod version: 0.2
Base: hekate 6.5.3 / stock Nyx 1.9.3
Artifact: output/nyx.bin → SD:/bootloader/sys/nyx.bin
Summary
v0.2 completes the System Rescue tab for recovering a Switch that still boots hekate but fails to launch Atmosphere. The focus is SD-side cleanup, selective CFW reinstall from a staging folder, overlay tooling, and clearer UI feedback — all without a PC at repair time.
Not included: native sysNAND firmware downgrade. That requires Horizon + Atmosphere Daybreak (see Firmware downgrade below).
What’s New in v0.2
System Rescue tab (Tools → 3rd sub-tab)
| Feature | Description |
|---|---|
| Version bar | One-line FW + Atmosphere display from atmosphere/package3 when present; fuse-based FW fallback otherwise |
| Step 1 — Fast Purge | Removes known-bad themes/overlays/sysmodules + clears atmosphere/erpt_reports |
| Step 2 — Advanced Reset | Removes reboot_payload.bin, system_settings.ini, cheat_vm_logs/ |
| Step 3 — Selective reinstall | Options window with toggles: Atmosphere ZIP, fusee.bin, hekate update, modded nyx staging |
| Staging scan | #FF8000 Scan:# Atmo/Fusee/Hek/Nyx status before you confirm |
| Install Overlay Tools | Extracts nx-ovlloader*, ovlmenu*, sys-patch* from rescue folder |
| Full Instructions | Scrollable help (archive bit, cheat fix, download links, workflow) |
| Step 1 info | Compact help button instead of inline text clutter |
Step 3 behavior
- Backs up existing
atmosphere/toatmosphere_YYYYMMDD/before ZIP extract - fusee.bin →
SD:/fusee.bin(root only; streamed copy with size verify) - hekate.zip* →
SD:/payload.bin,bootloader/update.bin, andbootloader/tree - nyx.bin (optional in rescue folder) →
SD:/bootloader/sys/nyx.bin— runs after hekate so stock Nyx is not left in place - Log:
SD:/bootloader/rescue/rescue_log.txt
UI fixes
- Step 3 toggles use a single full-width column (fixes clipped ON/OFF on the right)
- Result summaries use
_rescue_summary_append()— one recolor segment per line - Result dialog uses standard
lv_mboxwith left-aligned text and OK vianyx_mbox_action - Rescue tab column layout spacing adjusted under the version bar (
col_y)
Build / toolchain
| File | Change |
|---|---|
nyx/nyx_gui/frontend/gui_tools.c |
System Rescue mod (~1,940 lines custom block) |
nyx/nyx_gui/link.ld |
__end__ symbol in .bss |
bdk/utils/util.c |
Guard custom strtol when GCC ≥ 15 (avoids Nyx link conflict) |
Build: make nyx (or Docker switch-nvk-build, then make -C nyx)
Typical output size: ~616 KB (output/nyx.bin)
Installation
- Build or obtain
output/nyx.binfrom this repo. - Copy to
SD:/bootloader/sys/nyx.bin. - Boot hekate → Tools → sub-tab System Rescue.
Prepare SD:/bootloader/rescue/ before Step 3:
bootloader/rescue/
├── atmosphere*.zip
├── fusee.bin (recommended)
├── hekate*.zip
├── nyx.bin (optional — restore this mod after hekate update)
├── nx-ovlloader*.zip (after Step 3, for games)
├── ovlmenu*.zip
└── sys-patch*.zip
See readme_modded_nyx.md for the full user guide.
Upgrade from v0.1
If you already had an early rescue build:
- Replace
bootloader/sys/nyx.binwith the v0.2 build. - No SD layout changes required — same
bootloader/rescue/folder. - Step 3 now opens an options window; defaults follow what is found in the rescue folder.
- Re-stage
nyx.bininbootloader/rescue/if you use Step 3’s hekate option (hekate update overwrites sys nyx with stock).
Known Limitations
- Runs only when hekate/Nyx and SD are accessible.
- ZIP files load into RAM; very large archives may fail on Nyx heap.
- Step 1/2 delete specific paths only — not a full SD wipe.
- hekate self-update replaces
bootloader/sys/nyx.binwith stock Nyx; keep a backup of moddednyx.bin. - UI preview in
tools/nyx_rescue_ui_preview/is approximate — verify on hardware.
Firmware Downgrade (Out of Scope)
Accidental Nintendo system firmware updates are not fixed by copying files from Nyx. Real downgrade uses Daybreak under a running Atmosphere session (ams:su → sysNAND content install from official update NCAs).
Practical path after accidental FW update:
- Use Step 3 to reinstall a matching Atmosphere + fusee for your target HOS.
- Boot into CFW → run Daybreak with NCAs on SD (e.g.
SD:/firmware/<version>/). - Do not expect a future Nyx-native NAND flasher — evaluated and deferred as too large a project.
Documentation
| File | Purpose |
|---|---|
readme_modded_nyx.md |
User guide |
context_nyx_rescue.md |
Developer porting guide |
nyx_rescue_custom_code.c |
Paste-ready snippet (re-export from gui_tools.c before porting) |
tools/nyx_rescue_ui_preview/ |
Optional browser layout mock |
Credits
- hekate / Nyx — CTCaer and contributors
- System Rescue mod — custom fork work on hekate 6.5.3
- miniz (BDK) — in-process ZIP deflate for Step 3
- Reference trees under
.tmp/(stock hekate, Atmosphere Daybreak, HATS payload) used for research only
v0.1 → v0.2 at a Glance
v0.1 Initial System Rescue (Steps 1–3, basic reinstall)
v0.2 Version bar, selective Step 3, nyx staging, overlays,
UI/result fixes, build toolchain fixes, docs complete
(no native FW downgrader)