RetroArch Switch

From GameBrew
RetroArch
Retroarchswitch.png
General
AuthorLibretro
TypeOther Emulators
Version1.16.0
LicenseGPL-3.0
Last Updated2023/09/21
Links
Stable - Nightly Download
Website
Source
Support Author

RetroArch is an open source cross-platform frontend for emulators, game engines, and media players. It provides a user-friendly graphical interface for running classic games on a wide range of computers and consoles. The application unifies settings, simplifying the configuration process by allowing users to set them up once and for all.

RetroArch offers advanced features such as shaders for visual enhancements, netplay for online multiplayer gaming, rewinding to undo mistakes or retry challenging sections, next-frame response times for precise inputs, runahead to reduce input lag, machine translation, blind accessibility features, and many more.

Features

  • OpenGL support.
  • Touchscreen support (for MaterialUI/etc).
  • Full networking support.
  • RetroAchievements support.
  • Game scanning.
  • Split Joy-Con support.
  • Core downloader.
  • Runahead support.

Installation

Prerequisites:

  • Atmosphère CFW.
  • FAT32 formatted SD card.

Using the stable bundle (recommended):

  • You can find a bundle with RetroArch, all the cores and all the assets here.
  • Just extract the archive to the root of your SD card to install or update your copy of RetroArch (overwrite any existing file).

Using the nightlies (advanced users):

  • If you don't want to download all cores at once, you can go here and only pick the ones you want.
  • Put the downloaded NROs in retroarch/cores/ on your SD card. You can run them directly using the homebrew menu.
  • Alternatively, you can download only one core and use the Online Updater inside of RetroArch to download or update additional cores later.

Updating RetroArch is the same as installing it, download a higher or lower version (in this case, downgrade) than the version you have and overwrite existing files.

Note that some Cores need BIOS files in order to correctly emulate hardware and/or software as needed by the content (usually /retroarch/cores/system/), refer to this list for core specific BIOS information.

User guide

Running RetroArch

The preferred way of running RetroArch is to use Atmosphère's title takeover feature. This allows you to (temporarily) replace a game with the homebrew loader, which will then be used to load RetroArch. Make sure to use the latest version of Atmosphère before continuing.

Note: You need at least one title on the console (whether it's a digitally purchased game or a demo or a cartridge game or even an homebrew NSP). If you can pick an up to date game that's better as you won't be nagged every time you run it.

Atmosphère now contains everything needed to run homebrews out of the box. To do so, simply run any game while holding the R key. Make sure to hold the key until you can actually see the homebrew menu. Select RetroArch in the list to start!

If you wish to change the key, you can edit /atmosphere/loader.ini and change override_key here. You can add a ! in front of the key to flip the condition ("run homebrew if the key is pressed" versus "run homebrew if the key isn't pressed").

Setting up XMB

If the menu icons are not loaded when you start RetroArch, you're missing the assets package. Navigate the menu and go to "Online Updater" and select "Download Assets". Otherwise, download the assets here and extract it to sdmc:/retroarch/assets/. The next time you open RetroArch, all should be well.

The default directory for the XMB assets is sdmc:/retroarch/assets/, you can change it to any other path you like under Settings > Directory.

Supported cores

The cores listed below are known to work well on Switch. There may be other experimental cores not listed here, but they are not recommended for most users.

Amstrad Cores:

  • Amstrad - CPC (Caprice32)
  • Amstrad - CPC (CrocoDS)

Atari Cores:

  • Atari - 2600 (Stella / Stella2014)
  • Atari - 7800 (ProSystem)
  • Atari - Lynx (Beetle Handy)
  • Atari - Jaguar (Virtual Jaguar)

Commodore Cores:

  • Commodore C64/C128/VIC20/PET/PLUS4/ CBM-5x0/6x0/7x0 /SID (VICE)

Game Cores:

  • 2048 (2048)
  • Bomberman (MrBoom)
  • Cave Story (NXEngine)
  • Dinothawr
  • Doom & Doom 2 (PrBoom)
  • Doom 3 (boom3)
  • Flashback (Reminiscence)
  • Game & Watch (GW)
  • OutRun (Cannonball)
  • Quake (TyrQuake)
  • Quake 2 (VitaQuake2)
  • Quake 3 (VitaQuake3)
  • Rick Dangerous (XRick)
  • Star Trek: Voyager (VitaVoyager)
  • Tomb Raider (OpenLara)

Multi System Cores:

  • Arcade (MAME 2000)
  • Arcade (MAME 2003)
  • Arcade (MAME 2003 Plus)
  • Arcade (FBNeo)

Misc Cores:

  • 3DO Company - 3DO (4DO)
  • Amiga (P-UAE)
  • Bandai - WonderSwan/Color (Beetle WonderSwan [Cygne])
  • DOS (DOSBox SVN)
  • Game Music Library (GME)
  • GCE - Vectrex (vecx)
  • Magnavox - Odyssey2 / Phillips Videopac+ (O2EM)
  • Mattel - Intellivision (FreeINTV)
  • Microsoft - MSX (fMSX)
  • MP3 Karaoke Music Player (Pocket CDG)
  • NeoGeo CD (NeoCD)
  • Palm OS (Mu)
  • RPG Maker 2000/2003 (EasyRPG)
  • Sharp X68000 (PX68k)
  • ScummVM
  • Sinclair - ZX 81 (81/EightyOne)
  • SNK - Neo Geo Pocket / Color (Beetle Neo Geo Pocket [NGP])
  • Thomson - TO8D (Theodore)
  • Uzebox (Uzem)
  • ZX Spectrum (Fuse)

Nintendo Cores:

  • Nintendo - Nintendo DS (DeSmuME)
  • Nintendo - Nintendo DS (MelonDS)
  • Nintendo - Nintendo 3DS (Citra)
  • Nintendo - Game Boy / Color (Gambatte)
  • Nintendo - Game Boy / Color (GearBoy)
  • Nintendo - Game Boy / Color (SameBoy)
  • Nintendo - Game Boy / Color (TGB Dual)
  • Nintendo - Game Boy Advance (mGBA)
  • Nintendo - Game Boy Advance (VBA Next)
  • Nintendo - NES / Famicom (FCEUmm)
  • Nintendo - NES / Famicom (Mesen)
  • Nintendo - NES / Famicom (Nestopia UE)
  • Nintendo - NES / Famicom (QuickNES)
  • Nintendo - Nintendo 64 (Mupen64 Plus)
  • Nintendo - Nintendo 64 (Mupen64 Plus Next)
  • Nintendo - Pokemon Mini (PokeMini)
  • Nintendo - SNES / Super Famicom (BSNES HD)
  • Nintendo - SNES / Super Famicom (Snes9x 2010)
  • Nintendo - SNES / Super Famicom (Snes9x)
  • Nintendo - Virtual Boy (Beetle VB)

NEC Cores:

  • NEC - PC-98 (Neko Project II Kai)
  • NEC - PC Engine / CD (Beetle PCE FAST)
  • NEC - PC Engine SuperGrafx (Beetle SGX)

Sega Cores:

  • Sega - Dreamcast (Flycast)
  • Sega - MS/GG (GearSystem)
  • Sega - MS/GG/MD/CD (Genesis Plus GX)
  • Sega - MS/GG/MD/32X (PicoDrive)
  • Sega - Saturn (Yabause)

Sony Cores:

  • Sony - PlayStation (Beetle PSX)
  • Sony - PlayStation (PCSX ReARMed)
  • Sony - PlayStation Portable (PPSSPP)

Inputs and controls

See the RetroArch documentation for setting the controls.

USB keyboards and mice:

Touch mouse emulation:

  • Single finger drag - Move the mouse pointer (indirectly like on a touchpad)
  • Single short tap - Left mouse click
  • Dual finger short tap* - Right mouse click
  • Dual finger drag - Drag'n'Drop (left mouse button is held down)
  • Three finger drag - Drag'n'Drop (right mouse button is held down)

(*: hold one finger, short tap with another)

Notes

How to use split Joy-Configurations for 2 players:

  • First, set your Joy-Cons as two players in the Switch home menu.
  • Then go to Settings > Input in RetroArch and set split joycons to 2.
  • You should also set a new Menu-open key combo.

Recommended settings for optimal performance:

  • Try enabling Audio and Video to switch_thread/thread, and also enable 1:1 PAR so that each core has their proper given aspect ratio.
  • Also, don't forget to always launch from a game using title takeover.

In case PCSX ReARMed is running too slowly:

  • Go to Settings > Video and enable Threaded Video. Threaded Video can also help with certain demanding shaders.
  • Please note that Threaded Video can tend to introduce some judder to frame pacing which isn’t there with non-threaded video, so for all other cores you might want to leave this off.

Screenshots

retroarchnx3.pngretroarchnx4.png

retroarchnx2.pngretroarchnx5.png

Media

RetroArch - How to Install: Switch (LibRetro)

RetroArch Quick: How to Update for Switch (LibRetro)

External links

Advertising: