Alright, so i've ported and worked on a couple more emulators.
NGPCEmu is basically my own fork of libretro's beetle neopop, itself based on Mednafen Neopop.
It took me like 3 days to have something put together but it works pretty good on the Retrostone and i also made sure the buttons are configurable too.
My handy port, based on Handy libretro (including the HLE bios, so no need to download a bios) also works great. It's pretty much on par with my LDK/RS-97 port.
SwanEmu crashes on like 2 games in the whole library (not sure why, it doesn't do that on PC) but it also works smoothly.
I made sure to fix the rotation issue (i've managed to find a way of detecting if a game is in vertical mode or not) but it's still a bit finicky.
At least it's fully remappable.
Virtual Jaguar, i took a look at it again and after a few changes, i managed to make Alien vs Predator run fairly well. (it's very heavy on the frameskip though)
Games like Worms also work fine. I haven't tried Atari Karts but i'll do so when i'll record a video.
Ignore Snes9x2010 as this one has a lot of issues (as i found out the hard way) not to mention it's very slow... Guess i'll downgrade to Snes9x2005 or maybe use PocketSNES. But PocketSNES is known to be prone to crashes because its horrible.
Fceux, i've ported it fairly quickly and it runs without any issues what so ever. I've turned the settings all the way up and it still runs fine. So far, so good.
Btw, i must add that setting the CPU performance governor to "performance" makes a huge difference in performance : it's night and day. I guess userspace/ondemand are broken because they are not very aggressive when things slow down.
Now, there's still a few issues remaining :
- I need to port Picodrive, Snes9x2005 (including the menu) and PCSX Rearmed. As for PPSSPP & Mupen64Plus, it seems that the SDL2 port requires xorg as SDL2 was compiled without DirectFB or KMS support. Huge bummer, i don't want to use Xorg.
- What about external joysticks ? Well that's going to be a bit tricky as i would need to add it to each emulator manually.... I guess ease of maintenance is something retroarch will always prevail ! It's not a priority for now. (There's also the issue that the buttons on external joysticks need to be remappable too...)
- What about HDMI out ? The emulator ports are somewhat flexible, in fact it doesn't care if the resolution is 680 in width or 640... So that will make it easier should i add HDMI out. However if you rely on HDMI out, then you are probably better off using a distribution using the mainline kernel with better support. Such is life.