Switch Launcher is a desktop GUI application for injecting custom payloads into Tegra X1 devices (specifically, the Nintendo Switch). The specifics of the exploit can be found in several write ups from sources such as ReSwitched, fail0verflow, etc. In short, once the device has been put into RCM mode (we have USB access) we are able to inject arbitrary unsigned code into the bootROM. This opens up the possibility of CFW (Custom Firmware) and Homebrew. Unless you make changes to the Switch's operating system itself (or within its scope), Nintendo will never be the wiser to the fact that you have made use of this exploit.
You can download a pre-built Intermezzo.bin here and a pre-built payload (fusee.bin) here. Simply replace fusee.bin with a custom payload if you have one you want to use.
Switch Launcher has been developed to work with Python 3 ONLY. You can download Python 3 here. If you are not a developer however, you can just download a pre-built binary for your respective system from below.
You can install all the requirements that Python itself requires by executing the following command (while at the root of the repo).
pip install -r requirements.txt
Please note that certain distros (such as Ubuntu) may require you to install Tkinter manually. To do this, issue the following command:
sudo apt-get install python3-tk
PyUSB requires a backend in order to function properly. These backends are OS specific, install instructions for each OS can be found below.
TODO
Once you have brew installed (you can install it here) you can execute the following command.
brew install libusb
From terminal, you can execute the following command.
sudo apt-get install libusb-1.0-0-dev
Pre-built binaries will be available soon.
When committing, make sure to follow the general commit format "(FILE): (DESCRIPTION)". Try to be as descriptive as possible and make use of the comment system.