I installed Linux on my Nintendo Switch, because why wouldn't I?

I installed Linux on my Nintendo Switch, because why wouldn’t I?

The Nintendo Switch is one of the most successful game consoles of all time, and with its successor finally unveiled, it's finally time to bid farewell to the original. Or is it? Nintendo argues that you can just buy the original if the successor is too expensive, and with a massive library of fantastic games, it's not as if the Switch is suddenly irrelevant. Plus, if you pick up one of the much older original Switch units, it's really easy to install custom firmware... or Linux, I guess.

In an act that can only be described as an affront to god, I've installed Ubuntu on the Nintendo Switch. "Why?" I hear you ask. "Because I can," is my response. You see, Nintendo and Nvidia left a pretty big hole in the bootROM of the original Nintendo Switch. With a little 3D-printed jig that goes into the Joy-Con rail (or you can even just use some tinfoil, if you're feeling daring, though you can damage your Switch doing that), you can boot basically anything on this device.

In 2018, an exploit chain was created by Katherine Temkin and “ReSwitched”, a hacking team focused on the Nintendo Switch, dubbed Fusée Gelée. Fusée Gelée is a coldboot exploit in the bootROM of the Nintendo Switch, and can't be patched or modified once shipped. It's the very first code that the console runs when powering on, and the exploit affected every single Tegra-X1 SoC at the time.

You see, the Tegra-X1 had a USB recovery mode, which circumvented the rest of the Switch's security features. This allowed developers to create custom firmware for the device, and eventually led to the creation of Linux on the Switch.

Setting up Linux on the Nintendo Switch

I'll be honest, setting up Linux on my Switch was easier than I expected. The process is relatively straightforward, and requires minimal technical expertise. You'll need a microSD card with at least 16GB of space, as well as a Windows or macOS computer to download the necessary tools.

Once you have everything set up, you can boot into Linux by inserting your microSD card into the Switch's microSD slot and turning it on. From there, you'll be able to navigate through various Linux distributions, including Ubuntu, which I chose for this project.

Testing Linux on the Nintendo Switch

I was excited to see how well Linux would perform on my Switch, and I wasn't disappointed. The controls were read as if they were a regular controller, and there was no noticeable latency whatsoever. This is thanks in part to Docker support, which allowed me to run complex application stacks on the device.

Docker support was one of the highlights of my Linux experience on the Switch. I've used it before on other devices, but this time around it was particularly useful for running more complex applications like Proxmox. While I didn't manage to get Proxmox working yet, I'm hopeful that future updates will bring better support for these types of applications.

Another fun aspect of Linux on the Switch is its ability to run games. I tested out Dolphin, a popular emulator for GameCube and Wii games, and was able to play The Legend of Zelda: Wind Waker without any issues.

Should you install Linux on your Nintendo Switch?

If you have an older, unpatched Nintendo Switch, why not? It's easy to set up, it doesn't damage the original operating system, and you can always repartition your microSD card back to normal if you'd prefer not to have space taken up by the ext4 Linux partition.

However, it's worth noting that Linux on the Tegra X1 is already supported. It's not too surprising that it just works like this, but the fact that it's not surprising is part of why it's surprising. It's not going to unlock a level of performance out of the Switch that suddenly makes it a powerful console, but you can enable overclocking options that at least improve the performance by a pretty big margin.

So, if you're feeling adventurous and want to try something new, go for it! Installing Linux on your Nintendo Switch is a fun little project that won't take you too long to set up, and you might even have some uses for it if you play around with it.