Switch sysmodule allowing you to set cpu/gpu/mem clocks according to the running application and docked state.
The following instructions assumes you have a Nintendo Switch running Atmosphère, updated to at least the latest stable version.
atmosphere folder at the root of your sdcard, overwriting files if prompted.
Config file allows one to set custom clocks per docked state and title id, described below
Log file where the log are written if enabled
Log flag file enables log writing if file exists
Presets can be customized by adding them to the ini config file located at
/config/sys clk/config.ini, using the following template for each app
[Application Title ID] docked_cpu= docked_gpu= docked_mem= handheld_charging_cpu= handheld_charging_gpu= handheld_charging_mem= handheld_charging_usb_cpu= handheld_charging_usb_gpu= handheld_charging_usb_mem= handheld_charging_official_cpu= handheld_charging_official_gpu= handheld_charging_official_mem= handheld_cpu= handheld_gpu= handheld_mem=
Application Title IDwith the title id of the game/application you're interested in customizing. A list of games title id can be found in [Switchbrew wiki](https //switchbrew.org/wiki/Title_list/Games).
- Frequencies are expressed in mhz, and will be scaled to the nearest possible values, described in the clock table below.
- If any key is omitted, value is empty or set to 0, it will be ignored, and stock clocks will apply.
- If charging, sys clk will look for the frequencies in that order, picking the first found
Charger specific config (USB or Official)
handheld_charging_official_XNon specific charging config
Example 1 Zelda BOTW
- Overclock CPU when docked or charging
- Overclock MEM to docked clocks when handheld
Leads to a smoother framerate overall (ex in the korok forest)
[01007EF00011E000] docked_cpu=1224 handheld_charging_cpu=1224 handheld_mem=1600
Example 2 Picross
- Underclocks on handheld to save battery
[0100BA0003EEA000] handheld_cpu=816 handheld_gpu=153 handheld_mem=800
To protect the battery from excessive strain, clocks requested from config may be capped before applying, depending on your current profile:
|Handheld||Charging (USB)||Charging (Official)||Docked|
Clock table (MHz)
- 1600 > official docked, max clock
- 1331 > official handheld
- 1785 → max clock, will cause instability in certain configurations
- 1224 → sdev oc
- 1020 → official docked & handheld
**Note ** GPU overclock is capped at 460Mhz on handheld, and capped at 768Mhz if charging unless you're using the official charger.
GPU overclock is capped at 460 if handheld
Clocks higher than 768MHz need the official charger is plugged.
- 921 → max clock
- 768 → official docked
- 460 → max handheld
- 384 → official handheld
- 307 → official handheld