• Ever wanted an RSS feed of all your favorite gaming news sites? Go check out our new Gaming Headlines feed! Read more about it here.
  • We have made minor adjustments to how the search bar works on ResetEra. You can read about the changes here.

Teppic

Member
Oct 25, 2017
686
I've been playing around with retroarch a lot, trying to get the best results with different emulators. I started to write about each emulator but figured I could write a general guide too.

Setting up retroarch:
Download it from discover in desktop mode. Go to the application menu/games right click on it and add it to steam. Now go back to game mode and run it.

In retroarch:
I'm going to write this guide with the ui set to xmb gui (since that is what I'm using.) Some settings might only apply with xmb enabled.

There's some things I always change first before other settings to make the menu navigation better.

go to settings/user interface and set menu to xmb. Restart to apply.

Go to settings/configuration and set "save configuration on quit" to off. This makes you have to save manually through main menu/configuration file. This is good if you mess something up or get a black screen. By quitting to steam things will revert to how they were before.

Go to "settings/video/full screen mode"
set start in "full screen mode" to on.

Go to "settings/user inetface" and set "menu screensaver timeout" to off.

Go to "settings/user interface/apperance" and change the menu scale factor to get a bigger interface. I have it set to 1.25. Some text might be cut off to the right, but works well for most things.

Go to "settings/input/menu controls" and enable "menu swap ok and cancel buttons" to on. This makes A ok button and B cancel. This is up to personal prefference.

Remember to manually save from now on.

Next I'm going through the other options I think are important.

Main Menu:

Load Core/download a core
. To see cores (emulators) you have downloaded and to download new cores.

Online updater
Download/update cores and other stuff like thumbnails/databases.

Settings:

Drivers

Set video to Vulcan.

Video
Scaling
Set aspect ratio to 1:1 PAR (something DAR). Gives non streched pixels. Some people might want to change it to something else to make it look stretched like on a CRT.

Synchronization
VSync should be on.

Input
Instead of changing things here I'd suggest to change the controls for the application in steam instead. You can view the buttons functions and set them to what you want.

I have the back buttons set to the following:
L4 K key
R4 F1
L5 P key
R5 L key

K is Frame advance. (useful if you want to test input lag)
F1 is to switch between the menu and the game.
P is pause (useful if you want to unpause the game after testing input lag)
L is fast forward.

There's however one hotkey that is good to set in retroarch itself.

Go to hotkeys and set "menu (toggle)" to right stick click button. This is good if you want to access the menu in desktop mode. Back buttons doesn't work there.

Latency
Set audio latency to 32ms. Works well for everything I've tested.

On-Screen display
Go to "notification visibility"
and at the bottom turn on menu-only notifications. This is up to prefference.

User Interface
Go to "menu item visibility". Here you can turn off menus you don't need.

Go to apperance and change the "menu alpha factor" to 90. This is how much transparacy the menu has when you have a game running in the background. 90 makes the menu less transparent and more vissible, but you still see that you have a game on in the background.

In apperance you can also change the "menu icon theme". Select a different theme by pushing left or right on the dpad. I'm using retrosystem with some minor modifications (like removing the black icons.) If you go to the assets/xmb folder on a windows pc you can make your own custom assets from the existing assets by copy and pasting the ones you want and place them in retroarch/assets/xmb/custom. Move assets/xmb/custom to the Deck and change the assets directory in retroarch to it.

Playlists
After you've made some playlists you can come back here and go to "manage playlists". Here you can set a default core to use for all the games in the playlists so you don't have to choose one manually for every new game you play.
You can also change how thumbnails are displayed if you have downloaded any.

User
If you want to use network play I suggest making a user name here. Otherwise it will display your ip address in the piblic lobby instead.

Directory
Go to file browser and set the default directory to your rom folders so you don't have to find it every time. If you have roms on the SD card you'll find it under "run/media/"

Don't forget to manually save the settings you've made :)

Adding games
Go to import content and choose "scan directory" to add you games.
If a game can't be found with scan directory choose "manual scan". Here choose "content direcory", "system name" and "default core". Then go to the bottom and "start scan".

Emulation cores
Some cores requires bios files. To add them go to desktop mode and start dolphin (the file browser.) Press on the three lines at the top right and choose "show hidden files". Now go to rootfs and go to "home/deck/.var/app/org.libretro.retroarch/config/retroarch/system" and place the bios files here. More information on how to place them google retroarch + the core you want more info on. You should find the libretro page for the core and look under the bios section.

NES: Mesen is the most accurate emulator. Using it with run-ahead set to 1 frame works fine, but set to 2 and the cpu can't keep up. For games that need 2 Nestopia is a better choice.
Set the palette to original hardware for most accurate colors.
Scaling 1:1 Par looks best, but the pixels will look weird. I've found 2 possible fixes. Either disable start in fullscreen mode in video settings to make it look better, but the menu will look tiny and low resolution when you play a game. Or pick integer scale in scaling to make the image correct but smaller.

SNES: Regular BSNES is too slow even with run-ahead disabled. Older versions isn't as demanding but doesn't have run-ahead support. Stick with SNES9x current for the best experience.

PCE:
Beetle PCE fast if you want to use run ahead over 1. Maybe better overall for more demanding games.

Sega Master System, Genesis, Game Gear, CD32:
Genesis Plus GX is the best one and works fine with everything I've tried.
Set audio to nuked and low pass filter to on for best sound emulation.
On Sega CD I needed to enable "run second instance" to use run-ahead without framerate problems.

Arcade:
Finalburn Neo if you want to use run-ahead. Mame does not support that.

PS1:
I got the best results with Duckstation. Beetle was too slow.
Steam Deck's Cpu is too weak to use run-ahead at all.

N64:
Mostly tried Parallell64. It works well for most things, but you can't use accurate gpu and spu set to parallell without heavy frame drops.
I think mupen64plus next is a bit faster overall, seems to run Conkers Bad Fur day a bit better with some tveaking (but who wants to play that game anyway)

Gameboy:
Gambette is the best one and it works well.

GBA:
mGBA is the best one and it works well.

Nintendo DS:
MelonDS is the best one to use. Use "threaded software renderer" in options for best performance. OpenGL renderer is not recommended. It adds 2 extra frames of input lag. if you want to use OpenGL with internal resolution scaling for 3D games it's better to use Desmume. Desmume also has more options for controls when you rotate the screens.

3DS:
Citra seems to work. I've only tried Samus Returns. It has shader copilation issues which will make it a kind of bad experience overall. Runs pretty well otherwise.
You can set resolution scale to 2x without performance impact (since it relies on gpu, which is the Decks strong point)
Haven't tried stand alone.

PSP:
Better to use stand alone PPSSPP.

PS2:
Better to use latest stand alone PCSX2 dev build.

Gamecube/Wii:
Better to use stand alone Dolphin emulator.


Core settings
To change options for the cores, start a game and go back to the menu to find the options.

You can also find inputs here. For games that doesn't use the analogue stick I change input/port 1 controls "analogue to digital type" to left analogue to use dpad on the left stick too.
Inputs have their own config files in input/manage remap files. After changing the controls remember to go here and save core or game specific remaps.

In latency you can enable "run-ahead to reduce latency" to reduce input lag. This is very cpu demanding and requires that the core supports it. Set the number of frames you want to reduce. In most cases setting it to 1 works best.
Some cores have their own run-ahead in the options menu instead (bsnes, duckstation)
To test input lag, run a game and pause it (P or K I set to the back keys). Now hold down a button you like to test like the jump button. Press K to advance one frame. Keep pressing it until you see the start of the animation. The amount of times you pressed it is how many frames of input lag the action takes.
Some games have different amount of lag for different actions. I suggest trying different actions (jump, walk, shoot, etc.) to find the one with the least amount of lag and set the number of frames to reduce according to that action.
If you reduce too many frames you get missing animations and other glitches. That's why I suggest to find the action with least amount of lag and set reduced frames for that.

At the bottom you have "core overrides" which you use to save overall core or game specific configs.

If you want to edit/delete config files/playlists/thumbnails etc you'll find them by default in "home/deck/.var/app/org.libretro.retroarch/config/retroarch/"

Thats all. Feel free to correct any mistakes or add anything else you think is missing.
 

Dakkon

Member
Oct 27, 2017
4,191
Guide for Emulators on Steamdeck:

1) Don't use Retroarch because the harassment of the Retroarch team towards Stenzek creator of Duckstation and Dolphin and how they treated Duckstation on mobile was awful.
 

Common Knowledge

One Winged Slayer
Member
Oct 25, 2017
6,248
I know nothing about this stuff, is Retroarch a shit company or something juding by the posts here?

Edit: Nvm one of the posts above goes into it a bit.
 

JordianKnot

Member
Oct 27, 2017
872
Question for you folks, am I able to transfer my save data from PC to Steam Deck / EmuDeck? I have the MP Trilogy and Primehack stuff saved on my PC. I'd like to be able to just transfer everything including my saves and settings. Is that possible? Or do I have restarts/reset up everything on Steam Deck via Emu Deck?
 

squeakywheel

Member
Oct 29, 2017
6,080
Never forget Near's suicide and RA's role in that. Duckstation and other authors have receipts of their own.
 

ResetSoul

Banned
Jul 29, 2021
1,366
1) Don't use Retroarch because the harassment of the Retroarch team towards Stenzek creator of Duckstation and Dolphin and how they treated Duckstation on mobile was awful.

Oh no... What's all this, then?

Never forget Near's suicide and RA's role in that. Duckstation and other authors have receipts of their own.

This sounds like a whole rabbit hole I wasn't expecting to fall into tonight...
 
Last edited: