Switch OC Suite
Overclocking suite for Horizon OS (HOS) running on Atmosphere CFW.
DISCLAIMER: USE AT YOUR OWN RISK!
-
Overclocking in general will shorten the lifespan of some hardware components.
-
Due to HorizonOS design, instabilities from unsafe RAM clocks may cause filesystem corruption. Always make backup before usage.
Features
-
Erista variant (HAC-001)
-
DRAM Overclock
- Safe: 1862.4 MHz
- Unsafe:
- DRAM bus overvolting
-
Modded sys-clk and ReverseNX-RT
- CPU & GPU frequency governor (Experimental)
- Fast-charging (2A) toggle, set charge limit (20% - 100%)
- Global Profile
- Sync ReverseNX Mode
-
-
Mariko variant (HAC-001-01, HDH-001, HEG-001)
-
CPU / GPU Overclock
- Safe: 1963 / 921 MHz
- Unsafe:
- Enable "Allow Unsafe Frequencies" in overlay to unlock frequencies up to 2397 / 1305 MHz
- See README for sys-clk-OC
-
DRAM Overclock
- Safe: 1996.8 MHz with built-in timing adjustment
- Unsafe:
-
Modded sys-clk and ReverseNX-RT
- Auto CPU Boost
- CPU & GPU frequency governor (Experimental)
- Fast-charging (2A) toggle, set charge limit (20% - 100%)
- Global Profile
- Sync ReverseNX Mode
-
-
Auto CPU Boost
- For faster game loading
- Enable CPU Boost (1785 MHz) when CPU Core#3 (System Core) is stressed (mainly I/O operations).
- Effective only when charger is connected.
-
CPU & GPU frequency governor (Experimental)
- Adjust frequency based on load. Might decrease power draw but can introduce stutters. Can be turned off for specific titles.
-
Fast-charging (2A) toggle, set charge limit (20% - 100%)
- Long-term use of charge limit may render the battery gauge inaccurate. Performing full cycles could help recalibration, or try battery_desync_fix_nx.
-
Global profile
- Designated a dummy title id
0xA111111111111111. - Priority: "Temp overrides" > "Application profile" > "Global profile" > "System default".
- Designated a dummy title id
-
Sync ReverseNX Mode
- No need to change clocks manually after toggling modes in ReverseNX (-RT and -Tool)
Installation
-
Download latest release.
-
Copy all files in
SdOutto the root of SD card. -
Grab
x.x.x_loader.kipfor your Atmosphere version, rename it toloader.kipand place it in/atmosphere/kips/. -
Customization via online loader configurator:
Defaults Mariko Erista CPU OC 2397 MHz Max Disabled CPU Boost 1785 MHz N/A CPU Volt 1220 mV Max Disabled GPU OC 1305 MHz Max N/A RAM OC 1996 MHz Max 1862 MHz Max RAM Volt N/A Disabled RAM Timing Auto-Adjusted Disabled -
Hekate-ipl bootloader Only
- Add
kip1=atmosphere/kips/loader.kipto boot entry section inbootloader/hekate_ipl.ini.
- Add
Deprecated: patching sysmodules manually
This method is only served as reference as it could damage your MMC file system if not handled properly.Patched sysmodules would be persistent until pcv or ptm was updated in new HOS (normally in x.0.0).
Tools:
- Lockpick_RCM
- TegraExplorer
- hactool
- nx2elf
- elf2nso from switch-tools
- hacpack
- Dump
prod.keyswith Lockpick_RCM - Dump HOS firmware with TegraExplorer
- Configure and run
test_patch.shto generate patched pcv & ptm sysmodules in nca - Replace nca in
SYSTEM:/Contents/registered/with TegraExplorer ValidateAcidSignature()should be stubbed to allow unsigned sysmodules to load (a.k.a.loader_patch)
Build
If you are to install nro forwarders, stub ValidateAcidSignature() with R_SUCCEED(); in Atmosphere/stratosphere/loader/source/ldr_meta.cpp to make them work again.
Uncompress the kip to make it work with configurator: hactool -t kip1 Atmosphere/stratosphere/loader/out/nintendo_nx_arm64_armv8a/release/loader.kip --uncompress=./loader.kip
Acknowledgement
- CTCaer for Hekate-ipl bootloader, RE and hardware research
- devkitPro for All-In-One homebrew toolchains
- masagrator for ReverseNX-RT and info on BatteryChargeInfoFields in psm module
- Nvidia for Tegra X1 Technical Reference Manual
- RetroNX team for sys-clk
- SciresM and Reswitched Team for the state-of-the-art Atmosphere CFW of Switch
- Switchbrew wiki for Switch in-depth info
- ZatchyCatGames for RE and original OC loader patches for Atmosphere