Messing with RetroArch
-
Hey guys, I'm a fan of RetroPie and the community and love the software, you guys make it pretty seamless to get things going. I'm on Raspberry Pi 3 and the latest version of RetroPie-Setup and RetroArch as of today 2/1/2017, can't remember the EXACT build number right now, and I'm in the middle of a build on my Pi at the moment. ;-)
I am having an issue in one area though, and it's been a HUGE trouble spot for me for weeks now, lightgun support on NES/SMS/SNES. It may seem like nothing to others, but the lightgun games on the old console systems are THE major reason for me delving into this project.
So I looked through the lr-genesis-plus-gx sources, and the retroarch sources out on github, talked to the devs, and realized pretty quickly that if I'm going to get anywhere I'm going to have to dig in and possibly modify some code in RetroArch. Basically the Genesis-plus-gx dev says he won't budge on his decision to use RETRO_DEVICE_POINTER for lightguns to pull the X/Y coordinates and that it's a "RetroArch problem", and the RetroArch folks say it's a core problem. After running around in circles frustrated for a while and taking fire from both sides (understandably due to drama caused by others towards the authors I've gathered), I took the time to pull Git sources and start checking on both and see where I can figure things out.
Today's win? I have my 2 absolute position mouse devices working now, technically speaking, with some udev rules to add in ID_INPUT_TOUCHPAD=1 to both devices. I wrote a command-line util to test udev mice and see how they're detecting.
They still don't actually work under the games though, probably due to the fact that the udev input driver doesn't report RETRO_DEVICE_POINTER as a device capability (not sure if that's actually valid or not). Under sdl2 input drivers, no mouse/touchpad support works AT ALL (joypad/keyboard works fine though), not even as a relative SNES Mouse in Mario Paint (which does work under udev just not sdl2). More on that later I think I'm going to build some command-line tools to mimic RetroArch's sdl input driver loading so I can get some better diagnostic info on the mice.
So I'm looking at ~/RetroPie-Setup/scriptmodules/emulators/retroarch.sh, I see some build options here under function build_retroarch():
QUESTIONS:
Is RPI3 a non-x11 platform? In other words, should I only be running --enable-dispmanx and --enable-floathard or do I need to run the rest of them i.e. --disable-x11?Looks like all I have to do on lr-genesis-plus-gx is build make -f Makefile.libretro and install?
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.