Controller Lost Functionality
-
I'm so frustrated! Don't get me wrong, I love fiddling. But I don't love fiddling when I have company over and all we want to do is play!
For a bit of catchup, I've built my own system using an old NES case and a Raspberry Pi 3. I'm using a Raphnet NES2USB adapter, Xbox 360 Wireless dongle, and a Mayflash Sega2 USB Adapter. Up until recently, everything had been working fine. In fact, it's been fine for months. I've been spending many days off reliving my childhood, and earning achievements. Then I saw over at RetroAchievements that they've started adding support for Arcade games through FBA. I knew I had to have it. Especially since I was having company over, it would be a cool new thing to show off. I already had MAME installed and working, but FBA was new. I spent the last week getting it installed, configured, metadata scraped, etc. Far as I knew, it was all working fine. Then I go and unplug everything to move it to the living room TV when my brother came over. Now nothing is working right!
The way the controller stuff worked, we used the Xbox controllers as the primary. NES would work through a custom XBOXDRV
on-start
script whenever we load up an NES game. The is true with Sega (XBOXDRVon-start
). In all other cases, the Xbox controller would be the only one that works. In fact, through using the XBOXDRV, I was even able to have the XBOX controller working alongside the others. However, now that we're in the living room, the Xbox controller doesn't work inside RetroArch anymore. For some strange reason, RA is mapping the Xbox controller as Port #4, with the Raphnet as 0-1 and the Mayflash as 2-3. I've tried resetting the controller battery so the Xbox re-associates with the dongle, but it still gets reported at Port #4.I had this problem in the past. It was a major pain in the you-know-what. I even reported what the solution at the time was in my build thread (https://www.gameex.info/forums/topic/18384-hans-nintendopi-project/?do=findComment&comment=163182). That "solution" was a fix at the OS level with controlling SUPER USER functions of the boot script. When I think back on all I had to do to get FBA installed and working, I don't remember if I updated anything to the OS or not. I'm pretty sure I didn't, as the only thing I needed to do was to update RetroArch to a version that incorporated the latest cheevo system for it. So I started looking into other options. I have a script utility installed:
Joystick-Selection
. It is configured to use Globally only the Xbox controller. The other controllers are available to select, but I've not even mapped them in EmulationStation, so that shouldn't matter. I've tried changing it and then changing it back, I've even updated the script to the latest version, and it still doesn't make a difference. The only thing I've noticed that HAS changed, is that when I took the system back to my room and plugged it in, RetroArch now reports the Xbox controller as beeing mapped to Port #2 instead of #4.I'm not sure what else to try, besides going back to a previous backup before I started messing with FBA. Can somebody help me?
-
@hansolo77 said in Controller Lost Functionality:
I don't remember if I updated anything to the OS or not. I'm pretty sure I didn't, as the only thing I needed to do was to update RetroArch to a version that incorporated the latest cheevo system for it.
It sounds like you may be experiencing this issue.
-
Wow, sounds exactly like the problem I was having. So I updated RetroArch to get the cheevo functionality for FBA, which in turn broke all the controller setups. Is there a way to fix it? The last post in that thread shows to comment out a line and recompile. Is that the "official" method or is something in the works?
-
@hansolo77 said in Controller Lost Functionality:
Is that the "official" method or is something in the works?
I wouldn't call it "official", but it'll do the job. I'm hoping the situation is only temporary, as a lot of people depend on a predictable method of controller assignment.
-
@hansolo77 said in Controller Lost Functionality:
Is that the "official" method or is something in the works?
Neither, it's just a hack to remove the RA commit that introduced the gamepad re-ordering, causing the issue you're experiencing.
-
I wonder why that commit was even allowed to be excepted. Did it solve some more advanced problem? Seems like it created more issues than anything else.
-
It may have been intentional. One school of thought is that controllers should be assigned as they are discovered. The standalone MAME and AdvanceMAME handle controllers that way by default. I've been able to overcome that behavior in AdvanceMAME, but it's not without a fair amount of consideration and setup.
-
@mediamogul It's been intentional for sure - the commit message is
Fixed a bug where the joypad devices were not always being assigned
in the same order as they were numbered under /dev/input/. This showed up mainly when using an external USB Bluetooth dongle. In that case, controllers would be assigned often in reverse order.The order of the controllers is dictated by the order of the entry in the
/dev/input/
folder. -
Here's hoping a solution can be found to satisfy all parties. The change seems warranted, but as it stands, setups needing a specific controller order now have to reconfigure every time a game is launched.
-
I've had no luck in getting this to work. I think I'm going to go back to the stable system before I tried to get FBA and arcade cheevos working. It's a shame such a small edit can cause such a huge impact. I know my case is special, but there has to be a better fix.
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.