(also please boost this thread if you found it helpful, I think communities that are not often used get a deboost in the algorithm and I don’t want this guide to end up with just 3 pairs of eyeballs on it 🥲)

Switch emulation has come a long way and works perfectly. In fact, I can even play some games on my phone - though you’ll probably need snapdragon cpu and 8gb ram.

This is a guide to set up switch emulation on your phone or PC because fuck intellectual property.

tl;dr: you need an emulator, prod.keys and title.keys file, and a firmware. A website to download games and patches/DLCs and then you’re good to go.

1- The emulators

The first thing you need is an emulator. They’re all based on yuzu, but due to mimtendo piracy shenanigans, yuzu has stopped and other projects have popped up in its place.

Currently I would say there is Yuzu, **Ryujinx **(also abandoned iirc), Citron and Eden. All of these emulators work slightly differently, and you might get different performances on different games on different devices. My phone works great with Eden but that won’t necessarily be the case for you. The best part however is you can easily install all of them and use a common folder for your games - we’ll get into that.

Download the emulators from the official websites, even if it redirects you to their github or gitlab (in the case of Citron).

-> On Citron, there has been controversy about them requiring a dump of your switch data to verify you own one. As far as I can tell they never implemented that and it was going to be limited to the discord, because mimtendo will drag you to hell and back if you try to make emulators. That’s why these emulators say they are only for playing and testing homebrews. It’s a protective measure and Citron does not need to connect to the internet to be used.

So go ahead and install all the emulators you feel like testing on your device. If you’re on android, download and run the apk from your device directly tbh. Once installed, open the emulator once and look at the instructions: they will likely tell you which keysand firmware versions you need.

2- Getting the prod keys and firmware

you will now need two things: prod keys, and a firmware. You can get both here: https://prodkeys.net/prod-keys/ (that’s where I downloaded mine).

They make categories by emulator but this is just marketing. Prod keys are prod keys, any of them will work. Download either prod keys v20.3.0 or the ones specified by the emulator, and firmware v19.0.1 - not the newer firmwares. Most emulators don’t work with the newer ones yet.

Download those files and keep them somewhere on your device. On Android I just make a folder in the root so that I have everything close by. For speed reasons, use the internal storage, not the SD slot. Then on the emulator, follow the instructions and specify the prod keys file and then the firmware.

The beauty of this is that if you install more than one emulator, you can do the same steps without redownloading the files. I keep my keys and firmware on my device for this reason.

3- Getting games

If you set up your emulator correctly (it will tell you), it will then ask for a game folder. Like with the prod keys, I recommend making a single folder that has all your switch games, and you just put them there. Then specify the same folder for every emulator, and it will find all your games automatically.

There are two things though: 1- you will have to set up your controls and overlay for every emulator, and 2- game saves are not automatically picked up by other emulators. But you can export your saves and import into another emulator.

So to get games, there are several websites. Personally I was recommended www.ziperto.com and so this is what I use. It may not be the fastest but it works. I have an ad blocker so idk if there are malicious ads on there.

What you want is the .nsp file. This is ready to be moved into your game folder, after which the emulator will automatically see it and add it to your library. You can also use .xci files but I’ve never had to try them so I can’t tell you more about those.

Ziperto will have these links:

“Download” is for the base game (separated by languages when applicable), and then there are other links for any updates and DLCs. Ideally you’ll want to grab your language base game and then every update and DLC.

Dump all the actual rom files into your games folder - ziperto adds their own ads in the zip but you can just delete those. Also move the dlcs and patches into that folder. There’s no need to make subfolders or anything.

4- Applying updates and DLCs

Normally, your emulator will recognize the game files and create a card for it automatically. If it doesn’t, refresh (exit and open again) or make sure you have selected the right games folder. It should look like this:

However, what if you have updates or DLCs? Make a long press (right click) on the game card, and it will open up a new menu. Tap “Extensions”, “Install”, then select either patch/dlc or mod. Understandably this will be patch/dlc. It will open your games folder, and just select the patch and DLC files one by one. It will tell you if it failed to install them but it should work without issues.

And that’s it! From this point on you can play any switch game you want on PC or android. But…

5- What if you want to play Japanese games?

The switch is not artificially localized with PAL/NTSC etc regions. However, there are games that just never came out of Japan, with english fan patches (Umineko for example).

What you have to do there is first look online if there’s an english patch for your game. Then download it. For the switch, it should normally come into a folder structure like this:

| patch folder
|_ romfs
|_ exefs

Move the entire patch folder to your game folder, and then instead of using patch/dlc installation (see previous step), use “Mods and cheats” option. Then, select the ‘patch folder’ folder - not the individual files within it but the parent folder that contains everything.

It should take seconds and install! And this is where emulation really shines, you now get access to potentially tons of games that were never made available in your language.

6- Changing the settings

Okay, one last quick chapter on how to set up the emulator in case it doesn’t play a game perfectly.

First, try to change the settings. Exit the game, go into settings on the emulator, and fiddle around with the Advanced settings: audio driver, video resolution, etc. If you get a clicky sound, you’re probably using the wrong audio driver (default is Auto, selecting automatically between either of two). I think cubeb is overall better for audio. For graphical glitches, try different things.

If it still doesn’t fix your issues (I had this problem with umineko), try another emulator! That’s the beauty of it imo. Settings don’t transfer and you need to reinstall the patches, but that’s why we keep everything in one folder. Umineko was giving me glitches on Citron, I switched to Eden, and it works perfectly now.

7 - Installing emulator On PC (Windows)

(Only windows because I don’t know if it works the same on Linux).

I just installed Eden on Windows and the setup is a bit different. When you open it, it will tell you decryption keys are not installed. Click OK. Double click the interface with the huge folder icon on it to select your games folder, and it should detect all of them (Eden didn’t detect some of my games but Citron does).

Next, open Tools in the menu and “Select decryption keys”. Select your prod.keys file or title.keys file, it doesn’t matter which one as it will automatically install both. Afterwards select “Install firmware” from the same Tools menu, and select either the folder or zip file of the firmware.

If you have patches and DLCs to install, open File in the menu -> Install to NAND. You can ctrl+A the entirety of your games folder (provided the patches and DLCs are in there) and it will automatically install what it finds. It says not to install base games from that tool but it should skip them if you select them. Keep it easy.

  • Kras Mazov@lemmygrad.ml
    link
    fedilink
    arrow-up
    10
    ·
    3 days ago

    Amazing guide comrade! For the last part, Switch emulators do work on Linux and basically the same way, the difference is just where the files are located.

    I have heard of Eden before, but never tried it, is it Open Source too?

    Also would be cool for you to link to these emulators pages and source code websites.

    • CriticalResist8@lemmygrad.mlOP
      link
      fedilink
      arrow-up
      6
      ·
      3 days ago

      Eden is also open source, they’re all basically forks of Yuzu as I understand it but work slightly differently under the hood. I prefer people google the websites and repos because the URLs can change or get hijacked. Even the prod keys site might not be up 2 years from now.

      • Kras Mazov@lemmygrad.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 days ago

        the URLs can change or get hijacked

        Fair enough. I just searched for Eden and even downloaded to take a look. Hopefully these forks don’t get taken down easily. I wonder why there isn’t more Ryujinx forks tho, the only one I know of right now is the one by greemdev.

        • CriticalResist8@lemmygrad.mlOP
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          2 days ago

          I would try ryujinx to see how it differs but I see two different websites that claim the name which is already a red flag 😅 this is why I wouldn’t want to link to websites directly, I can’t be sure that even I am downloading the legit version…

          People seem to be on edge every time a new project pops up though, analyzing the commit history and such. Honestly I’m good with citron and eden lol, they seem to run all my games. I get being wary of new projects with opaque code but a lot of it seems to be navel-gazing and splitting hairs. Obviously nobody wants to get sued for making an emulator so they have to find ways around how they sell the project - just saying generally because damn, the switch emulation scene is a mess and not helped at all by the supposed fanbase of it! Which is why I wanted to write this guide to simplify it all.

          • Kras Mazov@lemmygrad.ml
            link
            fedilink
            English
            arrow-up
            2
            ·
            edit-2
            2 days ago

            This is the official GitLab instance for greemdev’s Ryujinx fork (sometimes called Ryubing too) if you want to try it. Sometimes games run better on Ryujinx, while others are better on Yuzu/Yuzu-forks, so for now it is good to have both installed at least to test. I don’t know if it is possible on Windows (probably is), but I have both Ryujinx and Yuzu/Eden share the files needed to run, so it doesn’t need to have separate stuff taking a lot of space. The one thing Ryujinx definitely have tho is a good UI/UX.

            because damn, the switch emulation scene is a mess

            Oh definitely, I remember the shit show that was when the forks of Yuzu started to appear and people where desperately looking into the source code of everything lol. That’s actually why I’m still weary of Citron even. While it’s good that they never implemented the verification stuff, their attitude towards it was very weird and makes me doubt the people behind the project a bit, tho if it survives the test of time, then hopefully that’s just a past mistake.

  • BassedWarrior@lemmygrad.ml
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    2 days ago

    Would it make sense to have this on ProleWiki, perhaps?

    I don’t know if piracy and cybersecurity should be included. And OPSEC in general, I guess.

    • CriticalResist8@lemmygrad.mlOP
      link
      fedilink
      arrow-up
      2
      ·
      2 days ago

      We’ve explored a cybersecurity guide before but it’s a ton of work and lots of conflicting information too. Emulation I guess is possible, we’d have to look into if there’s interest first and if it could be useful to us. Information online about emulation is not exactly lacking, it’s just finding the pages that’s made difficult by google.

      • BassedWarrior@lemmygrad.ml
        link
        fedilink
        arrow-up
        2
        ·
        1 day ago

        Yeah, I guess. I’ve just been really intrested in ProleWiki and what should/could be there. And basically like a “Technology” category for the Wiki.

  • prof_tincoa@lemmygrad.ml
    link
    fedilink
    English
    arrow-up
    5
    ·
    3 days ago

    Really nice guide, comrade. Any game recommendations? Including any of the big titles, I haven’t played any of the Switch exclusive games.

  • CriticalResist8@lemmygrad.mlOP
    link
    fedilink
    arrow-up
    3
    ·
    2 days ago

    The next step for me is to find a way to stream the game from my PC to my TV and connect joycons to it lol. That way you still get the switch experience but all from a computer. Since TVs today run android I’m sure there’s some apps that can handle streaming. Would be cool if the emulators could also look like the switch homescreen!

    You can also connect with an HDMI cable which is what I’ve done for years but honestly it doesn’t work seamlessly. The image was always worse than on my own monitor and eventually something broke in the cable, making the image garbled.

    • Atlas@lemmygrad.ml
      link
      fedilink
      arrow-up
      3
      ·
      2 days ago

      Look into moonlight / sunshine! That’s what I use to stream games from my PC to other devices.

      It has some difficulties sending option keys from moonlight to sunshine so if you use a tiling wm look out for that.

      Otherwise it just worked out of the box for me :)