I want to experiment with writing a connector for LibRetro / RetroArch for react native. Ultimately I’d like to see how far I can come in writing a GUI for an / multiple emulator(s) using react native. This means I need to know how to compile LibRetro / RetroArch and run a game in an Android environment. I am wondering if this means I need to focus on how RetroArch works or how LibRetro works. I am wondering if RetroArch can be used (as a developer!) to run games and handle the user and has an API that I can use to bind it to react native and write the entire GUI for it in react native. Or is RetroArch already so hard-wired and not at all intended / suited for this and I need to do a whole implementation for the very low-level (?) LibRetro?
You could write a GUI launcher for RetroArch using the android “intents”, which is how things like Gamesome work, apparently. I don’t think you’ll be able to build on RetroArch the way you’re hoping, but it’s not really all that difficult to write a libretro frontend, though it is indeed lower-level than you may be comfortable with. The frontend just needs to issue callbacks to the core as per the libretro API and then take the audio/video samples the core returns and put it on the screen/speakers.
Hi hunter, thank you for your reply. Sounds like LibRetro really is what I am looking for, thanks. Can you (or someone) point me to where I can get started on compiling / running LibRetro on Android? I have asked a similar question before, but back then it was perfectly sufficient to start and stop RetroArch. It seems there is no real documentation in writing a front end for LibRetro. And I also cannot find anything on github that may be related to Android.
I believe the official stance is that the documentation is the libretro.h file. I know that’s not always very helpful, though. There are some other libretro frontends that are less labyrinthine than RetroArch to look at, such as Emulatron and minir:
Ok, thank you. I have already somewhat successfully managed to compile RetroArch for Android using OS X, I think I will try and start from there. Is there a place to ask technical question along the process? Would this forum be that?
I see, thank you!