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_,

mrcroket

Well-Known Member
Member
Joined
Mar 14, 2018
Messages
176
Trophies
0
Age
33
XP
1,948
Country
Spain
I hope freebird still alive! Just need a crash fix on atmosphere when cpu oc and a better fix for sleep crash to be perfect to me! :)
 
  • Like
Reactions: ZeroFX

JK_

Well-Known Member
OP
Member
Joined
Sep 4, 2015
Messages
694
Trophies
1
XP
2,292
Country
United States
Sorry guys. I don't like posting about or hyping things up until I'm sure they're actually gonna make it out. So, this is far enough along now that I feel comfortable posting it:
2019022423592100-DB1426D1DFD034027CECDE9C2DD914B8.jpg
  • There are 5 separate power profiles.
  • Global takes priority over all of them. This is for people that don't want to mess with separate ones for each power mode.
  • *I want to make setting a speed to 0 allow the system to control it.
  • Freebird can now export its config to a file to save it for reboots.
  • Keep on Wake is an option now.
  • *I want to add user definable hot keys to shut freebird on and off whenever.
Once this is done, I might take a short break from this project. The reason is that while going through Switchbrew to find/add the apmGetPerformanceMode command to freebird, I found some things I'd like to add to other projects. I also found one that might make something I've been hoarding for a while usable to people other than myself.

Per-title config might come later. The way I was going to handle it was to have a directory with text files named [title_id].cfg. I'd convert the [title_id] to a 64 bit uint and use that to keep track of the title being launched. Once a title was launched, I was going to have the file read to the same variables used to control these profiles. So, having a profile for a title would override these settings, even shut off the global config.

Like I said before though, I appreciate patience. I'm also extremely picky. This took a while because I had to completely trash and rewrite Freebird's IPCs. I didn't want 5 different commands for each power mode/clock. I wanted one that took more input and used that to set whatever needed to be set.

Take it easy, everyone.
 

JK_

Well-Known Member
OP
Member
Joined
Sep 4, 2015
Messages
694
Trophies
1
XP
2,292
Country
United States
gasp! It's so pretty! Take all the time you want, why people ask is because they care for the project and it's nothing negative at all.
Thanks. I just hope I can get it as smooth as the Switch's menus in the future. I'd consider that polishing work, though. I repurposed the menu code from 2015 pre-public JKSM since it was all C and not C++. I'm glad I kept it now.
 

ZeroFX

why?
Member
Joined
Jun 18, 2018
Messages
1,107
Trophies
1
Location
napaJ
XP
3,002
Country
Japan
Thanks. I just hope I can get it as smooth as the Switch's menus in the future. I'd consider that polishing work, though. I repurposed the menu code from 2015 pre-public JKSM since it was all C and not C++. I'm glad I kept it now.
Yes, take your time :). This is looking awesome.
 

Adran_Marit

Walküre's Hacker
Member
Joined
Oct 3, 2015
Messages
3,781
Trophies
1
Location
42*South
XP
4,557
Country
Australia
Sorry guys. I don't like posting about or hyping things up until I'm sure they're actually gonna make it out. So, this is far enough along now that I feel comfortable posting it:
  • There are 5 separate power profiles.
  • Global takes priority over all of them. This is for people that don't want to mess with separate ones for each power mode.
  • *I want to make setting a speed to 0 allow the system to control it.
  • Freebird can now export its config to a file to save it for reboots.
  • Keep on Wake is an option now.
  • *I want to add user definable hot keys to shut freebird on and off whenever.
Once this is done, I might take a short break from this project. The reason is that while going through Switchbrew to find/add the apmGetPerformanceMode command to freebird, I found some things I'd like to add to other projects. I also found one that might make something I've been hoarding for a while usable to people other than myself.

Per-title config might come later. The way I was going to handle it was to have a directory with text files named [title_id].cfg. I'd convert the [title_id] to a 64 bit uint and use that to keep track of the title being launched. Once a title was launched, I was going to have the file read to the same variables used to control these profiles. So, having a profile for a title would override these settings, even shut off the global config.

Like I said before though, I appreciate patience. I'm also extremely picky. This took a while because I had to completely trash and rewrite Freebird's IPCs. I didn't want 5 different commands for each power mode/clock. I wanted one that took more input and used that to set whatever needed to be set.

Take it easy, everyone.

Looks great man, keep it up :)
 

Kernelgm

Member
Newcomer
Joined
Feb 27, 2019
Messages
9
Trophies
0
Age
29
XP
89
Country
Brazil
Sorry guys. I don't like posting about or hyping things up until I'm sure they're actually gonna make it out. So, this is far enough along now that I feel comfortable posting it:
  • There are 5 separate power profiles.
  • Global takes priority over all of them. This is for people that don't want to mess with separate ones for each power mode.
  • *I want to make setting a speed to 0 allow the system to control it.
  • Freebird can now export its config to a file to save it for reboots.
  • Keep on Wake is an option now.
  • *I want to add user definable hot keys to shut freebird on and off whenever.
Once this is done, I might take a short break from this project. The reason is that while going through Switchbrew to find/add the apmGetPerformanceMode command to freebird, I found some things I'd like to add to other projects. I also found one that might make something I've been hoarding for a while usable to people other than myself.

Per-title config might come later. The way I was going to handle it was to have a directory with text files named [title_id].cfg. I'd convert the [title_id] to a 64 bit uint and use that to keep track of the title being launched. Once a title was launched, I was going to have the file read to the same variables used to control these profiles. So, having a profile for a title would override these settings, even shut off the global config.

Like I said before though, I appreciate patience. I'm also extremely picky. This took a while because I had to completely trash and rewrite Freebird's IPCs. I didn't want 5 different commands for each power mode/clock. I wanted one that took more input and used that to set whatever needed to be set.

Take it easy, everyone.

Hey Bro, you can make this for SXOS?
Thx. (:
 

Kernelgm

Member
Newcomer
Joined
Feb 27, 2019
Messages
9
Trophies
0
Age
29
XP
89
Country
Brazil
Impossible. SX OS does not allow for custom kips so the only hope would be for TX to steal incorporate this into their CFW. Or you can just use one of the free CFW.

I like play with my external HD. All my games are inside of the external HD. /:
But.. ok.
I hope the team xecuter "steal" this. (:
Thx for the attention .
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • K3Nv2 @ K3Nv2:
    How do you know if the night will be good when you're asleep
  • BakerMan @ BakerMan:
    because i didn't say i was asleep
  • BakerMan @ BakerMan:
    i said i was sleeping...
  • BakerMan @ BakerMan:
    sleeping with uremum
  • K3Nv2 @ K3Nv2:
    Even my mum slept on that uremum
  • TwoSpikedHands @ TwoSpikedHands:
    yall im torn... ive been hacking away at tales of phantasia GBA (the USA version) and have so many documents of reverse engineering i've done
  • TwoSpikedHands @ TwoSpikedHands:
    I just found out that the EU version is better in literally every way, better sound quality, better lighting, and there's even a patch someone made to make the text look nicer
  • TwoSpikedHands @ TwoSpikedHands:
    Do I restart now using what i've learned on the EU version since it's a better overall experience? or do I continue with the US version since that is what ive been using, and if someone decides to play my hack, it would most likely be that version?
  • Sicklyboy @ Sicklyboy:
    @TwoSpikedHands, I'll preface this with the fact that I know nothing about the game, but, I think it depends on what your goals are. Are you trying to make a definitive version of the game? You may want to refocus your efforts on the EU version then. Or, are you trying to make a better US version? In which case, the only way to make a better US version is to keep on plugging away at that one ;)
  • Sicklyboy @ Sicklyboy:
    I'm not familiar with the technicalities of the differences between the two versions, but I'm wondering if at least some of those differences are things that you could port over to the US version in your patch without having to include copyrighted assets from the EU version
  • TwoSpikedHands @ TwoSpikedHands:
    @Sicklyboy I am wanting to fully change the game and bend it to my will lol. I would like to eventually have the ability to add more characters, enemies, even have a completely different story if i wanted. I already have the ability to change the tilemaps in the US version, so I can basically make my own map and warp to it in game - so I'm pretty far into it!
  • TwoSpikedHands @ TwoSpikedHands:
    I really would like to make a hack that I would enjoy playing, and maybe other people would too. swapping to the EU version would also mean my US friends could not legally play it
  • TwoSpikedHands @ TwoSpikedHands:
    I am definitely considering porting over some of the EU features without using the actual ROM itself, tbh that would probably be the best way to go about it... but i'm sad that the voice acting is so.... not good on the US version. May not be a way around that though
  • TwoSpikedHands @ TwoSpikedHands:
    I appreciate the insight!
  • The Real Jdbye @ The Real Jdbye:
    @TwoSpikedHands just switch, all the knowledge you learned still applies and most of the code and assets should be the same anyway
  • The Real Jdbye @ The Real Jdbye:
    and realistically they wouldn't

    be able to play it legally anyway since they need a ROM and they probably don't have the means to dump it themselves
  • The Real Jdbye @ The Real Jdbye:
    why the shit does the shitbox randomly insert newlines in my messages
  • Veho @ Veho:
    It does that when I edit a post.
  • Veho @ Veho:
    It inserts a newline in a random spot.
  • The Real Jdbye @ The Real Jdbye:
    never had that i don't think
  • Karma177 @ Karma177:
    do y'all think having an sd card that has a write speed of 700kb/s is a bad idea?
    trying to restore emunand rn but it's taking ages... (also when I finished the first time hekate decided to delete all my fucking files :wacko:)
  • The Real Jdbye @ The Real Jdbye:
    @Karma177 that sd card is 100% faulty so yes, its a bad idea
  • The Real Jdbye @ The Real Jdbye:
    even the slowest non-sdhc sd cards are a few MB/s
  • Karma177 @ Karma177:
    @The Real Jdbye it hasn't given me any error trying to write things on it so I don't really think it's faulty (pasted 40/50gb+ folders and no write errors)
    Karma177 @ Karma177: @The Real Jdbye it hasn't given me any error trying to write things on it so I don't really...