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.9.3
Thanks to hexkyz, fusee's boot sequence has been greatly optimized.
- Memory training is now managed by a separate binary (fusee-mtc, loaded by fusee-primary before fusee-secondary).
- Unnecessarily long splash screen display times were reduced.
- The end result is that Atmosphere now boots significantly faster. :)
- Note: This means fusee-primary must be updated for Atmosphere to boot successfully.
- The version string was adjusted, and now informs users whether or not they are using emummc.
Atmosphere now automatically backs up the user's BIS keys on boot.
This should prevent a user from corrupting nand without access to a copy of the keys needed to fix it.
- This is especially relevant on ipatched units, where the RCM vulnerability is not an option for addressing bricks.
- This should prevent a user from corrupting nand without access to a copy of the keys needed to fix it.
The pm system module was rewritten as part of Stratosphere's ongoing refactor.
Support was added for forward-declaring a mitm'd service before a custom user sysmodule is launched.
- This should help resolve dependency issues with service registration times.
- Support was added for forward-declaring a mitm'd service before a custom user sysmodule is launched.
- SM is now informed of every process's title id, including built-in system modules.
The creport system module was rewritten as part of Stratosphere's ongoing refactor.
- creport now dumps up to 0x100 of stack from each thread in the target process.
- A few bugs were fixed, including one that caused creport to incorrectly dump process dying messages.
Defaults were added to system_settings.ini for controlling hbloader's memory usage in applet mode.
- These defaults reserve enough memory so that homebrew can launch swkbd while in applet mode.
The fatal system module was rewritten as part of Stratosphere's ongoing refactor.
- Incorrect display output ("2000-0000") has been fixed. Fatal will now correctly show 2162-0002 when this occurs.
- A longstanding bug in how fatal manages the displays has been fixed, and official display init behavior is now matched precisely.
- General system stability improvements to enhance the user's experience.