Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
This guide demonstrates how to launch an arbitrary boot payload for the Nintendo Switch using Fusée Launcher with libusbK on Windows. Doing so will enable you to launch low-level payloads and customized firmware as those are developed and released.
Before we can use Fusée Launcher, we need to install the libusbK driver for the RCM Switch. We'll use the Zadig installer's latest version, which, at the time of this writing, is 2.3.
You'll also need the version of Python that corresponds to your OS architecture, i.e. 32-bit Python for 32-bit Windows, and 64-bit Python for 64-bit Windows. Note that, since Fusée Launcher works with real hardware, you'll need a native Windows version of Python; Windows Subsystem for Linux or MSYS2 versions will not work.
Most users will have a 64-bit Windows installation, but the main download on the Python website is 32-bit regardless of your architecture. If you have a 64-bit system, it's important you download one of the "x86-64" installers, which you can find here. It's also recommended to add Python to your PATH by selecting the option shown below, but it isn't strictly required.
Installing libusbK for the RCM Switch
Put your Switch into RCM and connect it to the computer with a USB A to C cable. You should see a device labeled "APX" in the Windows 10 Device List (Windows Settings → Devices) and the Device Manager (Windows Search → "Device Manager") shown below. If you don't, your Switch is likely not in RCM or there is a problem with the connection.
After that, open the Zadig executable you downloaded earlier. Select "APX" in the device dropdown list. If the Switch isn't listed you may have to enable "List All Devices" in the Options menu. Change the selected driver from WinUSB (or the currently selected driver) to libusbK using the arrow icons to the right of Zadig's window. After that, click "Install Driver". You shouldn't need Zadig after the initial driver installation.
Using Fusée Launcher
To actually launch your desired payload, you have two options.
- Open your terminal emulator of choice (like PowerShell or the command prompt). From the fusee-launcher directory execute the command:
> python fusee-launcher.py payload.bin
payload.bin is your payload of choice. If you did not add Python to your PATH as mentioned earlier, you will need to replace
python with the full path to the Python executable, e.g.
> C:\Program Files\Python\python.exe fusee-launcher.py payload.bin
You should see output similar to the image below.
2. Drag and drop the payload onto
fusee-launcher.py. If Windows asks you what to open it with, choose the Python you installed earlier. You may have to drag and drop the payload again if that happens. Also note that you will not be able to see the output after it is finished launching.