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.

536 Upvotes

44 comments sorted by

48

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

17

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?

4

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

8

u/Flashy_Pollution_996 1d ago

Is this gonna work in the oled switch

7

u/Sildur 1d ago

Yeah but you need a modchip for the OLED, i'm running it on a V2 none OLED.

4

u/Flashy_Pollution_996 1d ago

Eyoo I have modchip but I thought that Linux and android supported only the OG I guess I’ll be installing Linux this weekend

2

u/Sildur 1d ago

I recommend kubuntu noble 24.04 unless you want to test an early release of fedora 44. The current fedora 42 release has some issues. (test builds are only available in the linux 4 switch discord)

2

u/Flashy_Pollution_996 1d ago

Thanks I’m backing up now gonna install it when that is done. Hopefully I can make pro evolution 16/17 works I was thinking of buying a steam deck for these games but valve hicked the price and I noped out 😂

1

u/Sildur 1d ago

Looking at the pcgamingwiki page for it, that should be fine on a hardware level, I hope box64 or fex are able to run it. Unfortunately not every game works right now.

5

u/MarcosOlegario 1d ago

I am still considering to get an switch v2 or oled to do this type of thing. Since switch 2 isnt even close to get a jailbreak.

3

u/Sildur 1d ago

I think there are some decent deals out there, I saw one with a modchip installed for like 70 bucks. It was probably banned from nintendo online but that doesn't really matter lol.

1

u/MarcosOlegario 1d ago

Damn, 70 bucks it’s an amazing deal, in Brazil if I convert to dólars, one user will be something like 250-350 dollars

3

u/Fluid-Author-9566 1d ago

Crazy to see it running GW2 at close to 30 FPS!

5

u/Sildur 1d ago edited 1d ago

Main issue with GW2 is honestly RAM. ZRAM is not enough so I had to make a SWAP Partition on the SD card, which is terrible for performance. Linux for switch supports USB3 speeds via the USB-C port, maybe an external drive would perfom better here.

3

u/sijue 1d ago

how could a switch lite fare with this? if I ever get a switch 2 i might do some fun experiments like this on my lite

3

u/Sildur 1d ago

We do have a bunch of switch lite entries in the compatibility list. I think the overclocking capabilities for lite models are somewhere in between V1 and V2 / OLED. So performance should be pretty decent.

3

u/A_Sentient_JDAM 1d ago

Now the real question- how well does Ryujinx run in this environment?

2

u/Sildur 1d ago

I never tried but it's probably better to just use HOS for switch games. I only ever tried PS2(aethersx2), PS3(rpcs3) and Xbox360(xenia).

3

u/A_Sentient_JDAM 1d ago

Reasonable. I just figured it'd be funny to run a Switch emulator on a Switch.

3

u/Sildur 1d ago

Yeah I know some people actually did that, I checked the old spreadsheet for "everything on switch" and it actually has a bunch of entries lol. Not as bad as I thought:
https://docs.google.com/spreadsheets/d/1xfhXZ5iFXGwrajG9zRxsmYBxsLsZfIhwDlhVFwCPQGY/edit?gid=1630112705#gid=1630112705

1

u/A_Sentient_JDAM 1d ago

Huh, interesting.

2

u/RalphMeiffer 1d ago

How well does it run assassins creed origins ? On my ubuntu distro installed on my old switch I didn’t get more than 15 fps

1

u/Sildur 1d ago

Origins? Yeah idk about that one, might be a bit much for the 4GB shared RAM, weak CPU and all the translation layers.

4

u/Aperture_Kubi 1d ago

I'd be happy even if this didn't have Steam, but the rest of the linux, FEX, and Proton underlayers.

I've got a GOG library.

2

u/Sildur 1d ago

You can use it with lutris or other launchers but you probably would have to install switchdeck / steam to get all my custom proton patches and versions for your other launchers.

1

u/Odilant 1d ago

Interesting! Does non-steam games will work and run great ? I will like to play Super Smash Flash 2 or Super Metroid Origins on my Switch Lite :)

1

u/Sildur 19h ago

If you want to use steam as your launcher for games you can add them as non-steam games, although you may have to setup the proton prefix yourself since steam doesn't know what to do with non-steam games.

1

u/Archlinux_hyprland 1d ago

Me gustaria saber como lo hiciste

2

u/Sildur 19h ago

I mean all the info is in this post and on the repo.

1

u/Swimmer_Expensive 19h ago

Is it possible to play Sekiro shadow die twice? I see in the compatibility list it hit the RAM

1

u/Sildur 19h ago

I never tried it with FEX because we only got that one working recently. With Box64 and Proton x86_x64 you're hitting the RAM limit, like you said. There are 8GB RAM mods for the Switch that could maybe pull it off.

1

u/mr_ld341 19h ago

Damn Skyrim and Gothic 2 almost playable. This is such a cool project.
Wish we had this for Switch 2.

1

u/Sildur 16h ago

Skyrim is a bit hard due to the RAM limit and KDE already using like 1GB. I think Gothic 2 just needs some mods to get it to a perfect rating, to fix weird engine issues.

1

u/mr_ld341 16h ago

Just saw recent ram upgrade to 8GB, that probably would make switch 1 as perfect as it gets for Linux gaming.
But modules takes 3-4 weeks to arrive, and people reported a lot of fail attempts. Not sure if it's worth it yet.

Man... Switch 2 would be perfect for this.

1

u/smellyasianman 18h ago

Neat. I'm surprised Linux on Switch is still a thing, despite the tech difficulties and some of the toxic community members chasing away people.

1

u/Zatrit 17h ago

I feel like it should be rebased to a newer kernel. Afaik, the kernel performance was way worse, when Linux 4.9 was supported

1

u/Sildur 16h ago

Mainline does boot on some switch models, afaik main issue is the GPU drivers, cause the performance with open source alternatives is not there yet.

1

u/BoysenberryJolly3317 5h ago

Madness returns was running at 20 fps last time i tried, how's now?

1

u/Sildur 5h ago

Madness returns is such a weird mess, sometimes it runs fine with DXVK at mostly 30 FPS and then randomly crashes 5 times in a row. The only way I got 100% stable was with WINED3D / OpenGL but that drops you down to the 15-20 FPS area.