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

  1. Getting Started with RetroArch

  2. Common Issues

  3. RetroArch Tips and Tricks

  4. RetroArch Cores


Getting Started with RetroArch

Back to the Top


RetroArch Configuration

Back to the Top

  • Type of Emulator: Flatpak
  • Config Location: /home/deck/.var/app/org.libretro.RetroArch
  • Storage: Emulation/storage/retroarch
    • Contains: cheats
  • 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/
  • Save States:
    • Symlink: Emulation/saves/retroarch/states
    • Target Location: /home/deck/.var/app/org.libretro.RetroArch/config/retroarch/states/

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

Back to the Top

How to Update RetroArch

  • Update through Discover (Shopping bag icon)
  • Through the Update your Emulators & Tools section on the Manage Emulators page in the EmuDeck application

How to Update RetroArch Cores

  1. Open RetroArch
  2. Open the Main Menu
  3. Scroll down and select Online Updater
  4. Select Update Installed Cores

Visual Reference:

https://user-images.githubusercontent.com/108900299/235380638-913726b9-b186-41cd-b5cd-91a2143246d2.mp4


How to Launch RetroArch in Desktop Mode

Back to the Top

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 the Emulators parser in Steam Rom Manager

A Breakdown of Overrides

Back to the Top

  1. Global = Everything.
  2. Core = Anything run by a specfic cores.
  3. Content Directory = Any rom in a specific directory. *these are used for the emudeck applied shaders.
  4. 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

Back to the Top

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

Back to the Top

Console/System RetroArch Core (Click for Libretro Article)
3DO RetroArch Opera
Amiga RetroArch PUAE
Amiga 600 RetroArch PUAE
Amiga 1200 RetroArch PUAE
Amiga CD32 RetroArch PUAE
Amstrad CPC RetroArch Caprice32
Atari 2600 RetroArch Stella
Atari Lynx RetroArch Stella
Commodore 16 RetroArch Vice
Commodore 64 RetroArch Vice
Commodore VIC-20 RetroArch Vice
Doom RetroArch PrBoom
DOS RetroArch DOSBox Pure
EasyRPG RetroArch EasyRPG
Final Burn Neo RetroArch FinalBurn Neo
MAME 2003 Plus RetroArch MAME 2003 Plus
MAME 2010 RetroArch MAME 2010
MAME Current RetroArch MAME Current
NEC PC-98 RetroArch Neko Project II Kai
NEC TurboGrafx-16 RetroArch Beetle PCE
NEC TurboGrafx-CD RetroArch Beetle PCE
Neo Geo Pocket & Color RetroArch Beetle NeoPop
Nintendo 64 RetroArch Mupen64plus-Next
Nintendo DS RetroArch melonDS
Nintendo Gameboy RetroArch SameBoy
Nintendo GameBoy RetroArch Gambatte
Nintendo GameBoy Advance RetroArch mGBA core
Nintendo GameBoy Color RetroArch SameBoy
Nintendo GameBoy Color RetroArch Gambatte
Nintendo NES RetroArch Mesen
Nintendo NES RetroArch Nestopia
Pico-8 RetroArch Pico-8
Sega 32X RetroArch PicoDrive
Sega CD RetroArch Genesis Plus GX
Sega Dreamcast RetroArch FlyCast
Sega Game Gear RetroArch Genesis Plus GX
Sega Genesis / Mega Drive RetroArch Genesis Plus GX
Sega Genesis Widescreen RetroArch Genesis Plus GX
Sega Master System RetroArch Genesis Plus GX
Sega Saturn RetroArch Beetle Saturn
Sega Saturn RetroArch Kronos
Sega Saturn RetroArch Yabause
Sharp X68000 RetroArch PX68k
Sony Playstation RetroArch Beetle HW
Sony Playstation RetroArch Swanstation
Sony Playstation Portable RetroArch PPSSPP
Super Nintendo RetroArch Snes9x
Super Nintendo Widescreen RetroArch bsnes hd beta
Wonderswan & Color RetroArch Beetle Cygne
ZX Spectrum RetroArch Fuse

Common Issues

Back to the Top

RetroArch Tips and Tricks

Back to the Top


How to Optimize Storage (Compression Tool)

Back to the Top

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

Back to the Top

M3U files can be used to manage multiple discs for RetroAarch. When the time comes to switch discs:

  1. Press L3 and R3 together
  2. 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

Back to the Top

  1. Load content that has a shader applied automatically.

  2. Go to the quick menu via both sticks in retroarch. from there, navigate to shaders (~/.var/app/org.libretro.RetroArch/config/retroarch/shaders).

  3. In shaders find remove, and select it.

  4. Hit the button that says remove content directory preset

  5. close retroarch, reload content. no shaders applied (yes it's hard to see, but no more lcd squares)

  6. 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

Back to the Top

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

Back to the Top

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

Back to the Top

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

Back to the Top


Flycast

Back to the Top

Flycast is a Dreamcast Core for RetroArch.

Wiki Link: https://docs.libretro.com/library/flycast/


How to Install Custom Textures For Flycast

Back to the Top

  1. In Emulation/bios, create a dc folder
  2. In Emulation/bios/dc, create 3 folders: texdump, textures, and skins folder
    • texdump - Dumped Textures Folder
    • textures - Texture Pack Folder
  3. Place texture packs in Emulation/bios/dc/textures
  4. Open a game, press L3 and R3, open the settings menu and enable Load Custom Textures

Texture Pack Resources: https://old.reddit.com/r/Flycast_texture_packs/


Fuse

Back to the Top

Fuse is a ZX Spectrum Core for RetroArch.

Wiki Link: https://docs.libretro.com/library/fuse/


How to Configure Controls for Fuse

Back to the Top

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

Back to the Top

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

Back to the Top

Description: This allows you to use one of the trackpads as a touch screen for a Nintendo DS game.

RetroArch

  1. Press both L3 and R3 while playing a DS game
  2. Quick Menu > Core Options > Screen > Touch Mode > change from Touch to Mouse
  3. Quick Menu > Manage Core Options > Save Content Directory Options

Steam Input

  1. Change one of your trackpads to a mouse and either use the B button or Left Click as the click option

Mupen64Plus-Next

Back to the Top

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

Back to the Top

  1. In Emulation/hdpacks/Mupen64plus_next, create two folders, cache and hires_texture
  2. 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
  3. 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

Neko Project II Kai

Back to the Top

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

Back to the Top

Neko Project II Kai, soon:tm:


PPSSPP RetroArch Core

Back to the Top

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)

Back to the Top

The PPSSPP RetroArch core requires assets files to be fully functional.

To download these asset files:

  1. Open RetroArch
  2. Click Online Updater
  3. Click Core System Files Downloader to download ppsspp.zip
  4. ppsppp.zip will be downloaded to Emulation/bios, no additional steps are required

PX68k

Back to the Top

PX68k is a Sharp - X68000 Core for RetroArch.


Section 1

Back to the Top