Switch OC Suite
Overclocking suite for Switch (Mariko Only) running on Atmosphere CFW.
For Horizon OS 11.0.x ~ 12.1.0. (AIO Package only supports the latest OS version for easier maintenance.)
Notice
Reserved and intended for personal use ONLY. It will NOT be actively maintained.
Failure to read this README carefully or Doing CPU/GPU Overclocking on Erista will brick or fry your device (in the short term or long term, who knows).
Features
-
CPU/GPU Overclock up to 2397.0/1344.0 MHz for Mariko
-
Auto-Boost CPU when a game starts or is loading
-
Optimization for fan control at high load
-
RAM Overclock up to 1996.8 MHz for Mariko
-
Disable background services, less power consumption in standby mode (Optional)
-
Sync sys-clk profiles with ReverseNX(-Tools and -RT), no need to change clocks after toggling modes
-
Profile-aware frequency override for all games
-
Game recording and SysDVR streaming @ 60fps with high video bitrate (Optional)
-
Remove copyright watermark in screenshots/recordings, courtesy of HookedBehemoth
Details
-
Bump CPU/GPU frequencies up to 2397.0/1344.0 MHz for Mariko, bypassing Horizon OS limit.
- Some SoCs may not reach MAX clock, or be unstable at/near MAX clock.
- Mariko is still functioning w/o charger under MAX OC(Your Mileage May Vary), therefore limit posed by sys-clk is lifted for Mariko, but don't overdo it on battery.
-
Auto-Boost CPU when a game starts or is in loading screen (Optional).
-
1963.5 MHz w/o charger and 2295.0 MHz with charger
-
Some games don't utilize SetCpuBoostMode, e.g. Overcooked 2, so Auto-Boost would be invalid in loading screens.
-
-
RAM Overclock, up to 1996.8 MHz for Mariko without overvolting.
- RAM frequencies other than the only one you've chosen can NOT be used, but the impact of power consumption is negligible. So the ability to set RAM frequencies is removed in favor of ptm RAM patches, which could set RAM at specific clock permanently.
- Recommended frequency for Hynix RAM is 1731.2/1862.4 MHz(fk Hynix), but for Samsung and Micron ones you may use higher frequencies like 1996.8 MHz.
- Use Hekate to check out the brand of your RAM chips.
- Choose RAM clock with care, or your eMMC filesystem will be corrupted.
-
Game recording and SysDVR streaming @ 60fps with high video bitrate (Optional).
- Video duration shown in album will be 2x than the actual value, but playback speed is not affected.
-
Recordings may be less than 30sec if higher bitrate is used.
- It has noticeable performance impacts in demanding games.
-
For optimal streaming experience, SysDVR via USB interface is recommended.
Known Issues
- Tesla Menu and its overlays will sometimes crash atmosphere in Docked mode, usually happens after CPU Boost Mode ends. (Currently under investigation)
Installation
Method A: AIO Package
Contains:
-
Patches for pcv and ptm modules (for HOS 12.1.0)
-
Precompiled patch tools for pcv module (only for amd64 Windows, build yourself otherwise):
hactool, nx2elf, elf2nso from switch-tools, hacPack, bsdiff-win (bsdiff)
-
Prebuilt sys-clk and ReverseNX-RT modified for OC
-
system-settings.ini
⚠️Warnings:⚠️
-
Since system files are altered, you could NOT boot to stock(OFW) with patch applied to SysNAND until you revert the patch, and ban risks exist (?). Therefore, patching SysNAND is NOT encouraged.
-
Restoring pcv module backup is required before updating Horizon OS and booting OFW. Launch the
patcher.tescript to restore your backup.
Steps:
-
Make sure you are running targeted HOS (12.1.0), and have
prod.keyswith latest master key (0b) dumped by Lockpick_RCM. -
Loader patches for Atmosphere: Grab from the web and apply. I won't provide them here. (Or build AMS with
ValidateAcidSignature()stubbed.) -
Place all the files in
SdOutinto SD card. See [Usage and customization](#usage and customization) and Details sections for more info.-
Be careful of
/atmosphere/config/system_settings.ini, you may want to edit it manually. -
Remove all the files in previous OC Suite version before updating to avoid conflicts.
-
-
Dump your pcv module.
If you already have the pcv backup of targeted HOS version, jump to Step 5. Otherwise, redump is required.
-
Load TegraExplorer payload in hekate.
-
Choose
Browse SD->patcher.te->Launch Script. -
Select the MMC you'd like to mount and
Dump PCV Module Backup -
Wait for
Done!showing up and transfer the backup/atmosphere/oc_patches/pcv-backupto your PC.
-
-
Extract
PatchToolsfolder from the AIO package, putpcv-backupandprod.keysin. -
Select RAM frequency and prepare the patches:
-
Copy the
/atmosphere/oc_patches/xx-xxxx.x/ptm-patchfolder ->/atmosphere/exefs_patches/on your SD card. -
Copy
/atmosphere/oc_patches/xx-xxxx.x/pcv-bspatch->PatchToolson your PC.
-
-
Open
cmd.exe, change working directory to thePatchToolsfolder and type in the following commands.Assuming that you put the folder on your Desktop:
cd %USERPROFILE%\Desktop\PatchTools mkdir .\temp mkdir .\temp\pcv_exefs hactool -k prod.keys --disablekeywarns -t -nca .\pcv-backup --exefsdir .\temp nx2elf .\temp\main bspatch .\temp\main.elf .\temp\main-mod.elf .\pcv-bspatch elf2nso .\temp\main-mod.elf .\temp\pcv_exefs\main copy .\temp\main.npdm .\temp\pcv_exefs\ hacpack -k prod.keys -o .\ --type nca --ncatype program --titleid 010000000000001A --exefsdir .\temp\pcv_exefs\ ren *.nca pcv-module rd /S /Q .\temp\ rd /S /Q .\hacpack_backup\ -
Move the patched
pcv-moduleto/atmosphere/oc_patches/. -
In TegraExplorer,
Browse SD->patcher.te->Launch Scriptand thenApply Patched PCV Module. -
Wait for
Done!and then reboot to enjoy.
Method B: For Pro-users
git clone https://github.com/KazushiMe/Switch-OC-Suite.git ~/Switch-OC-Suite
cd $YOUR_ATMOSPHERE_REPO
cp -R ~/Switch-OC-Suite/Atmosphere/*pp stratosphere/loader/source/
patch < ~/Switch-OC-Suite/Atmosphere/ldr_patcher.diff
cd $YOUR_SYS_CLK_REPO
git apply ~/Switch-OC-Suite/sys-clk.diff
cd $YOUR_REVERSENX_RT_REPO
git apply ~/Switch-OC-Suite/ReverseNX-RT.diff
Then compile sys-clk, ReverseNX-RT and Atmosphere with devkitpro, and don't forget to grab necessary patches in the repo.
Simply build loader.kip from Atmosphere and load it with hekate if you don't feel like wasting time.
Usage and customization
system_settings.ini in /atmosphere/config/
-
Remove the "Disable Background service" part if you use Nintendo Online services.
-
For "Game Recording FPS and Bitrate", if you play demanding games or don't care about streaming/framerate/bitrate, comment out this section.
sys-clk
-
Remove
/config/sys-clk/boost.flagif you like longer waiting time in loading screens. -
Remove
/config/sys-clk/boost_start.flagif you don't want games to boot faster. -
Add
/config/sys-clk/downclock_dock.flagto use handheld clocks in Docked mode when Handheld flag is set in ReverseNX. -
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=
Credit
-
CTCaer for modded Hekate bootloader, RE and hardware research
-
HookedBehemoth for am_no_copyright patch
-
masagrator for ReverseNX-RT
-
SciresM and Reswitched Team for the state-of-the-art Atmosphere CFW of Switch
-
suchmememanyskill for TegraExplorer and TegraScript
-
Switchbrew wiki for Switch in-depth info
-
ZatchyCatGames for RE and original OC patches