Update 2022-04-21

I discovered Emudeck and this guide is somewhat less useful. Read for your own information, or if you don’t want the convenience that Emudeck gives.

Introduction

So I got my hands on a 256GB Steamdeck, and it’s been a great experience so far. Granted, a somewhat weird experience. How often can you say that you SSH’d into what is supposed to be a handheld gaming device, but it’s a fully-featured handheld COMPUTER? Not often I bet. That said, it’s not any weirder than people I’ve seen using fuckin’ telnet on a COFFEE BREWING MACHINE. (?????)

Let’s begin with one confession, in this guide’s description I wrote that the first thing I did was run Metal Gear Solid on RetroArch, but I lied… as usual the first thing I did was read Reddit and again, AS USUAL I saw some terrifying suggestions from people while researching how to run RetroArch on the Steamdeck.

So here I am, shining some light on what I think is the best way to run RetroArch on the Steamdeck, which is NOT by installing an FTP server on it. 🤮 (Or use the standalone Retroarch version in desktop mode)

Preparation

There aren’t a lot of things to do before you can run RetroArch on your Steamdeck, except these things that I will show you:

  • Know your Steamdeck local IP. (You can find this in the network settings info of your cable or wifi connection (by pressing A on it))
  • Enable sudo by creating a password for the default SteamOS user
  • Enabling the SSH daemon and making it run at boot (optionally)
  • Installing RetroArch from the Steam store
  • Installing WinSCP on your PC (Or you could skip this by using scp (or better rsync) if you either have WSL installed or run Linux as your OS. I will assume everyone reading this is dumb as a rock, hence WinSCP)
  • Downloading libretro cores

Don’t be discouraged, these steps sound like a lot, but it’s quite easy. Just keep reading, you can do it.

Install RetroArch

  1. Go to the store, and install RetroArch. That’s it. Done.

Enabling sudo and ssh on your Steamdeck

For this step, we will need Desktop mode and the Steamdeck terminal, so follow these simple steps:

  1. Press the STEAM button
  2. Navigate and select Power
  3. Navigate and select Switch to Desktop

Now that you’re in Desktop mode, continue:

  1. With the right trackpad, use the mouse to open the “start” window. Yes, kinda like on Windows it’s on the lower right corner. With the Steamdeck logo.
  2. Go to System and open Konsole
  3. Press STEAM + X to open the keyboard
  4. Write passwd on the terminal

Now, the terminal will ask you to input a new password and then confirm it. At this point you should pick a password you will remember (Or use a password manager, like a 2022 IT gentleman) and from that point forward, your user will use this password and you will have access to sudo to run commands as root. Which require using the password you just set up. After that’s done, continue:

  1. Still in the terminal, run the command sudo systemctl start sshd (this will start the ssh daemon making it possible to connect to your steamdeck via SSH)
  2. (Optional, but recommended) also run the command sudo systemctl enable sshd (this will make it so the ssh daemon service is started on boot by default)

You’re pretty much done. You can now SSH into your Steamdeck. Congrats.

Installing WinSCP on your PC

  1. Go here and download WinSCP.
  2. Install it
  3. Keep reading

Downloading libretro cores

Now, this step is important because if you don’t download them manually, the Steam store version of RetroArch is limited to just a couple of cores and the ones in the DLC options themselves. This is the reason why I’ve seen people recommend running the Standalone Linux version of RetroArch on the Desktop mode of your Steamdeck. Because they will tell you to use the core downloader from that version and then just copy or symlink the cores to the Steam store version. Which is dumb and inefficient and I hate it.

So, follow these simple steps:

  1. Go here and download the RetroArch_cores.7z file. (ATTENTION: The link I sent is for stable version 1.10.3 depending on when you read this article, you might want to browse to the latest version folder for your period)
  2. Once downloaded, extract the 7z package to your Desktop
  3. Open the extracted folder until you reach a folder with .so files in it

The .so files are all the cores libretro currently supports. There are all kinds of stuff, like PS2 and PS1 and 3DS and stuff like that.

Uploading files to your Steamdeck

This is when we put all things together. So follow these steps:

  1. Open WinSCP on your PC
  2. Use File protocol SFTP
  3. As “Hostname” put in your Steamdeck local IP
  4. Username is deck (the default Steamdeck user)
  5. Password is the one you set up earlier in the guide
  6. Press Login

You should now be in the Steamdeck filesystem, by default in the Home directory. Now, you can’t see hidden folders, they are the ones that start with .. So, if you’ve installed RetroArch already, you will need to navigate to /home/deck/.local/share/Steam/steamapps/common/RetroArch this path, which contains all RetroArch files. If you’re not new to Steam, this path will remind you of the classic game path any Steam client uses. It’s the same.

On the left side of WinSCP, you have your PC’s filesystem, on the right, there will be the Steamdeck’s filesystem. Kinda like Filezilla, if you’ve ever used it.

So to navigate to the RetroArch folder, follow these steps:

  1. With WinSCP selected, press CTRL + O on your keyboard to open the navigation menu
  2. In the text box, write the full path I wrote up here (/home/deck/.local/share/Steam/steamapps/common/RetroArch)
  3. Press OK to navigate to that directory

Grats. Now you can navigate to the cores folder and from the left side, find the cores you downloaded and extracted on your Desktop and just simply select them all and drag them inside the cores folder of RetroArch on your Steamdeck. BE WARNED I’ve noticed that the Deck’s SSH connection is a bit wonky, so it might timeout a couple of times, but just leave it there and it will reconnect relatively fast. If that doesn’t happen, just reconnect manually and start transferring again, you’ll be fine.

Yay! You have all possible libretro cores in your RetroArch installation. You’re technically set. Now you just need your totally legal roms and your totally legal BIOSes.

The BIOSes go inside the system folder of RetroArch and your games, I would recommend putting them inside a new folder you can create in /home and you can go there by clicking on /home on the path on top of the Steamdeck filesystem on WinSCP (right side) and then pressing New and Directory. Call it Games or something and just drag your ROMs in here. Then from there on RetroArch, you can just do the usual stuff to run your games, just like if you were on your Desktop PC.

You’re pretty much done.

Want to support me?

Find all information right here

You can also support me here:

Credits

  • My mom
  • Homelabber

Check out The Hall of Fame