Nintendo Switch Overclocking Guide

Optimize CPU, GPU, and RAM performance on the Nintendo Switch across Horizon OS and Linux/Android.


Quick Reference: Stable OC Starting Points

Safe (sys-clk Limits, Any Switch)

ModeCPU (MHz)GPU (MHz)RAM (MHz)Notes
Docked17857681600RAM is already stock docked
Handheld (charger)17857681600Raise RAM from 1331
Handheld (battery)1020-14284601331Conserve battery

Erista (V1 Switch 2017, Beyond Safe Limits)

ProfileCPU (MHz)GPU (MHz)RAM (MHz)Notes
Gaming 60 FPS Patches17858441862Docked, charger required
Emulation (Linux)20917681862nvpmodel -m 6
Conservative Unsafe17859211862Charger required

Mariko (V2 2019 / Lite / OLED, Beyond Safe Limits)

ProfileCPU (MHz)GPU (MHz)RAM (MHz)Notes
Gaming 60 FPS Patches19639981862Docked, charger required
Emulation (Linux)229510751996nvpmodel -m 6
Conservative Unsafe20919981996Charger required

Switchroot Linux (Emulation)

Erista:  sudo nvpmodel -m 6 | ram_oc=1862000 | dvfsb=1
Mariko:  sudo nvpmodel -m 6 | ram_oc=1996000 | gpu_dvfsc=1

Beginner: Safe Overclocking with sys-clk

Everything in this section is within safe limits. Nothing here will damage your console.

What You Need

  • A Switch running Atmosphere CFW
  • Backed-up saves and NAND
  • sys-clk installed (if your Switch was set up by So-Cal Console Modding, it’s already there)
  • Tesla Menu and nx-ovlloader for the overlay to work

If sys-clk isn’t installed, download sys-clk-OC, extract to your SD card root, place loader.kip in /atmosphere/kips/, and reboot. Make sure the release matches your Atmosphere version.

Stock vs. Overclocked: What Changes

CPUGPURAM
Stock Handheld1020 MHz307 MHz1331 MHz
Stock Docked1020 MHz768 MHz1600 MHz
sys-clk Max (Safe)1785 MHz768 MHz1600 MHz

The big takeaway: In docked mode, GPU and RAM are already near their safe max. The main win is boosting CPU to 1785 MHz. In handheld, there’s much more room to improve across all three.

How to Set It Up

  1. Launch a game
  2. Press L + D-Pad Down + Right Stick Click to open Tesla overlay
  3. Select sys-clk or sys-clk-OC
  4. Enable it (Enabled = On)
  5. Select Edit App Profile
  6. Set your frequencies per mode (docked, handheld, handheld charging)
  7. Back out to save

The profile saves per game and applies automatically on launch. Set profiles per title rather than globally since different games have different bottlenecks.

What to Set

  • CPU-heavy games (Borderlands, Dark Souls): CPU to 1785
  • GPU-heavy games (Zelda, Mario): GPU is already 768 docked; boost CPU to 1785 for frame consistency
  • Handheld RAM: Always set to 1600 MHz. This is the single biggest handheld improvement.
  • Well-optimized games: Often don’t need OC at all

Intermediate: Pushing Beyond Safe Limits

This section goes past sys-clk’s safety caps. Overclocking beyond safe limits will reduce battery and component lifespan. Settings that work on one Switch may crash on another due to silicon lottery. If the beginner section solved your problem, stop here.

Horizon-OC: What It Is

Horizon-OC is an open-source overclocking tool for Nintendo Switch consoles running Atmosphere. Unlike older all-in-one CFW bundles, Horizon-OC is a kernel patch module (KIP) that works alongside your existing Atmosphere installation – it doesn’t replace anything. It provides CPU, GPU, and RAM tuning with over/undervolting support through a built-in overlay configurator.

Open the Ultrahand overlay, then select the Horizon OC overlay. From there you can adjust CPU, GPU, and RAM frequencies, configure over/undervolting parameters, and monitor real-time temps, frequencies, and power draw via hoc-monitor. After making changes, select Save KIP Settings to apply. Changes persist across reboots.

To install Horizon-OC:

  1. Download the latest Horizon-OC release
  2. Install Ultrahand Overlay if you don’t already have it
  3. Extract Horizon-OC to your SD card root
  4. Hekate users: Add kip1=atmosphere/kips/hoc.kip to your hekate_ipl.ini
  5. Fusee users: No extra steps needed
  6. Back up your NAND and SD card before rebooting

Warning: Overclocking RAM can cause NAND or SD corruption. Full backups (NAND, PROINFO, emuMMC) are strongly recommended before changing any settings.

How Far Can You Push It?

Erista SafeErista MaxMariko SafeMariko Max
CPU1785 MHz~2091 MHz1785 MHz~2397 MHz (with undervolting)
GPU768 MHz~921 MHz768 MHz~1075 MHz
RAM1600 MHz~1862 MHz1600 MHz~2133 MHz

Above GPU 998 MHz, gains are marginal but power draw jumps significantly.

Finding Your Stable Max

Every chip is different. Here’s how to find your unit’s limits:

  1. Start conservative. Pick values from the quick reference table above.
  2. Test for 15-30 minutes in a demanding game. Korok Forest in Zelda: BotW is the community standard GPU stress test. CPU-heavy games like Borderlands or Dark Souls test CPU stability.
  3. Watch for problems: crashes, graphical glitches, flickering, or battery draining while plugged in.
  4. If stable, raise one value by 50 MHz and retest. Only change one thing at a time.
  5. When it crashes, back off 50 MHz. That’s your stable ceiling for that component.
  6. Test RAM separately using MemTestNX (homebrew). Any errors = lower your RAM frequency.

Your Hardware Matters (Speedo Bins)

In Hekate (System > Console Info > Hardware and Fuses), you can see your CPU speedo, GPU speedo, and DRAM chip brand. Higher speedo = better silicon = more OC headroom.

There’s no official reference table. Compare your numbers to what others report on GBAtemp’s Switch OC Suite thread. If your values are above average, push harder. If below average, stay conservative.

Samsung DRAM (models MGCL-AA, MGCL-AB) tends to overclock better than Hynix or Micron.

Undervolting (Less Heat, Same Speed)

Undervolting lowers the voltage at a given frequency. Less heat and power draw, same performance – if it’s stable. If voltage is too low, the system crashes (no damage, just restart).

Approach: Start at stock voltage, lower by 10 mV, test, repeat until crash, then raise 20 mV above crash point.

Horizon-OC’s overlay configurator handles undervolting directly – adjust the voltage parameters, save KIP settings, and reboot to apply. For reference values, see the Switch OC Suite documentation.

Power Budget

The charger supplies up to 18W. If your OC draws more than that, the battery drains even while plugged in. Monitor power draw in hoc-monitor. If battery percentage drops while charging, lower your clocks.

Erista hits its board power limit around 1785/768/1600 at full load. Mariko is more efficient but still tops out around 2397/1075/2133 at ~17W+.

Cooling

Only matters at aggressive OC. External dock fans help. Replacing factory thermal paste can drop temps 5-10C. Don’t enclose your dock in a cabinet.


Advanced: Linux/Android Emulation

Linux doesn’t have sys-clk’s safety guardrails. You have direct kernel-level frequency control and unstable RAM clocks can corrupt your filesystem, not just crash a game. Back up before testing.

Power Profiles (nvpmodel)

ModeNameCPUGPUBest For
0ConsoleStock maxStock maxGeneral use
2OC CPUMax CPUStock GPUN64/PS1
3OC GPUStock CPUMax GPURetroArch upscaling
4OC AllMax CPUMax GPUDreamcast level emulation
6Perf OC AllMax CPU (floor)Max GPU (floor)AetherSX2/Dolphin

“Perf” profiles set a minimum frequency floor so clocks don’t drop during gameplay, reducing stutter. Use mode 6 for emulation, switch back to mode 0 when done.

sudo nvpmodel -m 6  # Perf OC All (emulation)
sudo nvpmodel -m 0  # Back to stock

RAM Overclocking in L4T

Set via ram_oc in your hekate boot entry (in kHz). Do not mix with Atmosphere boot paths.

Erista safe: 1862 MHz. Supported range: 1600-2366 MHz.

Mariko safe: 1996 MHz. Supported range: 1600-3200 MHz.

For timing-based OC, use the L4T RAM OC Configuration Generator. Start with frequency only, test with memtester and mem-bench, then add timing adjustments gradually.

DVFS Options

dvfsb=1          # CPU/GPU/core power reduction
gpu_dvfsc=1      # GPU power reduction at high freq (Mariko)
limit_gpu_clk=1  # Cap GPU at 1075 MHz for stability with gpu_dvfsc

Emulator Settings

Dolphin (GameCube/Wii): CPU-bound. Use mode 6. Dual core: Off. Shader cache: Precompiled. Resolution: 2-3x.

AetherSX2 (PS2): Install via Flatpak on Linux, or use NetherSX2 on Android. Use mode 6. Test both Vulkan and OpenGL; Nvidia’s OpenGL on Tegra is well-optimized and sometimes faster.

RetroArch: Light CPU needs. Mode 3 or 6. Resolution: 2-4x upscaling.


Troubleshooting

ProblemCauseFix
Crash during loadingCPU voltage too lowLower CPU freq or raise voltage
Crash in 3D scenesGPU too high or overheatingLower GPU freq; check cooling
Random crashesRAM unstableLower RAM freq; run MemTest
Graphical glitchesGPU or RAM OC too aggressiveLower GPU or RAM freq
Filesystem corruption (Linux)RAM OC unstableReboot safe config; lower RAM
Battery drains while plugged inPower draw exceeds 18WLower CPU and/or GPU

Recovery (Horizon OS): Pull SD card, reset /config/sys-clk/config.ini to defaults.

Recovery (Linux): Keep a backup boot entry with stock clocks in hekate_ipl.ini.


Resources

Overclocking: sys-clk-OC | Switch OC Suite | Horizon-OC

Linux: Switchroot Wiki | L4T-Megascript | RAM OC Generator

Emulators: Dolphin | AetherSX2 (Flatpak/Linux) | NetherSX2 (Android) | RetroArch

Testing: MemTestNX (GBAtemp) | memtester, stress-ng, mem-bench (Linux) | Status Monitor Overlay (HOS)

Community: r/switchpirates | r/nxswitchmodding | GBAtemp | Switchbrew Wiki


Related Guides


Was this guide helpful? Consider donating to support our development of new content, software, and guides.

Support This Guide

Need a modchip installed? Place an order or learn how to ship your console.

Last Updated: April 2026 | For educational and hobby experimentation purposes

Leave a Comment