Switch OC Suite
Overclocking suite for Switch (Mariko Only) running on Atmosphere CFW. Support Horizon OS 11.0.0-13.2.0.
Disclaimer
USE AT YOUR OWN RISK!
I AM NOT RESPONSIBLE FOR ANYTHING BAD THAT MIGHT HAPPEN TO YOUR CONSOLE (bans, internal component failure, etc.) by installing OC Suite or tinkering software/hardware with any info from this repo.
Features
- CPU/GPU/RAM Overclock up to 2397.0/1497.6/2131.2 MHz
- Fan Control Optimization at high load
- Modded sys-clk and ReverseNX(-Tools and -RT)
- No need to change clocks manually after toggling modes in ReverseNX
- Auto-Boost CPU for faster game loading
- Profile-aware clock override for all games
- System Settings
- Disable background services, less heat and power consumption in standby mode
- Game recording and SysDVR streaming @ 60fps with high video bitrate
- Option to change the threshold for chargers providing enough power
- TinyMemBenchNX: DRAM throughput and latency test based on tinymembench
- MemTesterNX: A userspace utility for testing DRAM faults based on memtester
- For testing stability, GPU/DRAM-heavy games like BotW/MHR will do better jobs as it's easier to spot framebuffer corruption/freeze
Details
-
Overclock
-
Official X1+ CPU/GPU Max clock: 1963.5/1267.2 MHz.
- Anything above that are not in the table of official module. (issue #4)
-
Recommended RAM clock: 1862.4 MHz @ 600mV, (1795.2 MHz for Hynix ones @ 600mV).
- Only 1331.2 MHz and Max MHz are available in sys-clk-OC settings.
- Use Hekate to check out the brand and of your RAM chips.
- EM shielding & thermal paste for RAM chips and testing with emuNAND before long-term usage.
-
For more info on available clock rates, see README.md in sys-clk-OC.
-
-
Overvolt and Extreme Overclock
-
CPU overvolting: 1220 mV, up from default 1120 mV. Frequencies ≥ 2193 MHz will enable overvolting.
-
GPU overvolting: 1170 mV, default 1050 mV. Frequencies ≥ 1420 Mhz trigger overvolting. (issue #4)
- You cannot set ≥ 1344 MHz without official chargers.
-
RAM
- Overvolting: precompiled hekate bootloader is provided
- Edit
oc.inito change Vddq voltage value:
[emc] volt=600000- Overvolting beyond 650mV is not safe and proved to be not much helpful.
- Edit
- Timings: [EXPERIMENTAL] source codes, definitions and examples are provided.
- Overvolting: precompiled hekate bootloader is provided
-
See issue #5 for more info on DRAM OC and timings
-
-
Fan Control Optimization at high load
- Higher tolerable temperature and smoother fan curve. Set
holdable_tskinto 56˚C. Previously it's set to 48˚C, so by default the fan would go crazy (80~100%) easily with a slight degree of OC. - Replace crappy factory thermal paste is preferred.
- Place a thermal pad onto Wi-Fi/BT module (shielded, adjacent to antennas) to lower tskin temperature.
- Higher tolerable temperature and smoother fan curve. Set
-
Modded sys-clk and ReverseNX(-Tools and -RT)
- No need to change clocks manually after toggling modes in ReverseNX
- Add
/config/sys-clk/downclock_dock.flagto use handheld clocks in Docked mode when Handheld mode is set in ReverseNX. - To disable this feature, use original version of ReverseNX-RT and delete
/config/sys-clk/ReverseNX_sync.flag.
- Add
- Auto-Boost CPU for faster game loading
- When a game launches or is in loading screen, sys-clk will boost CPU to 1963.5 MHz for ~10 seconds or until the loading screen ends.
- Some games don't utilize
SetCpuBoostModeat all, e.g. Overcooked 2, so Auto-Boost will be unavailable to these games. - To disable this feature, simply remove
boost_start.flagandboost.flagin/config/sys-clk/.
- Profile-aware clock override for all games
- Add
[A111111111111111]title config in/config/sys-clk/config.inito set frequency override globally:[A111111111111111] docked_cpu= docked_gpu= handheld_charging_cpu= handheld_charging_gpu= handheld_charging_usb_cpu= handheld_charging_usb_gpu= handheld_charging_official_cpu= handheld_charging_official_gpu= handheld_cpu= handheld_gpu=
- Add
- No need to change clocks manually after toggling modes in ReverseNX
-
Disable background services, less heat and power consumption in standby mode
- Remove the "Disable Background service" part in
/atmosphere/config/system_settings.iniif you use Nintendo Online services.
- Remove the "Disable Background service" part in
-
Game recording and SysDVR streaming @ 60fps with high video bitrate (7.5Mbps)
- (Recommended)dvr-patches: Allow screenshot/recording in any games and remove overlay image (copyright notice or logo).
- For optimal streaming experience, SysDVR via USB interface is recommended.
- Known Issues (won't fix)
- Game recordings may be less than 30 seconds if higher bitrate is used.
- It has noticeable performance impacts in demanding games.
- Video duration shown in album will be twice than the actual value, while the playback speed is not affected.
- To disable this feature, simply remove the
[am.debug]section insystem_settings.ini.
-
Option to change the threshold for chargers providing enough power
- Find the string
enough_power_threshold_mwinsystem_settings.ini. The default value is0x9858(39,000 mW). - To lower the threshold, you may change the value to
0x4268(17,000 mW). Now the system and "sys-clk" will see typical Power Delivery chargers that only supply up to 18W (9V/2A) as "Official Chargers".
- Find the string
Installation
- Modded
loader.kipwith embedded pcv, ptm, am-no-copyright, ValidateAcidSignature patches - Prebuilt sys-clk-OC and ReverseNX-RT modified for OC
- Hekate with DRAM overvolting patch
system-settings.iniwith some QoL improvements
-
Restoring pcv backup if you have patched pcv module manually: Launch the
patcher.tescript via TegraExplorer to restore your backup. Separated ptm patches should be removed to avoid conflicts. -
Copy all the files in
SdOutto the root of SD card.system_settings.inishould be edited manually. -
Grab
x.x.x_loader_xxxx.x.kipfor your Atmosphere version and desired RAM frequency (according to DRAM manufacturer), rename it toloader.kipand place it in/atmosphere/kips/. -
Hekate-ipl bootloader:
- Rename the kip to
loader.kipand addkip1=atmosphere/kips/loader.kipinbootloader/hekate_ipl.ini - Set DRAM voltage in
/oc.ini
Atmosphere Fusee bootloader:
- Fusee will load any kips in
/atmosphere/kips/automatically.
- Rename the kip to
Build
Grab necessary patches from the repo, then compile sys-clk, ReverseNX-RT, hekate and Atmosphere (or loader only) with devkitpro.
Acknowledgement
- CTCaer for Hekate-ipl bootloader, RE and hardware research
- devkitPro for All-In-One homebrew toolchains
- masagrator for ReverseNX-RT and BatteryChargeInfoNX
- 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