Atmosphère is a work-in-progress customized firmware for the Nintendo Switch.
Atmosphère consists of multiple components, each of which replaces/modifies a different component of the system:
- Fusée: First-stage Loader, responsible for loading and validating stage 2 (custom TrustZone) plus package2 (Kernel/FIRM sysmodules), and patching them as needed. This replaces all functionality normally in Package1loader/NX Bootloader.
- Exosphère: Customized TrustZone, to run a customized Secure Monitor
- Thermosphère: EL2 EmuNAND support, i.e. backing up and using virtualized/redirected NAND images
- Stratosphère: Custom Sysmodule(s), both Rosalina style to extend the kernel/provide new features, and of the loader reimplementation style to hook important system actions
- Troposphère: Application-level Horizon OS patches, used to implement desirable CFW features
Atmosphère is currently being developed and maintained by SciresM, TuxSH and hexkyz.
In no particular order, we credit the following for their invaluable contributions:
- switchbrew for the libnx project and the extensive documentation, research and tool development pertaining to the Nintendo Switch.
- devkitPro for the devkitA64 toolchain and libnx support.
- ReSwitched Team for additional documentation, research and tool development pertaining to the Nintendo Switch.
- ChaN for the FatFs module.
- Marcus Geelnard for the bcl-1.2.0 library.
- naehrwert and st4rk for the original hekate project and its hwinit code base.
- CTCaer for the continued hekate project's fork.
- Riley for suggesting "Atmosphere" as a Horizon OS reimplementation+customization project name.
- hedgeberg for research and hardware testing.
- lioncash for code cleanup and general improvements.
- jaames for designing and providing Atmosphère's graphical resources.
- Everyone who submitted entries for Atmosphère's splash design contest.
- All those who actively contribute to the Atmosphère repository.
Que novedades incluye la versión 0.8.10
A bug was fixed that could cause incorrect system memory allocation on 5.0.0.
- 5.0.0 should now correctly have an additional 12 MiB allocated for sysmodules.
- Atmosphère features which check button presses now consider all controllers, instead of just P1.
Support was added for configuring language/region on a per-game basis.
- This is managed by editing atmosphere/titles/<title id>/config.ini for the game.
To edit title language, edit override_config!override_language.
- The languages supported are ja, en-US, fr, de, it, es, zh-CN, ko, nl, pt, ru, zh-TW, en-GB, fr-CA, es-419, zh-Hans, zh-Hant.
To edit title region, edit override_config!override_region.
- The regions supported are jpn, usa, eur, aus, chn, kor, twn.
Atmosphère now provides a reimplementation of the boot system module.
- boot is responsible for performing hardware initialization, showing the Nintendo logo, and repairing NAND on system update failure.
Atmosphère's boot implementation preserves AutoRCM during NAND repair.
- NAND repair occurs when an unexpected shutdown or error happens during a system update.
- This fixes a final edge case where AutoRCM might be removed by HOS, which could cause a user to burn fuses.
- General system stability improvements to enhance the user's experience.