Horizon OC Switch
More actions
| Horizon OC | |
|---|---|
| General | |
| Author | Souldbminer |
| Type | Sysmodules |
| Version | 2.4.1 |
| License | GPL-2.0 |
| Last Updated | 2026/06/06 |
| Links | |
| Download | |
| Website | |
| Source | |
Horizon OC is an open-source overclocking tool for Nintendo Switch consoles running Atmosphere custom firmware. It enables advanced CPU, GPU, and RAM tuning with user-friendly configuration tools.
Disclaimer warning - This tool can be dangerous if misused. Due to the design of Horizon OS, overclocking RAM can cause NAND or SD corruption, so it is advised to have a full NAND, PROINFO, EMUMMC and SD backup before proceeding.
Default clocks
- CPU clocks up to 1963MHz (Mariko) / 1785MHz (Erista)
- GPU clocks up to 1075MHz (Mariko) / 921MHz (Erista)
- RAM clocks up to 1866/2133MHz (Mariko) / 1600MHz (Erista)
- Over/undervolting support
- Built-in configurator
- Compatible with most homebrew
It is recommended to read the guide before proceeding, as this can help you get a significant performance boost over the default settings, often times with less power draw and heat output
Installation
- Ensure you have the latest versions of Atmosphere Switch and Ultrahand Overlay Switch.
- Download and extract the Horizon OC Package to the root of your SD card.
- If using Hekate, edit
hekate_ipl.inito include:
kip1=atmosphere/kips/hoc.kip secmon=atmosphere/exosphere.bin
No changes are needed if using fusee.
Configuration:
- Open the Horizon OC Overlay.
- Open the settings menu.
- Adjust your overclocking settings as desired.
- Click Save KIP Settings to apply your configuration.
Clock table
MEM clocks (mhz)
- 3200 → max on mariko, JEDEC.
- 3166
- 3133
- 3100
- 3066
- 3033
- 3000
- 2966
- 2933 → JEDEC.
- 2900
- 2866
- 2833
- 2800
- 2766
- 2733
- 2700
- 2666 → JEDEC.
- 2633
- 2600
- 2566
- 2533
- 2500
- 2466
- 2433
- 2400 → max on erista, JEDEC.
- 2366
- 2333
- 2300
- 2266
- 2233
- 2200
- 2166
- 2133 → Mariko JEDEC standard max (4266 Modules)
- 2100
- 2066
- 2033
- 2000
- 1996 → JEDEC standard
- 1966
- 1933
- 1900
- 1866 → Mariko JEDEC standard max (3733 Modules)
- 1833
- 1800
- 1766
- 1733
- 1700
- 1666
- 1633
- 1600 → official docked, boost mode, Erista JEDEC standard max (3200 Modules), JEDEC.
- 1331 → official handheld, JEDEC.
- 1065
- 800
- 665
CPU clocks (mhz)
- 2703 → mariko absolute max, dangerous
- 2601 → unsafe
- 2499
- 2397 → mariko safe max with UV (low speedo)
- 2295
- 2193
- 2091
- 1963 → mariko no UV max clock
- 1887
- 1785 → erista no UV max clock, boost mode
- 1683
- 1581
- 1428
- 1326
- 1224 → sdev oc
- 1122
- 1020 → official docked & handheld
- 918
- 816
- 714
- 612 → sleep mode
GPU clocks (mhz)
- 1536 → absolute max clock on mariko. very dangerous
- 1459
- 1382
- 1305
- 1267 → NVIDIA T214(mariko) rating
- 1228 → mariko High UV safe clock
- 1152 → mariko hiOpt-15mV max clock
- 1075 → mariko hiOpt max clock. absolute max clock on erista. very dangerous
- 998 → NVIDIA T210 (erista) rating
- 960 (erista only) → erista high uv/hiOpt-15mV safe max clock
- 921 → erista no UV max clock
- 844
- 768 → official docked
- 691
- 614
- 537
- 460 → max handheld
- 384 → official handheld
- 307 → official handheld
- 230
- 153
- 76 → boost mode
Notes:
- On Erista, CPU in handheld is capped to 1581MHz
- GPU overclock is capped at 460MHz on erista in handheld
- On Mariko, cap with hiOpt is 614MHz, with hiOpt-15mV it is 691MHz and with High UV it's 768MHz
- Clocks higher than 768MHz on erista need the official charger is plugged in.
Changelog
Horizon OC 2.4.1
- Bugfix update.
Horizon OC 2.4.0
ldr:
- Erista: Mariko-style MRF for Erista; Timing tBreak is also present; t2 tRP cap is unnecessary; improved write timings.
- Mariko: added GPU boot voltage patch (experimental); new DVB table (thanks B3711).
hoc-clk:
- Edge cases with Mariko middle freqs have been corrected.
- Removed handheld TDP (it's problematic).
- DVFS for Erista.
- Improved UI with graphs and such.
- Auto CPU RAM OC: automatically overclock CPU to meet higher vmin requirement when RAM clock is high.
- KIP migration: updates are automatically migrated; drag, drop and reboot twice (if updating from 2.4.0 release candidates you must reset your settings).
- Input current override (by Miki): allows overwriting the input current to the board (experimental, use with caution).
Horizon OC 2.3.1
ldr (Mariko only):
- DVB table changes: fixed an issue where higher voltage was used than needed; DVB voltage table was significantly improved (thanks to halop and jimmy_f); it is recommended to retest your DVB, which should be much tighter and only need around DVB 2-4; this leads to a lower voltage spread at lower freqs, potentially saving ~0.3W.
- CPU voltage patches now use the CvbMeta struct on Mariko rather than hardcoding offsets.
hoc-clk:
- Display voltage is now read from i2c instead of rgltr.
- An info section was added; press Y on various settings (e.g. vdd2) to receive more information.
- A resolution read bug was fixed.
- Experimental: Erista live CPU UV was improved.
Horizon OC 2.3.0
ldr:
- DVB table has been significantly improved; far less DVB shift is required for high RAM clocks to function now; DVB range has been changed to -4 to 8; if your DVB is >8 it will be automatically changed to fit the new range.
hoc-clk:
- An edge case with middle freqs has been corrected.
- An OOM error was fixed.
For developers:
- CUST_REV has been changed to 3; emcDvbShift is now a s32; KIP_VERSION is now 230; there are no context layout changes in this version.
Horizon OC 2.2.0
ldr:
- An edge case with MRF was fixed where 1333 latency wasn't being applied.
- An issue was fixed that prevented booting at 1600MHz max clock.
- KIP version is now stored in the cust struct.
- An extremely specific timing edge case with tRC was fixed.
hoc-clk:
- Previously unused display color options on OLED are now available.
- Memory usage was significantly reduced.
- Fixed an issue that caused an unintended clock reset.
- GPU RAM OC DVFS logic was improved.
- The aotag driver from L4T was ported to HOS (requires a patched exosphere binary, included in the release; used to calculate more accurate memory temps on Mariko, while Erista keeps using its memory sensors; the formula is an estimation).
- On very select consoles, exiting boost mode can trigger the CPU voltage bug; this issue has been mitigated.
- A French translation by th3-ne0undr5c0r and a Russian translation by redraz were added.
- KIP version is now checked and will detect potential outdated kips/sysmodule.
- A stable struct was added to HocClkContext (will remain unchanged in future updates; useful for developers; includes target freqs, real freqs, override freqs, temperatures including tsensor, power draw, part load, and voltages).
- Cust version check was fixed.
- Speedos and other hardware info are now read directly from fuses.
- DVFS voltage brackets were improved (thanks to jontomy).
- hoc-clk code was refactored again.
- Wafer coordinate readings were fixed.
- A notification icon is now included (thanks ppkantorski).
- Experimental: middle freqs were added to Mariko via the gm20b driver.
- The build process was significantly improved.
Horizon OC Gaea 2.1.0
ldr:
- Added SOC voltage uncap patch (allows higher SoC voltage for those limited by it).
- Added 133MHz step mode (RAM clocks are stepped by 133MHz in this mode: 1600, 1733, 1866, 2000, 2133, etc.).
hoc-clk:
- Configurator rework (many items now use trackbars; names updated to reflect the latest ones; added support for newest features).
- BQ24193 temperature driver (temperature visible in the about section).
- DVFS improvement for low freqs (thanks B3).
hoc-monitor:
- Bugfixes.
Horizon OC Gaea 2.0.2
- hoc-clk: Fixed crash upon opening the governor submenu.
Horizon OC 2.0.1
- ldr: Fixed an mtcTable pointer that was incorrectly being updated, which was mostly harmless but caused freezes on 8GB modules and potential instability on other RAM modules.
- hoc-clk: Display undervoltage is no longer shown on OLED due to increasing power draw.
Horizon OC 2.0.0
- ldr: Multiple RAM frequencies were added to Mariko (configurable via step mode, latency max and other options); T2 cap added for 1333WL; timing tbreak and low t7/t6 added; an auto latency mode or the ability to deactivate certain latencies entirely is included; IRAM logging is now available on Erista (not on Mariko due to IRAM getting cleared).
- hoc-clk: RAM usage reduction added; RAM PLL measurement added to experimental settings; KIP changes are now automatically saved; minimum GPU Vmin for Erista lowered to 675mV; minimum display voltage lowered to 800mV; RAM bandwidth added; option to display MT/s added; overlay UI updated for MRF support; various other minor UI changes; logging improved; Spanish translation improved by TDRR.
- Hoc-monitor: Temp reading bugs fixed; recompiled with latest libultrahand; bandwidth toggle added.
Horizon OC 1.2.1
- ldr: Recompiled for AMS 1.11.1 support; a CPU clock capping bug was fixed.
- hoc-clk: Italian translation improved by Miki; a CPU clock capping bug was fixed; display undervoltage added; alignment improved.
- Hoc-monitor: Fixed a minor bug with mini monitor that resulted in brief garbage reads; default font size reduced.
Horizon OC 1.2.0
- hoc-clk: Soctherm added (enables CPU, GPU, pllx and memory temperature sensors; memory unavailable on Mariko, where pllx is used instead); hoc-clk rewritten for a cleaner code structure; Korean translation by angelblaster added; Chinese translation by q1332348216-glitch added; a VRR bug fixed; GPU UV options renamed to reflect their proper names from EOS (default is now hiOpt, slt is now hiOpt-15mV, hiOpt is now called High UV); minor UI changes.
- Hoc-monitor: Now based on NaGa's status-monitor pro fork; supports real temps.
- ldr: Recompiled against Atmosphere 1.11.0; loader-based auto vmin from EOS was removed as it was incorrectly implemented.
Horizon OC 1.1.0
- hoc-clk: Improved governor configuration; display refresh rate changes and support on Lite; fixed CPU Min Hz for governor; slight reworks for handheld TDP; added translations (machine made, likely not accurate); reading of the game resolution; removal of redundant profile options; reading of wafer cord; fixed IDDQ; support for Retro Remake displays (WIP, enabled by creating retro.flag in config/horizon-oc); 75Hz max refresh rate.
Horizon OC 1.0.2
- Incorporated Traditional Chinese into the overlay (by nangongjing1).
- Loader: Added panic codes; added GPU vmax validators (800-960 mV); Erista cpuDvfsTable max is now 2091MHz (any UV, no CPU unlock).
- Hoc-clk: Fixed a config error; fixed a DVFS bug when resetting to 1600MHz that resulted in hangs.
- Hoc-monitor: Updated with latest changes.
Horizon OC 1.0.1
- Fixed a boot issue where it wasn't using the default configs.
- Fixed minimum CPU governor clock.
Horizon OC 1.0.0
- Loader: Erista support finalized (several MRF crashes addressed, CPU UV fixed, CPU Vmin fixed, 2397MHz CPU added with usage not recommended); Mariko CPU maximum VMAX lowered to 1200mV.
- hoc-clk: Display options on Lite removed; various RAM OC DVFS fixes; display OC bugfixes; governor reworked; SaltyNX running is now displayed in the overlay; heavily simplified VRR added (not available on Lite); CPU governor is no longer experimental.
- Overlay: UI redesign; CPU Vmin on Erista now only adjustable in 25mV steps; RAM module now shown in the "About" menu.
- Horizon-OC-Monitor: A padding bug fix from the upstream repo was merged.
- Note: After updating, the config file must be deleted before booting into Atmosphere.
Horizon OC 0.41 (Beta 5)
- hoc-clk: Fixed bug where GPU frequencies weren't being applied; fixed bug with incorrect clock capping in the configurator; UI reordered for smoother scrolling; mitigated CPU voltage bug with boost mode; fixed an issue with scheduling no override where the ini key was being deleted.
- Loader (Erista): Fixed various table issues with multiple RAM frequencies; fixed slight timing mistakes.
Horizon OC Zeus 0.40 (Beta 4)
- hoc-clk: CPU Governor; GPU scheduling toggle via INI; more detailed governor settings; 240Hz Display Overclock for OLED consoles with sys-dock; memory usage optimizations; removing an override now resets frequency to stock; experimental on-the-fly CPU undervolt (also on Erista), unlocked via enable_experimental_settings=1.
- No changes to ldr.
Horizon OC Zeus 0.38 (Beta 2) (Mariko only)
- Fixed DVFS profile change bug; fixed CPU bug fully; fixed real freq display bug; removed charge current override from overlay (still settable in ini); deprecated exosphere patch.
Horizon OC Zeus 0.37 (Beta 1) (Mariko only)
- T6 fine tuning added (not compatible with live timings updates); hijack DVFS from sys-clk-eos added (including DVFS offsets updatable on the fly); "Budget DVFS" removed as obsolete; support with 8GB modules confirmed working.
0.36 (Alpha 16) (Mariko only)
- T7 slightly adjusted; a new advanced config section added allowing precise tuning of T7.
0.35 (Alpha 15) (Mariko only)
- Loader (Mariko): "Budget DVFS" added (auto RAM vmin); new RAM timings added. Erista: implemented latency scaling.
- Hoc-clk: Reworked clock capping; adjusted display safety; various UI changes.
Horizon OC Zeus 0.34 (Alpha 14)
- Proper GitHub Actions build (by OEMunlag); README update (by Blaise-25).
Horizon OC Zeus 0.33 (Alpha 13)
- See full changelog (0.32...0.33).
0.32 (Pre-release)
- See full changelog (0.31...0.32).
0.31 (Alpha 11) (Mariko only, Pre-release)
- Hoc-clk: CPU voltage bug fixed; base latency order changed to ascending; other minor UI changes.
- Loader: Fixed an issue with timings being miscalculated at 1333 base latency (affected >=2533).
0.30 (Alpha 10) (Mariko only, Pre-release)
- Hoc-clk: A settings bug was fixed.
- Loader (Mariko): Improved DRAM timings (2133 tWRL improved, 1866 and 1600 read/write latency now works). Erista: fixed typo in GPU vmin patches.
Horizon OC Zeus 0.29 (Alpha 9) (Pre-release)
- See full changelog (0.27...0.29).
Horizon OC Zeus 0.27 (Alpha 7) (Pre-release)
- See full changelog (0.26...0.27).
Horizon OC Zeus 0.26 (Alpha 6) (Pre-release)
- Initial GitHub Release.
Credits
- Lightos's Cat - Cat
- Souldbminer - hoc-clk and loader development
- Lightos - Loader patches development, hoc-clk development, guides
- TDRR - HOC Logo Design
- tetetete-ctrl - Website design
- SciresM - Atmosphere CFW
- CTCaer - L4T, Hekate, proper RAM timings
- KazushiMe - Switch OC Suite
- Hanai3bi (Meha) - Switch OC Suite, EOS, sys-clk-eos
- NaGaa95 - L4T-OC kernel, Status Monitor fork
- B3711 (halop) - EOS, contributions
- sys-clk team (m4xw, p-sam, natinusala) - sys-clk
- Dominatorul - Soctherm driver, guides, general help
- ppkantorski - Ultrahand sys-clk & Status Monitor fork
- MasaGratoR and ZachyCatGames - General help
- MasaGratoR - Status Monitor & Display Refresh Rate driver
- Dominatorul, Samybigio, Arcdelta, Miki, Happy, Winnerboi77, Blaise, Alvise, agjeococh, frost, letum00, and Xenshen - Testing
- Samybigio2011, Miki - Italian translations
- angelblaster - Korean translations
- q1332348216-glitch - Chinese translations
- th3-ne0undr5c0r - French translations
- Nvidia - Tegra X1 Technical Reference Manual, soctherm driver, L4T