Kip Select
This is a WIP toolkit for the switch cfw Atmosphere, it started out as a simple KIP manager but has become much more over time. This toolkit is intended for use with Atmosphere Fusee, it will still somewhat work other packs like Kosmos but stuff may be broken.
Features
There are quite a few things I would still like to add to this tool, below is a short list of the ones that are planned.
I plan on putting this tool on the switch appstore, however if you would like to you can still download it from GitHub or even build it yourself. The nro has no special requirements about where it gets placed, I would still recommend your put it in /switch/ though.
Building
This homebrew is a standered libnx project, make sure you have devkitpro installed correctly and simply run make from the project root. There are some dependencies including, libxml2, libcurl, libbzip, libpng, and libfreetype. I personally write this project using VsCode and thus there is a CppProperties.json file already configured for proper syntax highlighting in the project root, this configuration should work with almost any other homebrew project although depending on where your devkitpro install is you may need to change some values around.
Credits
Download
The original version of this post is in the spoiler below:
This is a WIP toolkit for the switch cfw Atmosphere, it started out as a simple KIP manager but has become much more over time. This toolkit is intended for use with Atmosphere Fusee, it will still somewhat work other packs like Kosmos but stuff may be broken.
Features
- Enabling And Disabling Of KIPS
- KIPS, or Kernel Inline Processes, are a commonly used homebrew format. This tool allows them to be enabled and disabled. A reboot is required after a KIP is toggled for it to load/unload. This fetaure requires Atmosphere to be launched via Fusee as it dirrectly manipulates the KIPS within /atmosphere/kips/ which are loaded only by the Fusee launcher. If you are useing Kosmos, use Hekate to manage your KIPS instead.
- Configureing BCT.ini
- BCT.ini is a configuration file for Atmosphere. This tool allows modification of all true/false values in this file. It is worth noting however that in order for nogc toggleing to work you must first manually uncomment this line in BCT.ini. As of Atmosphere 0.8.2 nogc patches should enable themselves automatically if the right combiation of fuses is detected. There is also a huge risk of people changing this value accidentally and then breaking there gamecard slot, so for now this is going to remain a bit convoluted.
- Managing LayeredFS Titles
- This homebrew can enable or disable layeredFS titles. Due to the way Atmosphere works Enableing or disabling a layeredFS title only requires that title to be restarted to take effect. Unless you are modding a system title, for themes for instance, a reboot should not be needed.
- Trigger A Console Restart
- You can also trigger a console restart from within this tool. This is a normal restart, it dose not reboot the console into rcm. If you are useing exfat please avoid this feature, in my testing it caused SD card corruption 100% of the time.
There are quite a few things I would still like to add to this tool, below is a short list of the ones that are planned.
- Get Further KIP Information
- I would like the tool to display more about a instaled KIP than just its name. The current plan is to use file md5's to help detect what the KIP is.
- Display Titlenames For LFS Items
- This can be done useing NSWReleases, some basic code for it is already present in the codebase.
- Add A Proper Options Menu
I plan on putting this tool on the switch appstore, however if you would like to you can still download it from GitHub or even build it yourself. The nro has no special requirements about where it gets placed, I would still recommend your put it in /switch/ though.
Building
This homebrew is a standered libnx project, make sure you have devkitpro installed correctly and simply run make from the project root. There are some dependencies including, libxml2, libcurl, libbzip, libpng, and libfreetype. I personally write this project using VsCode and thus there is a CppProperties.json file already configured for proper syntax highlighting in the project root, this configuration should work with almost any other homebrew project although depending on where your devkitpro install is you may need to change some values around.
Credits
- A huge thank you to MatinatorX for all of the graphics assets used by this tool. He had a hand in prety much all of there creation and without his work this tool would probably look like it had been made in ms paint.
- libnx
Download
- GitHub: https://github.com/Sciguy429/KipSelect/releases
- Appstore: https://switchbru.com/appstore/#/app/KipSelect
The original version of this post is in the spoiler below:
So awhile ago while I was messing around with sys-netcheat I ran into a problem. I prefer use atmosphere fusée for my cfw, as it is much simpler to update, but it has no easy way of enabling or disabling a kip on boot. So every time I wanted to use sys-netcheat or noexs I had to manually move them into /atmosphere/kips/. So like every normal person, instead of simply putting up with with a minor inconvenience I spent way more time than I ever would have lost in the first place making a program to do it for me.
Thus I present Kip Select for atmosphere fusée!
Usage:
This homebrew enables and disables kips by moving them between the /atmosphere/kips/ folder and an added folder called /atmosphere/kips_disabled/. Since fusée only checks the kips folder on boot, anything in kips_disabled gets ignored. The homebrew automatically creates the required folders (/atmosphere/kips/ & /atmosphere/kips_disabled/) if they are missing, all you need to do is make sure your kips are in one of the two folders before launching. The interface is pretty self explanatory, use the d-pad to select the kip you want and the A button to toggle the kips status, a reboot is then required for the kip to be loaded/unloaded. This tool also now supports basic BCT.ini editing, both debugmode and debugmode_user can now be toggled from within the tool (Requires atmosphere 0.8.1+).
Notes:
Download:
Usage:
This homebrew enables and disables kips by moving them between the /atmosphere/kips/ folder and an added folder called /atmosphere/kips_disabled/. Since fusée only checks the kips folder on boot, anything in kips_disabled gets ignored. The homebrew automatically creates the required folders (/atmosphere/kips/ & /atmosphere/kips_disabled/) if they are missing, all you need to do is make sure your kips are in one of the two folders before launching. The interface is pretty self explanatory, use the d-pad to select the kip you want and the A button to toggle the kips status, a reboot is then required for the kip to be loaded/unloaded. This tool also now supports basic BCT.ini editing, both debugmode and debugmode_user can now be toggled from within the tool (Requires atmosphere 0.8.1+).
Notes:
- The homebrew supports a maximum of 32 kip files, using more will cause a error and has on a few occasions caused a console hard crash for me. This should not be much of a problem, i don't even think there are even 32 useful kip files available as of now.
- Try and keep your kip names sensible, the homebrew should pick up on any file name but naming your kip with emoji's certainly isn't going to help.
- If the homebrew detects a kip with the same name in both /atmosphere/kips/ and /atmosphere/kips_disabled/ it will throw a rather cryptic error. On rare occasions I have had kips copy instead of move from one folder to the other, i'm pretty sure I have fixed this issue but if you run into a error that says "File Move Failed", check the folders first.
I'm not sure how safe exFat is with this program, it should be fine as the only write operation called is rename() but my personal experiences with exFat suggest it corrupts simply when you look at it the wrong way so your millage may very.- As of a recent update this tool now supports rebooting the console with a button press, doing this with exFat WILL cause corruption, please if you are still using exFat I would highly recommend making a backup of your sd card to your PC and reformatting as fat32, you don't even have to reinstall as horizon splits the encrypted nca's on the sd to 4gb chunks regardless of the file system that is being used.
Download:
- Source Code (GPL v3.0): https://github.com/Sciguy429/KipSelect
- (I typically write code with java (Android Apps) and NOT C++. My code probably breaks any and all conventions in existence, sorry about that)
Last edited by Sciguy429,