RetroArch - dragoonDorise/EmuDeck GitHub Wiki
THIS WIKI IS NO LONGER MAINTAINED. VISIT https://emudeck.github.io/ FOR THE NEW EMUDECK WIKI.
RetroArch is an open source and cross platform frontend/framework for emulators.
Website: https://www.retroarch.com/
Github: https://github.com/libretro/RetroArch
RetroArch Wiki: https://docs.libretro.com/
RetroArch FAQ: https://www.retroarch.com/?page=faq
RetroArch Table of Contents
Getting Started with RetroArch
RetroArch Configuration
- Type of Emulator: Flatpak
- Config Location:
/home/deck/.var/app/org.libretro.RetroArch
- Storage:
Emulation/storage/retroarch
- Contains:
cheats
- Contains:
- ROMs: Refer to https://github.com/dragoonDorise/EmuDeck/wiki/RetroArch#list-of-retroarch-cores-used-by-emudeck for a full list of RetroArch folders.
- BIOS:
Emulation/bios
- Saves:
- Symlink:
Emulation/saves/retroarch/saves
- Target Location:
/home/deck/.var/app/org.libretro.RetroArch/config/retroarch/saves/
- Symlink:
- Save States:
- Symlink:
Emulation/saves/retroarch/states
- Target Location:
/home/deck/.var/app/org.libretro.RetroArch/config/retroarch/states/
- Symlink:
Note: ~/.var
is an invisible folder by default. In Dolphin (file manager), click the hamburger menu in the top right, click Show Hidden Files
to see these folders.
Works With
- Steam Rom Manager
- EmulationStation-DE
How to Update RetroArch And Its Cores
How to Update RetroArch
- Update through
Discover
(Shopping bag icon) - Through the
Update your Emulators & Tools
section on theManage Emulators
page in theEmuDeck
application
How to Update RetroArch Cores
- Open
RetroArch
- Open the
Main Menu
- Scroll down and select
Online Updater
- Select
Update Installed Cores
Visual Reference:
How to Launch RetroArch in Desktop Mode
How to Launch RetroArch in Desktop Mode
- Launch
RetroArch
from the Applications Launcher (Steam Deck icon in the bottom left of the taskbar) - Launch the script from
Emulation/tools/launchers
,retroarch.sh
- Launch the emulator from
Steam
after adding it via theEmulators
parser inSteam Rom Manager
A Breakdown of Overrides
- Global = Everything.
- Core = Anything run by a specfic cores.
- Content Directory = Any rom in a specific directory. *these are used for the emudeck applied shaders.
- Game = that specific rom.
As you get lower in this list it takes precedence, so if you do nothing but set a core shader preset, it will not override the content directory preset already applied.
For more information: https://docs.libretro.com/guides/overrides/
RetroArch Hotkeys
Hotkeys | RetroArch |
---|---|
Menu | L3 + R3 |
Exit | Select + Start |
Pause/Unpause | Select + A |
Fast Forward | Select + R2 |
Rewind | Select + L1 |
Save State | Select + R1 |
Load State | Select + L1 |
Next Save Slot | Select + DPAD Right |
Previous Save Slot | Select + DPAD Left |
Toggle Runahead | Select + DPad Up |
Toggle FPS Display | Select + X |
Screenshot | Select + B |
Toggle Screen Layout (NDS) | R2 |
Blow Mic (NDS) | L2 |
Steam Deck Button Layout: https://github.com/dragoonDorise/EmuDeck/wiki/Hotkeys#steam-deck-button-layout
Note:
- Screenshots are saved in:
/home/deck/.var/app/org.libretro.RetroArch/config/retroarch/screenshots
- The
Blow Mic
hotkey only blows white noise. It cannot be used to speak into the Steam Deck microphone. The white noise may not be strong enough to progress in some games.
List of RetroArch Cores Used by EmuDeck
Common Issues
RetroArch Tips and Tricks
How to Optimize Storage (Compression Tool)
To optimize storage, you can use the EmuDeck Compressor
within EmuDeck.
The EmuDeck Compressor
will compress your Dreamcast, Playstation 1, Sega/MegaCD, 3DO, Saturn, TurboGraphix/PCEngineCD, PC-FX, Amiga CD32, and NeoGeoCD ROMs to CHD. If your ROM is a BIN/CUE, the Compression Tool will only compress it if you have both the BIN and the CUE files for a ROM. If the ROM is in a zip file or is missing a paired BIN or CUE file, the Compression Tool will not detect the ROM.
After running the EmuDeck Compression Tool
, re-run Steam ROM Manager to update your ROM shortcuts to the newly compressed ROM.
Visual Reference:
How to Manage Multiple Discs
M3U files can be used to manage multiple discs for RetroAarch. When the time comes to switch discs:
- Press L3 and R3 together
- Select manage discs
Learn how to create an M3U File: https://github.com/dragoonDorise/EmuDeck/wiki/file-management#how-to-manage-roms-with-multiple-discs.
How to Change Shaders
-
Load content that has a shader applied automatically.
-
Go to the quick menu via both sticks in retroarch. from there, navigate to shaders (~/.var/app/org.libretro.RetroArch/config/retroarch/shaders).
-
In shaders find remove, and select it.
-
Hit the button that says remove content directory preset
-
close retroarch, reload content. no shaders applied (yes it's hard to see, but no more lcd squares)
-
Conversely in that same shader menu - if you want to set up a different shader you would make the changes and apply them. When satistified you go to save:
The order they are listed in is the order they take precedence, from most general to most specific.
- Global = Everything.
- Core = Anything run by a specfic cores.
- Content Directory = Any rom in a specific directory. *these are used for the emudeck applied shaders.
- Game = that specific rom.
As you get lower in this list it takes precedence, so if you do nothing but set a core shader preset, it will not override the content directory preset already applied.
How to Change Controller Layouts on a Per Game Basis
How to remap the controls for a single game:
1. Start content with the core for which you want to remap controls
2. Go to Quick Menu and then Controls
3. Configure the buttons the way you want
4. Select Save Game Remap File
Copied From: https://docs.libretro.com/guides/input-and-controls/#remapping-controls-for-individual-cores-or-content
How to Change Controller Layouts for a System
How to remap the controls for a single core:
1. Start content with the core for which you want to remap controls
2. Go to Quick Menu and then Controls
3. Configure the buttons the way you want
4. Select Save Core Remap File
Copied From: https://docs.libretro.com/guides/input-and-controls/#remapping-controls-for-individual-cores-or-content
How to Set Game Settings On a Per-Game Basis
How to Set Game Settings On a Per-Game Basis:
1. Start content with the core for which you want to change settings
2. Go to Quick Menu and then
3. Configure the settings the way you want
4. Select Core Options, Manage Core Options, Save Game Options
RetroArch Cores
Flycast
Flycast is a Dreamcast Core for RetroArch.
Wiki Link: https://docs.libretro.com/library/flycast/
How to Install Custom Textures For Flycast
- In
Emulation/bios
, create adc
folder - In
Emulation/bios/dc
, create 3 folders:texdump
,textures
, andskins
foldertexdump
- Dumped Textures Foldertextures
- Texture Pack Folder
- Place texture packs in
Emulation/bios/dc/textures
- Open a game, press
L3
andR3
, open the settings menu and enableLoad Custom Textures
Texture Pack Resources: https://old.reddit.com/r/Flycast_texture_packs/
Fuse
Fuse is a ZX Spectrum Core for RetroArch.
Wiki Link: https://docs.libretro.com/library/fuse/
How to Configure Controls for Fuse
You will want to set a joystick in the quick menu/controls/port one.
RetroArch sets it controller by default, but thats useless for a computer.
I always suggest setting it to "Kempston" and saving a core remap.
Kempston works for a lot of games so is a good base, but it may need changing on a game by game basis, which is easy enough.
If you load a game and kempston doesnt work, just head back to quick menu/controls/port one, and try one of the other joysticks.
When you find one that works save that as a game remap.
Bear in mind though the speccy was a computer, and some games will be keyboard only, you may be able to work around that via steam input.
MelonDS
MelonDS is a Nintendo DS Core for RetroArch.
Wiki Link: https://docs.libretro.com/library/melonds/
How to Use the Trackpad for the Touch Screen
Description: This allows you to use one of the trackpads as a touch screen for a Nintendo DS game.
RetroArch
- Press both
L3
andR3
while playing a DS game Quick Menu
>Core Options
>Screen
>Touch Mode
> change fromTouch
toMouse
Quick Menu
>Manage Core Options
>Save Content Directory Options
Steam Input
- Change one of your trackpads to a mouse and either use the
B
button orLeft Click
as the click option
Mupen64Plus-Next
Mupen64Plus-Next is a Nintendo 64 Core for RetroArch.
Wiki Link: https://docs.libretro.com/library/mupen64plus/
How to Install Custom Textures for Mupen64Plus-Next
- In
Emulation/hdpacks/Mupen64plus_next
, create two folders,cache
andhires_texture
- A breakdown of which folder to use:
- .png textures stored in hires_texture/ should generate a cache when loading a matching game and then work
- .htc/.hts textures in cache/ should work but the RA settings need to match the settings used when generating the cache
- Open a game, access the Quick Menu > Options > GlideN64 > Use High-Res textures
- Enable:
- Cache Textures
- Use High-Res Full Alpha Channel
- Use Hi-Res Storage
- Enable:
Neko Project II Kai
Neko Project II Kai is a NEC PC-98 Core for RetroArch.
Wiki Link: https://docs.libretro.com/library/neko_project_ii_kai/
Configuring controls
Neko Project II Kai, soon:tm:
PPSSPP RetroArch Core
PPSSPP is a Playstation Portable Core for RetroArch. For the standalone emulator, visit https://github.com/dragoonDorise/EmuDeck/wiki/ppsspp.
How to Download Asset Files (Required)
The PPSSPP RetroArch core requires assets files to be fully functional.
To download these asset files:
- Open
RetroArch
- Click
Online Updater
- Click
Core System Files Downloader
to downloadppsspp.zip
ppsppp.zip
will be downloaded toEmulation/bios
, no additional steps are required
PX68k
PX68k is a Sharp - X68000 Core for RetroArch.