Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

First Player Controller Selection Keeps Changing



  • I am on my newest build for a friend using controllers i am not familiar with and I am having issues. My setup is:

    RPI 3B running current retropie 4.2 with 2.5A power supply and stock settings. The controllers i have been give to use are generic wireless USB controllers. The name that comes up when listed is "ShanWan PC/PS3/Android"

    The controllers configure perfectly for the menus as well as all systems (I haven't tried N64 or Dreamcast yet) The controllers also nicely accept core changes in retroarch including game core changes. SO....they seemingly work perfectly right? WRONG

    My issue is that every time I restart or reboot a different controller becomes controller #1. This happens even if the power is off on one of the controllers, or the power is off on both controllers. As long as both controllers have their USB dongle plugged in, regardless if there is power on the controller, the controllers are randomly selected.

    I have tried just about everything I can think of to fix this. I have even attempted to install @meleu joystick selection script and I can't figure out how to make that work either? When i run the joystick selection, i chose selection for all, and then i choose player 1. When i enter this screen i get 3 options: U Unset, 0 ShanWan PC/PS3/Android #1, and 1 ShanWan PC/PS3/Android #2. I set these accordinly to player 1 and 2. This still does not work, each time I reboot, it randombly selects one of these. I tried keeping 1 controller in USB port 0 and moving the other to USB port 3. That did not work either, and the names stay the same in the joystick selection.

    Is there something i am doing wrong? Is there another way to do this? What i want to do is just set it so that USB Port 0 is always player 1 and USB port 2 is Always player 2. I appreciate your time and help on this. I have spent several hours reading through threads about how to attempt to make this work, but i am not having any luck. Thank you



  • Retropie has it's own joystick selection settings and that's all I've ever used. It fixed the problems I was having with the controller assignments. It's in retropie-setup's configuration editor. The wiki needs to be updated but it's there. Try that.



  • @TMNTturtlguy I have a similar setup here and I have the same problem. I noticed here that this randomness is a hardware "issue".

    As far as I understood your setup you have two wireless receivers plugged in your raspi USB ports (one receiver in its own port, right?).

    Let's say you have joystickA communicating with receiverA, and joystickB communicating with receiverB. I think sometimes you turn on your raspi and for some reason joystickA start communicating to receiverB, for example.

    If it's what is happening, unfortunately the scripts (joystick-selection and configeditor) won't be able to avoid this issue. Because they look at the info provided by the USB dongle, i.e. a plugged dongle is a plugged joystick for the OS, even if the actual joystick is turned off. If you have the two dongles plugged on the raspi and only the joystickA turned on there's no assurance that it's communicating with the receiverA.



  • @meleu you are correct, I have the exact setup you describe. Thanks for the response. I throughly this was the case, but wanted to make sure I wasn't found something incorrectly. Thank you!



  • @Darksavior is this the input binds? I was trying to find some directive on how those work but couldn't find any clear explanation on what to do? Thanks



  • @TMNTturtlguy in Configuration Editor, choose Configure basic libretro emulator options, Configuration default options or from a specific emulator, then Choose joy pad order.



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.