1. ShadowOne333

    OP ShadowOne333 QVID PRO QVO
    Member

    Joined:
    Jan 17, 2013
    Messages:
    10,069
    Country:
    Mexico
    [​IMG] Official RetroArch Switch Thread [​IMG]

    What is RetroArch?

    RetroArch is a multi-system frontend which allows you to run many different emulators and other programs ("cores") through a unified interface. There are currently more than 50 different systems supported on the Switch by @m4xw (and many others), along with RetroArch features such as XMB and a whole new menu UI called Ozone by @natinusala . While far from complete, the Switch port is constantly growing as features and cores are added.

    Quick Links

    RetroArch source
    Recent changes (Switch only)
    Latest Switch builds

    Disclaimers

    Before beginning, please take the following into consideration before asking something:
    1. Using an SD formatted as exFat is NOT officially supported.
      If you are using RetroArch on Switch, FAT32 is the recommended and only way supported officially by the team.
      Any questions related to exFat or file corruption might be ignored.

    2. The RetroArch NSP, NSP forwarders of any kind, or launching HBL through the Album (or any) applet are NOT supported.
      Launching N64 through the album is also NOT supported, and will cause your switch to fatal.

    3. The only supported method for launching RetroArch (used specifically for Mupen64/Flycast/PCSX Rearmed, or any JIT core or 3D core) is through title redirection:
      Use Atmosphere to access FULL RAM with homebrews WITHOUT NSP

    4. If you want to play N64 games, the only recommended core to use is Mupen64 Plus Next, you can get it from the latest nightly releases or the 1.7.7 stable release. Same applies for PPSSPP, Flycast and PCSX Rearmed (and almost every other core).
      Also, you should never use any core in general without using title redirection mentioned in point #3 (unless you want to be able to play only NES or Atari games).

    Basics

    You'll need:
    Downloading RetroArch

    For new users:
    1. Grab the latest nightly here - simply download the RetroArch.7z with the most recent date. Unzip it.
    2. Extract its contents and just drag and drop "retroarch" and the "switch" folder onto the root of the SD card.
    3. Open Hbmenu, and start RetroArch.
    For veteran users:
    1. You can update your cores from the RetroArch Switch itself from Online Updater feature.
      Your mileage may vary.

    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 sd:/retroarch/assets. The next time you open RetroArch, all should be well.

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

    Making lists

    One of the toughest parts involved in getting the best RetroArch has to offer is setting up the "playlist" files (.lpl) which allow you to make put preset games into an easily-accessible place in the GUI, rather than having to go through the filebrowser and reload cores.

    These files are stored in the "playlist" folder. Like most other paths, you can set your own in Retroarch under Settings > Directory.

    You can generate your list using Online Updater, though this is prone to fail if you have a large number of games. The PC build of Retroarch can generate lists and the format is compatible with the Switch; or alternatively you can use RetroArch Playlist Buddy to generate your playlists and thumbnails.

    Here's how to set up Playlist Buddy:
    View attachment 96632

    In this example playlists and thumbnails will be stored in /retroarch/cores
    To make the process painless always prefer NO-INTRO rom sets as they have a standard naming convention. It helps the program match your roms with the images in Retroarch database.

    It's recommended that your "roms" folder has this folder structure:
    [​IMG]

    Making lists/thumbnails for MAME/FBA

    The process is the same as the other cores BUT you need MAME 078.dat or FB Alpha.dat. The difference is that Arcade/SNK games CAN'T be renamed, so you'll get something like "ashpft" "chopflt"... etc as your game name in the list. To avoid that we use .dat files.

    If you are using RetroArch Playlist Buddy just check the "Search XML DAT specified below for titles rather than ROM filenames" box, and type the path to your .dat in the text box.

    What cores are supported?

    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)

    Frequently Asked Questions

    1. Why are the RetroArch menu icons missing or glitched?
    • Please read the "Setting up XMB" section above.
    2. Why isn't core X supported? Can I run X?
    First, check out the compatibility list above. If the core you want isn't in there, consider the actual console and the technical details. Consoles from the late 90s and beyond (N64, PSX, Saturn, Gamecube/Wii, etc.) are complex enough that the emulation code isn't fast enough on Switch to be playable. These cores are mostly written with the PC in mind, and when faced with an unusual platform like the Switch they fall back on slow methods of emulation, like interpreted CPUs. Getting acceptable framerates on the Switch requires extensive modification to the cores so that they can use faster emulation methods, such as dynarecs.

    If your desired core is older (fourth gen and earlier, or an older home computer) feel free to ask about its status! More often than not, the core is more obscure and we just haven't gotten around to adding it.

    3. What's the deal with the Nintendo 64?
    Glad you asked! The N64 is one of the aforementioned difficult cores that are actively being worked on. There are a couple of bounties to update the main Mupen64 Plus core from RetroArch, and another to work on the recently released 64-bit ARM dynarec for Mupen64 Plus (and Parallel), which can now be tested out through the nightly downloads! A dynamic recompiler (dynarec) allows instructions to be translated ahead of time from the N64's native MIPS architecture to the native format of whatever platform is doing the emulation. This eliminates a lot of emulation overhead and makes for significantly faster emulation.

    Do you want to help with the development of both the Mupen64 Plus core update and also the 64bit Mupen64 dynarec?
    You can give your support to the current developer in charge of it!
    @m4xw is the developer that is constantly updating everything Nintendo 64-related on the Switch release of RetroArch, so if you want to continue seeing great updates for this core, be sure to support him through his Patreon:
    https://www.patreon.com/m4xwdev

    You can check the current and most up-to-date build in the Disclaimer section of this very post.
    If you want to see full-speed N64 emulation on the Switch, why not throw in a few dollars to show your support?

    4. How can I configure RetroArch to use each joycon as individual controllers for 2 players mode?
    • Go into the Settings -> Input and enable Split joycon.
      You should also set a new Menu-open key combo
    5. What are some 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 redirection.


    Want additional information regarding RetroArch on the Switch?
    Visit the official release page:

    RetroArch 1.7.5 - Introducing libnx Switch version

    @m4xw is the developer that is constantly updating everything RetroArch Switch, and also Nintendo 64-related, so if you want to continue seeing great updates for this project, be sure to support him through his Patreon:
    https://www.patreon.com/m4xwdev


    (OP is a work in progress, current maintainer is @ShadowOne333, @ me if something needs to be added or fixed!)​
     
    Last edited by ShadowOne333, Jul 1, 2020
  2. punderino

    punderino aka Big-PeePee Swinger
    Member

    Joined:
    Jan 5, 2016
    Messages:
    1,230
    Country:
    United States
    Amazing, thanks a bunch for this!
     
    Last edited by punderino, Dec 8, 2018
  3. Deleted User

    Deleted User Newbie

    Good times are coming in the Switch world.
     
    Tyvar1, Kubez, astrocapsule and 4 others like this.
  4. punderino

    punderino aka Big-PeePee Swinger
    Member

    Joined:
    Jan 5, 2016
    Messages:
    1,230
    Country:
    United States
    But yes, a modified version of SNES9x2010 does mean that you can get MGBA or some other emulator, and modify it to make a Switch file, and use it for compiling RetroArch and there you go
     
  5. WadsRUs

    WadsRUs GBAtemp Regular
    Member

    Joined:
    Jun 12, 2009
    Messages:
    225
    Country:
    United Kingdom
  6. tunip3

    tunip3 [debugger active]
    Banned

    Joined:
    Oct 31, 2016
    Messages:
    1,675
    Country:
    United Kingdom
    have you managed to compile it
     
  7. TheGreek Boy

    TheGreek Boy GBAtemp Maniac
    Member

    Joined:
    Jan 9, 2016
    Messages:
    1,228
    Country:
    Greece
  8. punderino

    punderino aka Big-PeePee Swinger
    Member

    Joined:
    Jan 5, 2016
    Messages:
    1,230
    Country:
    United States
    Yuppppp, I ran 3 ROMs and the emulator or retroarch is very unstable, weird controls and they only work with Joycons wireless. If you wanna run something run Doom. It works perfectly.
     
  9. WadsRUs

    WadsRUs GBAtemp Regular
    Member

    Joined:
    Jun 12, 2009
    Messages:
    225
    Country:
    United Kingdom
  10. SnAQ

    SnAQ GBAtemp Advanced Fan
    Member

    Joined:
    May 20, 2010
    Messages:
    658
    Country:
    Yes, the ability to play decades old games...

    Sent from my F8331 via Tapatalk
     
  11. ploggy

    ploggy WAKA! WAKA!
    Member

    Joined:
    Aug 29, 2007
    Messages:
    3,573
    Country:
    United Kingdom
  12. yardie

    yardie Banned
    Banned

    Joined:
    Mar 27, 2016
    Messages:
    1,334
    Country:
    United States
    You're obviously salty
     
  13. Memoir

    Memoir Hi, I'm Cynical!
    Member

    Joined:
    Jun 24, 2007
    Messages:
    10,015
    Country:
    United States
    That's what people are waiting for with VC....
     
    Subtle Demise, Kvac and theMille like this.
  14. ehnoah

    ehnoah GBAtemp Advanced Fan
    Member

    Joined:
    Oct 9, 2012
    Messages:
    875
    Country:
    Netherlands
    Well Homebrew leads to the "good" stuff, that is what people hunt for, Emulators are just a nice to see, I mean we can run the Emulators on every Device we have, so the Switch isnt really needed.

    However It is nice to see, how fast we go forward. Just a Kernel away... :o

    I am not sure about RetroArch yet, since people have issues to get it run. But the Order is normaly:

    ACE_LOADER -> RetroArch (The Binary) --> snes (the Emulator) --> The ROM
     
    Deleted User likes this.
  15. lordelan

    lordelan GBAtemp Psycho!
    Member

    Joined:
    Jan 4, 2015
    Messages:
    4,615
    Country:
    Germany
    Yep. Can't wait for it.
     
    theMille and ShadowOne333 like this.
  16. ShadowOne333

    OP ShadowOne333 QVID PRO QVO
    Member

    Joined:
    Jan 17, 2013
    Messages:
    10,069
    Country:
    Mexico
    Oh nice, it's good to see RA is getting commits for the Switch :D
    Btw has anyone tried compiling the Switch target to see if it creates a binary of some sort?
     
    the_randomizer and lordelan like this.
  17. ehnoah

    ehnoah GBAtemp Advanced Fan
    Member

    Joined:
    Oct 9, 2012
    Messages:
    875
    Country:
    Netherlands

    It has a Menu now :) I can upload a new RetroArch Binary. But need charge my Switch first.
     
  18. ShadowOne333

    OP ShadowOne333 QVID PRO QVO
    Member

    Joined:
    Jan 17, 2013
    Messages:
    10,069
    Country:
    Mexico
    What format is the binary in? (extension)
     
  19. ehnoah

    ehnoah GBAtemp Advanced Fan
    Member

    Joined:
    Oct 9, 2012
    Messages:
    875
    Country:
    Netherlands
    It is a NRO.

    But you need "ace.nro" which is a Loader, that basically put a Server on Port 2991. Over that port you sent the Emulator with a Command like early Ps3.
     
    DarthDub, lordelan and ShadowOne333 like this.
  20. the_randomizer

    the_randomizer The Temp's official fox whisperer
    Member

    Joined:
    Apr 29, 2011
    Messages:
    29,815
    Country:
    United States
    Wow, your comments are sure contributory to this thread, alright. Why the hell do you even bother posting in these threads?:lol:

    That's pretty awesome indeed :P


    Well, a big plus is emulators on a tablet that isn't some piece of shit Chinese tablet with shoddy controls and bad firmware (*cough* JXD S7800 *cough*) , so that alone is a big perk.
     
    Last edited by the_randomizer, Dec 30, 2017
    VMM and ShadowOne333 like this.
Draft saved Draft deleted
Loading...

Hide similar threads Similar threads with keywords - RetroArch, Switch,