Official RetroArch Switch

Discussion in 'Switch - Hacking & Homebrew' started by ShadowOne333, Dec 30, 2017.

  1. ShadowOne333
    OP

    ShadowOne333 GBAtemp Guru

    Member
    7,808
    5,380
    Jan 17, 2013
    Mexico
    The newly released HBL uses libnx-compiled apps ONLY (at the moment).
    Well, to get RetroArch running on the Switch HBL, we would need to have all of the already compiled libtransistor RetroArch cores ported/compiled with the libnx library.

    If anyone skilled enough in coding wants to tackle this:
    FCEUMM has a Switch target, this could be used as a base example to begin porting from LibTransistor to LibNX:
    https://github.com/libretro/libretro-fceumm/blob/master/Makefile.libretro#L265
    LibNX source code:
    https://github.com/switchbrew/libnx

    The best option here would be to have RetroArch to build its cores using both libtransistor and libnx for further compatibility down the road.
    LibNX has a huge thing on its favour right now, and that is JIT.
    With JIT, some of the slow cores that use more heavy resources than 2D consoles could see a major improvement in speed and performance.


    Since the 34c3 conference this December 28th, there have been two note-worthy homebrew releases, one being Snes9x 2010 and the other being a port of Doom '93.

    However, there seems to be something else in the works which has been quietly been commited to RetroArch's GitHub page.

    More cores have been compiled to work on the Switch, other than Snes9x 2010.
    Cores like FCEUMM, VBA Next and Virtual Jaguar are some of which are already working on the Switch, with more cores being worked on.

    You can watch videos of the cores compiled so far running on the Switch:
    Videos of RetroArch on the Nintendo Switch
    The commits all seem to use/be based in libtransistor, as well as some of the libnx libraries that team ReSwitched has released these past months.

    Cores currently available on the Switch:
    • Snes9x 2010 (SNES)
    • Snes9x (SNES)
    • FCEUMM (NES)
    • Virtual Jaguar (Jaguar)
    • GearBoy (GB, GBC)
    • VBA Next (GB, GBC, GBA)
    • Picodrive (Genesis, MegaDrive, Master System, 32x, Sega CD)
    • Handy (Atari Lynx)
    • Yabause (Saturn) [Slow]
    • FBA Alpha [Slow]
    • Desmume (DS) [Slow]
    Also, Cheats are working for the RetroArch cores available as of January 14th, 2018.
    As of Jan 30th, 2018, @Daeken has begun work on a preliminary GPU library for the Switch:
    https://github.com/daeken/traNVparency

    This could boost the performance of certain cores (3D console cores most likely)

    For Gamecube/N64/PS2 cores, a GL driver or Vulkan driver is needed.

    An example:
    https://github.com/Rinnegatamante/vitaGL

    The official Switch's SDK might have Vulkan support in one way or another next to Nvidia's proprietary API, though it is not confirmed.
    A homebrew SDK with GL/Vulkan would be the best option to avoid proprietary (copyrighted) code.
     
    Last edited by ShadowOne333, Feb 19, 2018 at 7:13 PM
  2. punderino

    punderino aka Big-Dick Swinger

    Member
    1,031
    568
    Jan 5, 2016
    United States
    Kansas City, Missouri
    No, the way you run the SNES emulator is you use the SNES9x2010 to build a file, then you use that file to build RetroArch.
     
  3. ModderFokker619

    ModderFokker619 GBAtemp Regular

    Member
    105
    27
    Oct 2, 2015
    Good times are coming in the Switch world.
     
    NoNAND, Thirty3Three and octoplow like this.
  4. punderino

    punderino aka Big-Dick Swinger

    Member
    1,031
    568
    Jan 5, 2016
    United States
    Kansas City, Missouri
    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 Advanced Member

    Newcomer
    64
    12
    Jun 12, 2009
    United States
  6. tunip3

    tunip3 [debugger active]

    Member
    1,287
    294
    Oct 31, 2016
    United Kingdom
    have you managed to compile it
     
  7. TheGreek Boy

    TheGreek Boy GBAtemp Maniac

    Member
    1,025
    348
    Jan 9, 2016
    Greece
    Behind you.
    yanagi, lordelan and WadsRUs like this.
  8. punderino

    punderino aka Big-Dick Swinger

    Member
    1,031
    568
    Jan 5, 2016
    United States
    Kansas City, Missouri
    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 Advanced Member

    Newcomer
    64
    12
    Jun 12, 2009
    United States
  10. SnAQ

    SnAQ GBAtemp Advanced Fan

    Member
    544
    296
    May 20, 2010
    Yes, the ability to play decades old games...

    Sent from my F8331 via Tapatalk
     
  11. ploggy

    ploggy WAKA! WAKA!

    Member
    2,494
    1,985
    Aug 29, 2007
    United Kingdom
  12. yardie

    yardie GBAtemp Maniac

    Member
    1,070
    1,113
    Mar 27, 2016
    United States
    You're obviously salty
     
    theMille likes this.
  13. Memoir

    Memoir A Hero to Zero

    Member
    GBAtemp Patron
    Memoir is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    6,609
    6,590
    Jun 24, 2007
    United States
    Wyoming
    That's what people are waiting for with VC....
     
    theMille likes this.
  14. ehnoah

    ehnoah GBAtemp Fan

    Member
    440
    92
    Oct 9, 2012
    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
     
    ModderFokker619 likes this.
  15. lordelan

    lordelan GBAtemp Advanced Maniac

    Member
    1,943
    619
    Jan 4, 2015
    Gambia, The
    Yep. Can't wait for it.
     
    theMille and ShadowOne333 like this.
  16. ShadowOne333
    OP

    ShadowOne333 GBAtemp Guru

    Member
    7,808
    5,380
    Jan 17, 2013
    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 Fan

    Member
    440
    92
    Oct 9, 2012
    Netherlands

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

    ShadowOne333 GBAtemp Guru

    Member
    7,808
    5,380
    Jan 17, 2013
    Mexico
    What format is the binary in? (extension)
     
  19. ehnoah

    ehnoah GBAtemp Fan

    Member
    440
    92
    Oct 9, 2012
    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
    23,872
    11,613
    Apr 29, 2011
    United States
    Dr. Wahwee's castle
    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
    ShadowOne333 likes this.