Freebird - Switch Clock Speed Control Sysmodule

This is a sysmodule/service for Atmosphere and ReiNX that uses IPC's to communicate with its companion NRO, Freeset. This allows you to use any clock speed I've found on the Switch. The only restriction I have put in place is that you must be plugged into an official charger or docked if you are crazy enough to want to use the highest two GPU clock speeds. I am leaving it completely up to you to choose what clock speeds you want to use. Be careful.

2019070911351400-DB1426D1DFD034027CECDE9C2DD914B8.jpg

Intructions:
  • Atmosphere: Copy over the contents of the zip and reboot your system to load the module. Open Freeset and use that to send over the clock speeds you want.
  • ReiNX: Create a folder in your ReiNX folder named titles if there isn't one. Copy the titles folder from the atmosphere folder to ReiNX/titles. Open "010000000000C235" and move the boot2.flag to the same directory as the exefs.nsp file. Reboot and freebird should now be working on ReiNX.

X turns freebird's clock setting feature on and off. Remember to turn this off before putting your system to sleep. I'm working on it™, but it will cause and require you to fully shutdown and restart your Switch if accidentally left on. When on, freebird will check and set the clocks if they don't match what you choose. When turned off, your clock speeds will be reset and no longer forced.

A sends over the clock speeds shown/chosen from the menu. Up and down change the currently selected option, left and right change speed.

If I missed anything, don't be afraid to ask. I'm open to suggestions too.

I'd like to thank @taggen86, @nabelo, @mathew77, @vanraz86, and @Kirby567fan for taking the chances and testing it. Thanks guys!

Download link: https://gbatemp.net/download/freebird.35566/
 
Last edited by JK_,
it should be the common sense one configuration for all games and changing it so easily is superior to doing it for each with deleting and writing on a text file in the sd card.
Except not all the games need overclocking, and some act unstable to OC and crash right away, there are a few that benefit from down clocking even.
 
  • Like
Reactions: ZachyCatGames
Thanks for this!

I just entered the Korok Forest in BotW, immediately remembered this, gonna use it now. ;)
 
Anyone getting a black screen when running the nro? Not sure what could be wrong on my end. 5.1/0.8.6.

EDIT: Updated to Atmosphere 0.8.7 and it now works. No idea what was wrong.
 
Last edited by stick267,
you sure the game runs at 384 though? I've seen games like sm odyssey running at 460mhz
Yes using freebird I can see that the stock clocks are 384 mhz
Wow, I forgot to even mention that. The newer version allows you to tell Freebird to let the system control speeds. So, if you do that and open Freeset using an applet while in game, you can see what clock speeds the game is supposed to use.
 
Seeing as the UI has changed from the image on the first page, to be sure for me to turn it off all I got to do is set it to off and sync it right? Do I have to set back to stock settings as well?
 
Seeing as the UI has changed from the image on the first page, to be sure for me to turn it off all I got to do is set it to off and sync it right? Do I have to set back to stock settings as well?
After sync, only off
 
The profiles makes no sense to me. I turn On handheld and Charger profiles. But when I sync and plug in or out the system reverts to stock speeds.

More specific example: I config charger mode. I sync it. Then I can see it is working but if I unplug the charger then all the settings just revert to stock speeds and plugging in doesn't fix it.

Only global mode works. I can plug in and out and for a short second it switches to normal speeds and then to the global profile. (AFAIK this is how it should work)
 
The profiles makes no sense to me. I turn On handheld and Charger profiles. But when I sync and plug in or out the system reverts to stock speeds.

More specific example: I config charger mode. I sync it. Then I can see it is working but if I unplug the charger then all the settings just revert to stock speeds and plugging in doesn't fix it.

Only global mode works. I can plug in and out and for a short second it switches to normal speeds and then to the global profile. (AFAIK this is how it should work)
well ur making something wrong

you have to put them all to sync with the speed you desire for each mode, then put them all on except global.

as you connect or disconnect the charger, the clocks will change. works wonders for me
 
The profiles makes no sense to me. I turn On handheld and Charger profiles. But when I sync and plug in or out the system reverts to stock speeds.

More specific example: I config charger mode. I sync it. Then I can see it is working but if I unplug the charger then all the settings just revert to stock speeds and plugging in doesn't fix it.

Only global mode works. I can plug in and out and for a short second it switches to normal speeds and then to the global profile. (AFAIK this is how it should work)
If global is on, it will take priority over the others. It's there for people that don't want to set a separate profile for each and also for a quick override.

I can't duplicate the unplugging the charger thing. There is also a timing difference between this update and the previous version. The service part of Freebird runs in a separate thread now. The main thread doesn't check and update speeds as frequently as it did before.
 
  • Like
Reactions: Assasin1990
I still never over clocked my switch games but seeing a picture of free bird makes me want to use this as my over clock option, doesn’t seem like I need to make a config file with this.
 
I still never over clocked my switch games but seeing a picture of free bird makes me want to use this as my over clock option, doesn’t seem like I need to make a config file with this.
Yup, that's a big advantage of Freebird. The other is the ability to quickly adjust settings on the fly based on your current needs for performance vs. battery consumption . IMO this gives Freebird the edge over Sys-Clk, though both approaches have their advantages. I guess the ideal clock control solution would support both methods; maybe someday
 

Site & Scene News

Popular threads in this forum