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_,
@_JK can you make it so there's a way to possibly maybe detect if the console is docked or not and then have configs for docked and in portable mode?
 
  • Like
Reactions: p-sam
I'm not interested in causing another shit storm. I'm gonna leave what I really think out of this. I will make an NSP for Freeset for the next release and the wake up thing was brought up by testers. It's an option now.

Anyways, thanks @AliciaBurrito for sharing your results with ReiNX. After checking it out for myself, I will be adding instructions to the OP for it tomorrow since it's late here.

Take it easy, everyone. I'm all for sharing results, even screenshots if you want. Arguing and pointing the finger at X, Y, and Z without anything to back it up, not so much.
I'm just glad to help in any way that I can - really like this project :)

I know you're working on a more "Advanced User" sort of option outside of the planned profiles, would it be possible to perhaps allow a "Seriously this is you're own risk" option that perhaps allows you to go even farther as long as you are connected to the official charger? Eg. the stock Tegra X1 allows the CPU to go to 1.9GHz, and GPU to 1GHz. I don't think the battery would be happy with that, so likely keep it the same red option as the existing GPU option.

I'd be willing to test that on my Switch as well if you think that might be something that could be added :)
 
@_JK can you make it so there's a way to possibly maybe detect if the console is docked or not and then have configs for docked and in portable mode?
I'm just glad to help in any way that I can - really like this project :)

I know you're working on a more "Advanced User" sort of option outside of the planned profiles, would it be possible to perhaps allow a "Seriously this is you're own risk" option that perhaps allows you to go even farther as long as you are connected to the official charger? Eg. the stock Tegra X1 allows the CPU to go to 1.9GHz, and GPU to 1GHz. I don't think the battery would be happy with that, so likely keep it the same red option as the existing GPU option.

I'd be willing to test that on my Switch as well if you think that might be something that could be added :)
We'll see how far I'm willing to go guys. I'm only one person doing this in their free time. Free time I like to spend doing other things too. Straight up, it was just a good reason/excuse to fiddle with making a service and IPC's. Something I've wanted to do since 3DS.

Edit: Added ReiNX instructions to OP. Tell me if I messed up or they need to be clearer, haha.
 
Last edited by JK_,
  • Like
Reactions: Shibbro
We'll see how far I'm willing to go guys. I'm only one person doing this in their free time. Free time I like to spend doing other things too. Straight up, it was just a good reason/excuse to fiddle with making a service and IPC's. Something I've wanted to do since 3DS.

Edit: Added ReiNX instructions to OP. Tell me if I messed up or they need to be clearer, haha.

  • 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.

Should be reworded

  • ReiNX: Create a folder in your ReiNX folder named titles if there isn't one. Copy the 010000000000C235 folder from the atmosphere/titles folder to ReiNX/titles. Open "010000000000C235" and move the boot2.flag out of the flags folder to the same directory as the exefs.nsp file. Reboot and freebird should now be working on ReiNX.
 
This doesn't make sense. Stock system using a patched PPC service exhibits the same behaviour.
The system simply uses a lot of timings based to ticks that then get converted into nanoseconds, changing the clocks will skew all of ninties internal calculations in nearly all sysmodules, especially nvservices.
The issue is inherently a race condition.

Doesn't this have to do with a messed up implementation with atmosphere or something? :unsure:

(Whoops, responded to old reply, did not see the other pages. Still, a lot of what you have said does not make any sense... )

I just noticed something... why is there a rule in your discord saying that "- SX OS and ReiNX related discussions equals admitting doing piracy and are banned and inexcusable"? If ReiNX = enabling piracy, shouldn't Atmosphere be considered enabling piracy? :unsure:
 
Last edited by Centergaming,
Here.
That's what I gave to testers to check out. Tell me if anything happens. It's going to automatically turn itself off at sleep. This is intentional. You will have to start it again when the system wakes up.
Shall test it, will report any caveats, time to stop using the cagedbird (ya know what I mean) and use freebird again.
 
I have tried and tested it, the truth is that I am very happy, but it only works in a stable way in ReiNX :( a pity ... I really like how the load times have improved, even using SD. allowed CPU: 1.7, GPU: 768 and RAM: 1600, the ARK game even looks better and not only that, you can play !!!!! the graphic quality is impressive.

I would like to be able to help the project in some way.

a greeting
 
So, after 48 hours of testing i can give you a feedbeck

@JK_ gave us the unreleased BETA, it has no problem. The Forwarder i made speeds up setting up the clock after the wake up (@crow132 it's not that dumb, i just use the same settings for every single title, so it's faster for me to launch it directly from the game list rather then from the album)

Edit: i forgot to say that i am using latest Kosmos, usually i don't use the CPU OC, but i used it for testing purposes.

These are the setting i used in the past 48 hours and NEVER had a single crash (again, i'm using Kosmos)

Cpu: 1224 mhz
Gpu: 537 mhz
Ram: 1600 mhz

I usually disable OC when docked 'cause i'm happy with the stock experience
 
Last edited by Nastas95,
So, after 48 hours of testing i can give you a feedbeck

@JK_ gave us the unreleased BETA, it has no problem. The Forwarder i made speeds up setting up the clock after the wake up (@crow132 it's not that dumb, i just use the same settings for every single title, so it's faster for me to launch it directly from the game list rather then from the album)
I for one love the forwarder. THANK YOU!!
 
  • Like
Reactions: Nastas95
i think making a forwarder for freebird is kinda dumb, I rather have it as a NRO so I can change clocks during game
That was actually part of my reason for making it the way I did. If they want an NSP, they can have it though. It's not difficult to throw one together at all.

Anyway guys, I'm currently considering and planning where I want to go with it. Adding profiles was asked of me early on in testing/dev. I guess my real issue is keeping this all maintainable and together. I have a bad habit of jumping in head first and not planning much, if anything. Something that often bites me in the ass later on, unfortunately.
 
That was actually part of my reason for making it the way I did. If they want an NSP, they can have it though. It's not difficult to throw one together at all.

Anyway guys, I'm currently considering and planning where I want to go with it. Adding profiles was asked of me early on in testing/dev. I guess my real issue is keeping this all maintainable and together. I have a bad habit of jumping in head first and not planning much, if anything. Something that often bites me in the ass later on, unfortunately.
I actually love the simplicity of your tool and actually prefer it over the alternative for that reason. No .ini files to mess with, no profiles to manage, no BS. I wouldn't mind a prettier GUI but as-is, there's nothing stopping me from enjoying this everyday. Thank you for all your work on this.
 
Last edited by ,
We'll see how far I'm willing to go guys. I'm only one person doing this in their free time. Free time I like to spend doing other things too. Straight up, it was just a good reason/excuse to fiddle with making a service and IPC's. Something I've wanted to do since 3DS.

Edit: Added ReiNX instructions to OP. Tell me if I messed up or they need to be clearer, haha.

If only there was a way to outsource some of this effort to the community ;)
 
That was actually part of my reason for making it the way I did. If they want an NSP, they can have it though. It's not difficult to throw one together at all.

Anyway guys, I'm currently considering and planning where I want to go with it. Adding profiles was asked of me early on in testing/dev. I guess my real issue is keeping this all maintainable and together. I have a bad habit of jumping in head first and not planning much, if anything. Something that often bites me in the ass later on, unfortunately.

I honestly feel like ur first goal should be fixing sleep mode, disabling it when going into sleep mode is ok but doesnt feel like a real solution, just morr like a way of hiding the problem
 
I honestly feel like ur first goal should be fixing sleep mode, disabling it when going into sleep mode is ok but doesnt feel like a real solution, just morr like a way of hiding the problem
I'm not hiding it though. It was intentional so people wouldn't forget it was on. If you want one that doesn't turn itself off at sleep, you're more than welcome to try the attached one. If you have issues, feel free to tell me. Compatibility is my biggest worry here. Future versions will have strict version matching because of it, but I think these two should play nice. I can't really say that'll always be true though.
 

Attachments

Site & Scene News

Popular threads in this forum