Kefirosphere is a fork of the Atmosphere project featuring a set of specific system modifications designed to enhance hardware support and optimize resource management on the Nintendo Switch.
The following is a detailed description of the modifications and features implemented in Kefirosphere compared to the upstream Atmosphere codebase.
- Boot Splash: The standard Atmosphere logo has been replaced with a custom Kefirosphere splash screen at the
bootandfuseelevels. - Version String Integration: The Kefirosphere version identifier is integrated into the System Settings and system error reports for easier build identification.
- Daybreak OS Version Display: The main menu of the Daybreak firmware update utility now displays the currently installed OS version.
- DRAM Drivers: Added support for newer LPDDR4X module revisions found in recent console batches, ensuring compatibility where standard drivers may fail.
- Kiosk Unit Compatibility: Initialization logic has been adjusted to ensure full functionality on demonstration (Kiosk) units.
- Signature Verification (ACID): ACID signature verification for homebrew is disabled. The project includes integrated signature patches ("sigpatches"), allowing installed content to run without external patch sets.
- Legacy Homebrew Support: Specific upstream changes in the kernel and loader that broke compatibility with older homebrew applications have been reverted to ensure a broader software support library.
- MicroSD Logging Removal: Diagnostic logging to the SD card (via
erptandfatalservices) has been disabled. This reduces microSD I/O overhead, improves performance, and extends the lifespan of the storage medium. - Save Redirection: Implemented an optional mechanism to redirect user saves from internal NAND to the microSD card when operating in emuMMC mode.
- Daybreak Safety Measures: The Factory Reset function in Daybreak is disabled to prevent accidental data loss. Additionally, exFAT driver support is forced by default during every update.
- System Pool Adjustment: The Non-Secure System Pool size has been reduced by approximately 1900 KB via
KSystemControl. These resources are reallocated to the system to extend the capabilities of background processes. - emuMMC RAM Boost: When booting into emuMMC, the system automatically releases 40 MB of RAM (typically reserved for the browser and Nintendo network services) for use by homebrew applications, such as emulators.
The project supports the generation of specific build variants via the patch system:
- Overclocking (OC): Patches for
pcvandptmmodules to unlock hardware frequency limits. - 8GB RAM Edition: Configurations tailored for consoles with hardware-expanded 8 GB RAM.
- 40MB Homebrew Boost: Forces the 40 MB memory release for all system modes.
Atmosphère is currently being developed and maintained by SciresM, TuxSH, hexkyz, and fincs.
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 and the minerva_tc project.
- m4xw for development of the emuMMC project.
- 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.
