New Linux Build Runs Nintendo Switch Games on Arm64 Devices
Horizon Linux project is promising but admittedly "far from complete."
A Linux OS and Nintendo Switch enthusiast has mind-melded the two disparate systems to create Horizon Linux. In brief, a Redditor by the name of Kent J Hall has patched the Arm64 Linux kernel to run Nintendo Switch games natively. Hall stresses this isn’t an attempt to recreate Nintendo’s Horizon OS, and it isn’t meant to run on Switch hardware – rather the project simply hopes to make Switch games on any Arm64 hardware platform.
After a false start or two, Hall decided to spend a chunk of his free time on the Horizon Linux project summarized above. Patching Arm64 Linux seemed the sensible route to reach his goal as it meant “you get Linux’s vast hardware driver support for free, so not only can it be virtualized on Apple silicon Macs, but it can run bare-metal on any arm64 hardware which supports Linux,” explained Hall. The project should work fine “even on lower-end hardware, given that there’s no need to emulate the CPU,” he added. Moreover the project is flexible, and holds promise for game preservation.
Horizon Linux’s development was greatly helped by taking an existing open source Switch emulator, called Yuzu, and taking the scissors to unneeded parts of the code such as kernel and CPU emulation - while retaining things like the system services, GPU emulation and app loader. The developer also notes that he spent some considerable time getting each system service to run persistently in its own thread.
The Redditor behind this project decided to go public with it at this time, as it has reached a significant milestone. Admitting the work was “far from complete,” Hall says that the first commercial game, Puyo Puyo Tetris, is playable on Horizon Linux.
Hall has published some videos showing Puyo Puyo Tetris running on an M1 Max MacBook Pro, and an Nvidia Jetson Nano. The videos are sadly not available at the time of writing, and we don’t know why. Please note, as mentioned above, the game is running natively on the Arm CPUs of these systems. However, it is still going through the same GPU emulation layer that Yuzu uses, despite the Jetson Nano (for example) featuring the same Tegra X1 GPU as the Switch.
It's worth noting that several Raspberry Pi computers, including the Raspberry Pi 3 and 4, have Arm64 CPUs However, it looks like no one has yet tested Horizon Linux on a Pi.
Hall has recently started a new job, so it looks like some encouragement will be required for him to stick to the project. If you have an Arm64 system you want to test Horizon Linux on, you can comment on the Reddit post from the developer, linked top, and/or visit the Horizon Linux GitHub repository.
Stay On the Cutting Edge: Get the Tom's Hardware Newsletter
Get Tom's Hardware's best news and in-depth reviews, straight to your inbox.
Interestingly, Hall was apparently unaware of the Skyline Nintendo Switch emulator for Arm / Android. Since the Reddit post started getting noticed, there looks like a chance for some cross-pollination to occur, as one of the major Skyline developers has asked the Horizon Linux developer to join their Discord.
Mark Tyson is a news editor at Tom's Hardware. He enjoys covering the full breadth of PC tech; from business and semiconductor design to products approaching the edge of reason.