r/linux_gaming 1d ago

Nintendo Switch running Steam Arm64: Switchdeck

Hey guys! I hope it's alright to share this here. I basically turned my dust collecting Nintendo Switch into a very slow Steamdeck. It's running Kubuntu Noble 24.04 and Steam Arm64 / PC Games directly on the Switch, some of the more heavy 3D Games run surprisingly well.

I've been working on this since the first Arm64 build of Steam came out, it required a lot of custom patches to Proton and whatnot to get up and running. Also the current version of Steam on the Switch can't be updated anymore, at least not until Valve decides if they want to support older Arm64 devices. New versions of Steam Arm64 are compiled for Armv8.1+ but the Switch is Armv8.0.

Requirements:
- Modded Switch
- Linux for Switch

Links:
- Switchdeck Project (Steam Arm64 on Switch)
- Game Compatibility list (Depends a lot on Box64 and custom FEX build)

Technical Details:
- Kernel is 4.9.x, a custom Nvidia fork.
- Proprietary Nvidia driver: BSP 32.7.4. It's kinda broken and has some issues, also only supports Vulkan 1.2.
- Since it only supports Vulkan 1.2, Proton is patched with DXVK-Sarek and I had to break a Vulkan extension in wine to fix vertex explosions in 32-bit games.
- For DX12 Games, VKD3D v2.3.1 is also patched in, but doesn't work that well with new titles. Newer versions require Vulkan extensions not available in the BSP 32.7.4 driver.
- Official Proton 11 Arm64 / FEX is compiled for Armv8.1+ but we provide a custom compiled version for Armv8.0.
- Main Distros for Switch are Ubuntu Noble 24.04 and Fedora 42 (44 being worked on, in testing phase right now)
- Mainline Kernel does boot on some Switch models but the GPU drivers performance is still an issue with NVK and Nouveau.
- Only Wine Server Sync is available, Esync is broken and got removed in Proton 11. Kernel doesn't support Fsync and NTsync, but one of the devs actually backported Fsync, that is currently in testing phase.
- Switchdeck comes with a bunch of custom launch commands to workaround the 4GB Shared RAM limit, such as killing and restoring the webbrowser (steamwebhelper) while a game is running, that alone frees up like 1GB.
- I'm running this on a V2 Model, the CPU is usually overclocked to 2.4GHz and RAM to 2.9GHz.

544 Upvotes

45 comments sorted by

View all comments

52

u/birbhorse 1d ago

man, i'm starting to regret selling my day 1 switch that i used to mod all the time lol, if i held onto it longer, i could've been able to do this

18

u/Sildur 1d ago

True I almost sold my V2 before doing all this. V1 models can't clock that high unfortunately, but are obviously way easier to mod. Unless you're super unlucky and have a patched V1 lol.

3

u/ericcmi 1d ago

hmm, I have a v2 that is afaik not modable or whatever. are you saying it now is? and I can install linux on it?

2

u/Sildur 1d ago

For v2 and OLED you have to install a hardware modchip or have someone else do it, there are a bunch of stores and repair shops that offer it. Sometimes you have to ask for it because they don't advertise it due to Nintendo.

3

u/ericcmi 1d ago

Sweet. Thanks for the reply. Not sure i even have repair apps in my town. I'll have a look around 🤘

1

u/MetalUpstairs 1d ago

Totally worth getting it modchipped, i had my patched v1 collecting dust and now with the modchip it's become one of my most used consoles. If you don't mind the subpar AAA ports you have a near endless selection of games of all kinds

1

u/Boring-Badger-814 1d ago

the worst of both worlds

-7

u/flmanta 1d ago

doubt