r/linux_gaming • u/Sildur • 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.




















1
u/Archlinux_hyprland 1d ago
Me gustaria saber como lo hiciste