Homebrew RetroArch Switch

  • Thread starter Thread starter ShadowOne333
  • Start date Start date
  • Views Views 2,218,363
  • Replies Replies 9,250
  • Likes Likes 100
Another PPSSPP core from Retroarch

========

Builds the libretro core for the Nintendo Switch from this tree, so the buildbot's Switch core can stop coming from a fork.
Today it is built from libretro/ppsspp-libnx, branch switch, whose upstream base is 6f04f52f5cMarch 2022. That is what Switch users have been running. @m4xw has kept rebasing the port privately (his rebase_2026 branch sits on December 2025), and this is that work carried onto current master, with the parts that were never scoped to the Switch put back.
The first three commits are his, rebased. The rest is mine.

What was in the way​

Most of it was the port assuming a toolchain and a tree from four years ago:
  • libnx dropped virtmemReserve for virtmemFindAslr, and now defines BIT and BreakReason, which collide with Arm64Emitter and with the rename block CommonTypes.h already keeps around switch.h.
  • newlib gaps: no <sys/mman.h>, no <sys/syscall.h>, ENETDOWN sharing a value with ESHUTDOWN, <climits> not arriving transitively.
  • T3DCreateGLContext grew a parameter; Common/GL/GLInterfaceBase.h stopped existing (the port carried an #include of it next to a member its own comment marked // unknown leftover??); proAdhoc.cpp had 38 lines of resurrected DNS code calling g_Config.proAdhocServer, renamed to sProAdhocServer long ago.

https://github.com/WizzardSK/ppsspp-ci/releases/tag/0.2
Quick question: do you know which core runs TurboGrafx-CD / PC Engine CD games on RetroArch for Switch?
 
Another PPSSPP core from Retroarch

========

Builds the libretro core for the Nintendo Switch from this tree, so the buildbot's Switch core can stop coming from a fork.
Today it is built from libretro/ppsspp-libnx, branch switch, whose upstream base is 6f04f52f5cMarch 2022. That is what Switch users have been running. @m4xw has kept rebasing the port privately (his rebase_2026 branch sits on December 2025), and this is that work carried onto current master, with the parts that were never scoped to the Switch put back.
The first three commits are his, rebased. The rest is mine.

What was in the way​

Most of it was the port assuming a toolchain and a tree from four years ago:
  • libnx dropped virtmemReserve for virtmemFindAslr, and now defines BIT and BreakReason, which collide with Arm64Emitter and with the rename block CommonTypes.h already keeps around switch.h.
  • newlib gaps: no <sys/mman.h>, no <sys/syscall.h>, ENETDOWN sharing a value with ESHUTDOWN, <climits> not arriving transitively.
  • T3DCreateGLContext grew a parameter; Common/GL/GLInterfaceBase.h stopped existing (the port carried an #include of it next to a member its own comment marked // unknown leftover??); proAdhoc.cpp had 38 lines of resurrected DNS code calling g_Config.proAdhocServer, renamed to sProAdhocServer long ago.

https://github.com/WizzardSK/ppsspp-ci/releases/tag/0.2
I tested it and it works with .cso files, but not with .chd yet, just like previous versions.

Quick question: do you know which core runs TurboGrafx-CD / PC Engine CD games on RetroArch for Switch?
Beetle PCE FAST.
 
I tested it and it works with .cso files, but not with .chd yet, just like previous versions.


Beetle PCE FAST.
That core isn't on the RetroArch for Switch website; is there another source?
 

Attachments

  • Captura de Tela (936).png
    Captura de Tela (936).png
    111.2 KB · Views: 1
Could you tell me the abbreviations for the PC Engine CD and TurboGrafx CD consoles?
For Retroarch folders don't need to have a specific name, whatever name you give them will work, although that folder structure looks like tico, which does require specific names, if that's the case then I don't know.
 
  • Like
Reactions: johw
For Retroarch folders don't need to have a specific name, whatever name you give them will work, although that folder structure looks like tico, which does require specific names, if that's the case then I don't know.
retroarch I'm organizing the folders to use with any emulator, and I wanted to set them up as a standard.
 
Thanks. I’m going to go all in on a Ubuntu Retropie install this evening. Got to have something for these old nerdy hands to tweak.

I’ll get the 240p suite and stopwatch out once its up and running to look for judder.

I ended up installing Lakka.

It’s perfect, much better than the HOS version. My old Switch is now a brilliant little Retroarch machine - running all old stuff at the correct speeds with minimal latency.

Go to the Lakka support channel here. Check the Pins. It has a fully up to date version with the Vulkan driver patched to run fully v-synced.

https://discord.gg/eQ3EzjPRT
 
I attempted a fresh install of Retroarch, and although I can run ROMs through forwarders, Retroarch crashes on exit every time. It also crashes when I try to update anything over the network. I'm wondering if I didn't completely purge all the files from the previous install and there is some config issue.

Is there a best method for updating/ reinstalling Retroarch?
 

Site & Scene News

Popular threads in this forum