If a ten-year-old Nintendo Switch can run PC games, your next handheld doesn’t need to be x86.


For years, Arm gaming handsets have come with an asterisk. They’re great at Android games and emulation, but if you want to play your PC library, an x86 machine is usually the answer. In other words, something like a Steam Deck, ROG Ally, or any machine with an AMD or Intel chip inside. Arm was for phone-shaped stuff and x86 was for “real” PC gaming, and that divide felt permanent for a long time.

However, someone practically ran Steam on the original Nintendo Switch from 2017 using the same Nvidia Tegra chip that it shipped a decade ago. The beta version of Proton 11 added Arm support, a moderator dropped it on Switch and Downloaded to Linuxand the Steam client loads. It sounds like a party trick, and to be fair, it’s even more so on the Switch. But it made one thing very clear: if this works on the Switch, the x86 handheld is likely not the endgame for PC gaming handhelds.

I want to clarify what “works” means here, because it’s… relative. The clip that went through the ages and made me want to grow up in this world just showed the Steam UI and not the actual games running. Actually playing something requires a lot of resolution, and even then you’re looking at low frame rates and a pretty long list of caveats.

To be clear, the Switch isn’t a good device for this, but my point isn’t that the Switch was always good. No, the point is that it generally runs on such old hardware, which has a lot to do with the fact that the barriers aren’t as high as they seem from the outside.

Getting Steam onto the Switch requires a bunch of workarounds

Switchdeck makes it easy

steam install-nintendo key

The beta version of Proton 11 added Arm64 support and was packaged FEXAn interpreter that translates x86 instructions into something the Arm chip understands. That’s pretty much all you need on a modern Arm Linux machine. Not so on the Switch, as the console’s L4T core is ancient and generally too old to run FEX, but there is an alternative.

This alternative involves abandoning FEX for the old community interpreter Box64 and relying on a project named Switch it automates the messy parts. It downgrades the Steam client to a version before mid-April because newer ones crash with illegal instruction errors on the hardware, and dumps DXVK-Sarek and VKD3D on Proton because the Tegra X1 only upgrades to Vulkan 1.2.

The result is that you have a working Steam client that can run some games, but it’s rough. Memory is tight and you choose a different Proton version for each game, 32-bit titles need their own patches on top. No one pretends to be involved, and you shouldn’t expect them to be.

However, despite all of this, the bottom line is that you have x86 games running on a 2017 Arm chip. Most of the Switch-specific pain points stemmed from working around an old kernel, limited memory, and Tegra-era Vulkan support instead of proving an x86-to-Arm translation from scratch.

The translation layer is not an impossible part

It usually happens when talking to the hardware itself

The reason any of this is possible is because of how little the translation actually requires of the hardware. Box86 and Box64, both built primarily by one developer, do not emulate an entire x86 computer like QEMU. They translate the game’s own code, then redirect its calls to system libraries directly to the native Arm versions already sitting on the device, to programs like libc, SDL, and OpenGL. The chip should never look like an entire x86 computer.

Compatibility layers make this work at all. In Steam Deck, Proton converts Windows APIs and graphics calls into something Linux can run. On Arm, projects like FEX or Box64 add another layer by converting x86 CPU code to Arm code. This extra layer comes at a cost in performance, but so x86 instructions can still run on something as small as a Raspberry Pi. There’s a dynamic recompiler sitting on top that’s five to ten times faster than interpreting these instructions one by one, so you get the speed without the weight of full emulation. In raw CPU work, Box64 is used to preempt FEXValve, the translator, has spent years funding. A few years ago, the Box86 developer’s own benchmarks made Box64 about two to three times more expensive than FEX for tasks like 7-zip. Nowadays, the difference is very close.

The Nintendo Switch has no business doing PC gaming, and it still doesn’t need to understand a single x86 instruction to do so. A thin translation layer handles the CPU code, while DXVK/VKD3D and the native graphics stack handle the graphics. The fact that the equipment is flimsy and old has nothing to do with whether it actually works, just whether it actually does. playable or not.

What this does mean, however, is that it’s not a breakthrough waiting to happen, and in fact, x86-on-Arm is no longer the major blocker it once seemed, thanks to the efforts of community projects like Box64, Apple’s Rosetta 2, Microsoft’s Prism, Valve’s FEX, and more. Translation has been around for a long time, but what’s been missing is the hardware built to take proper advantage of it.

The biggest wall isn’t an Arm problem, it’s an Android problem

Translates well to x86 Arm

Download Winlator Portal 2 on Samsung Galaxy Z Fold 5

We already know modern Arm chips can do this because people are doing it in phones right now. Snapdragon phones and handhelds run Cyberpunk 2077, The Witcher 3, and many other PC games through apps like Winlator and GameHub, which are the same Box64-and-Wine idea wrapped into something more accessible. A two-year-old phone chip, even a dedicated gaming part, can run PC gaming well enough to really enjoy it.

I have come a long way myself on this roadand threw up this strange thing. When I tried to run Portal 2, my newest and fastest phone, the Oppo Find N5 with Snapdragon 8 Elite, failed, while the older Samsung Galaxy Z Fold 5 and its Snapdragon 8 Gen 2 worked. The reason was not the power of the chip or the translation layer. It was the GPU driver. Running PC games on Android relies on Mesa Turnip, an open-source, reverse-engineered driver for Qualcomm’s Adreno graphics and brand new flagship GPUs like the 8 Elite’s Adreno 830, support for which is not yet very mature. Older chips like the Snapdragon 8 Gen 2 have years of Turnip work behind them, so it goes with that.

This is what people miss when they write Arm handhelds. Driver confusion has nothing to do with Arm itself. This comes from nobody trying to run games on a phone that was never built to do so, using a community-driven driver on locked silicon that wasn’t optimized for gaming. You fight the platform all the way through.

A handheld device built and sold for gaming inherits none of these. It ships with a GPU driver written and validated for the exact chip, integrated into the system, and tuned with gaming in mind. The driver just works as it does on the console, which means you don’t have to go through the Discord server to install the beta Turnip, because the manufacturer has already done this and sent the result.

Qualcomm is already working on hardware in this direction. Its Snapdragon G3 Gen 3 is a chip designed specifically for gaming handhelds, and it’s already featured in devices from companies like Ayaneo and OneXPlayer. Ayaneo says its Pocket S2 supports turnip, which is the more important change here: vendors are starting to accept PC-gaming compatibility as part of the product.

Steam Frame is actually built for this

Integrated stack for translation

A black VR headset next to two wireless controllers Credit: Valve

Valve has already more or less got it together. The Steam frameits upcoming VR headset runs on Snapdragon 8 Gen 3 and runs SteamOS on Arm, running FEX x86 games. Valve’s own engineers put the FEX fee at 10-20 percent, a translation penalty that most people won’t care about in practice.

The numbers that people are already pulling out of FEX bear this out. On the Radxa Orion O6, more of an Arm development board than anything designed for gaming, testers comfortably ran DOOM 2016 at around 60 FPS at 1080p, Portal 2 100, and The Witcher 3 sitting in the 40s. Even on GB10 on a Lenovo ThinkStation PGX, I was able to get over 100 FPS in Cyberpunk 2077 at 1440p. Either way, it’s the translation layer that does the real work on chips that were never intended for gaming, especially in the case of the Orion O6, and that’s exactly what the Framework is designed for.

Each layer of the Steam Framework is built and shipped together, including the chip, operating system, drivers, and translation all coming as one package. It’s similar to Steam Deck, except it has an additional x86-to-Arm layer. No need to download Steam, no patch required for Vulkan support. The thing is, it has to work as one integrated stack because Valve made it all work together.

The bezel is a headset, not a manual, so I admit I’m extrapolating a bit here, but at the end of the day, it’s pretty much the same thing. That’s two displays, one chip for processing and one GPU. There isn’t much difference between SteamOS, Proton and FEX running on a Snapdragon SoC in the headset, but manually. Running it on the Steam Frame means that most of the platform-level hard parts have already been done, and they’ve certainly been done by the company that defines what a handheld is.

What does this mean for the next hand I buy

x86 is no longer an assumption

Ayaneo 3 playing DOOM Eternal hand-to-hand

For now, x86 is a safe bet for gamers, and it would be disingenuous to pretend otherwise. AMD chips on the steam deck and anything like that carry no translation overhead in terms of CPU. No matter how efficient, translation always comes at a cost, and it’s usually found in performance and battery life. If you buy a handheld today, you’re almost certainly buying something x86-based, and for good reason.

However, the barriers to Arm becoming a mainstream platform for gaming have long since been removed. The translation has been surprisingly light, and the driver headaches that most people experience only show up on devices that were never designed for it, like the Nintendo Switch or an Android smartphone. A device that does It wouldn’t be the same headache built for the game. Valve is already committed to shipping an Arm machine that runs most of your Steam library without fuss, and the jump from there to handheld is incredibly small.

When I replace my Steam Deck or Ayaneo 3 in a few years, I’m no longer running on the assumption that it has an x86 chip inside. I’m sure Steam will go a long way to proving Frame Arm’s viability as a gaming platform, but the original Nintendo Switch is what got me thinking about it first.



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *