Homebrew RELEASE sys-clk under/overclocking sysmodule

  • Thread starter m4xw
  • Start date
  • Views 315,361
  • Replies 984
  • Likes 83

m4xw

Ancient Deity
OP
Developer
Joined
May 25, 2018
Messages
2,426
Trophies
0
Age
116
XP
6,724
Country
Germany
sys-clk-banner-appstorenx.png

sys-clk
a per-title CPU, GPU and RAM overclock and underclock sysmodule for Atmosphère

By @p-sam @m4xw and @natinusala

After weeks of testing, the RetroNX Team is proud to finally release sys-clk, a system-wide overclock and underclock sysmodule, as a public beta (version beta3).

Key features:
  • Automatic overclock and underclock depending on the running title and docked state
  • Reads presets for titles from the SD card
  • Hot reload allows you to change your preset while the game is running with sys-ftpd
  • Presets database for a quick and easy overclock on popular games
How does it work?

The sysmodule overclocks and underclocks the CPU, GPU and RAM of the console depending on the title currently running and docked state.
When you run a game, sys-clk will read its preset it and automatically overclock (or underclock) the system for you.

All frequencies can be set for both docked and handleld mode, making 6 values per preset :
  • CPU (capped at 1785MHz)
  • GPU (capped at 460MHz without a charger, clocks up to 768MHz require a charger, clocks higher than 768MHz require the official charger)
  • RAM (capped at 1600MHz)
As you can see, we added safety measures and chose the limits to ensure that overclocking cannot damage your console.

How do I use it?

Installation is pretty straightforward - just copy the config and atmosphere folders at the root of your SD card and reboot your console.
The sysmodule will be active and running out of the box.

To create a new preset, just edit /config/sys-clk/config.ini on your SD card and add it following this template:

Code:
[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=

The README contains the frequencies tables as well as examples for Breath of the Wild overclock and Picross underclock.

Note: If you're using ReiNX, you need to rename the atmosphere folder to ReiNX and move out the boot2.flag file next to exefs.nsp

Didn't you mention a presets database?

I sure did! For your convenience, we setup a repository where curated presets and examples can be downloaded. So far, 18 games have been added to the database.
You can find it here: https://github.com/retronx-team/sys-clk-db

If you want to contribute to the database, just submit a pull request on the repository, or join us on the RetroNX Discord server, channel #oc-perf-submissions

Give me a link already!

Code, releases and more documentation can be found on the GitHub repository here: https://github.com/retronx-team/sys-clk

Planned features
  • Split the config into multiple files (for a drag-and-drop presets installation)
  • A homebrew frontend to manage presets, and database integration to download them directly from the Switc
  • ┴┬┴┤( ͡° ͜ʖ├┬┴┬
At last, thanks to @CTCaer for the wonderful artwork!
 
Last edited by m4xw,

ShadowOne333

QVID PRO QVO
Developer
Joined
Jan 17, 2013
Messages
10,685
Trophies
1
XP
12,467
Country
Mexico
Is there like a database or something for recommended settings for certain titles that we can use?
Like some that have been tested already with good performance and all that perhaps can be shared and so?
 

Chaching

New Member
Newbie
Joined
Feb 5, 2019
Messages
2
Trophies
0
Age
41
XP
123
Country
Finland
Is it possible to have handheld overclock preset only when charging? I would imagine the GPU 460mhz reduces unplugged battery life
 

ZachyCatGames

Well-Known Member
Member
Joined
Jun 19, 2018
Messages
3,251
Trophies
1
Location
Hell
XP
3,298
Country
United States
Anybody got some good settings for Xenoblade2?
460mhz GPU 1600mhz RAM is what I use for handheld

Edit: you could also use 1224mhz CPU to get rid of some fps drops if you’re fine with sacrificing a bit more battery life. And in docked I don’t change anything except except CPU (1224mhz)
 
Last edited by ZachyCatGames,
  • Like
Reactions: Monado_III

TotalJustice

Well-Known Member
Member
Joined
Jan 28, 2017
Messages
376
Trophies
0
Age
24
XP
1,549
Country
United Kingdom
Any games already where the difference is night and day?
Pokemon eevee / pika. Easy place to test is varidian forrest. Test stock speed, then change it to handheld_gpu=460
If you change skyrim.ini to uncap the game and layer it through layeredfs you can get pretty much 60fps, vanilla and Modded.

I'm using 1.7GHz CPU, 768MHz GPU and 1600MHz ram I only play charging though. And 460 when not charging.
TIL you can do 60fps with skyrim. Thanks for that, i'll be messing around with that later
 
Last edited by TotalJustice,
  • Like
Reactions: Broduskii
General chit-chat
Help Users
  • No one is chatting at the moment.
    kenenthk @ kenenthk: https://youtu.be/pnPvi4MjgKI