Please do not post a support request without first reading and following the advice in

Joystick Selection Script Odd Behaviour

  • I just recently built a new 4.4 build of Retropie from the image. Followed my normal process that I have documented. I did the following:

    1. Plugged in my USB gamepad and configured that first so I had basic GUI navigation abilities.
    2. Setup Wifi and turned on SSH.
    3. Updated the Retropie-Setup script, added the ps3controller driver and synced my PS3 controller. Confirmed it works wirelessly, and configured controls.
    4. Updated all installed packages, but NOT OS.
    5. Installed the joystick_selection script. SSH into the Pi from my PC. Then I used these commands:
    sudo killall emulationstation
    sudo curl -o
    sudo bash

    If I look at the output, I can see it is trying to install to /root/Retropie, instead of /home/pi/Retropie. It fails to copy the sh file to the retropiemenu folder, so I have no entry in there.
    If I run the install by using these commands, it seems to install just fine, and I get the soft link in the retropiemenu folder.

    chmod +x

    This method uses /home/pi/Retropie folder.

    BUT, now if I make my PS3 controller player 1, and the USB player 2, that will seem to work at first. But then seemingly randomly, they switch positions, and my PS3 controller becomes Player 2. I can use the USB controller to exit, run the joystick_selection script, and it all looks correct. I have even had it set, and the PS3 controller works as Player 1, then I try another game, and it goes to Player 2. If I unplug the USB controller, boot the Pi, and connect the PS3 controller as it is coming up, it still defaults to Player 2.

    So, it seems like the Pi naturally has the PS3 controller set someplace as Player 2, since I connected and configured them in that order (USB first, PS3 later). And it seems like the selection script is struggling to fight with those defaults and sometimes works and sometimes doesn't.

    Anybody have ideas on how to get the script working correctly, as intended? I worked fine with my old 4.3 builds. Thanks!

  • Have you tried setting the default controller preference in the Configuration Editor? under config all option for libretto emulators you can set joypad preferences; its with all the render res, shaders, overlays and stuff.

    edit* I may be wrong but I feel like I have noticed that usb gamepads are given default preference over bluetooth devices

  • @GoldManSex778 Even with the USB controller unplugged, booting up clean and syncing the PS3 controller, I still get forced to player 2. If I check the joystick selection script, it shows PS3 as 1, and the USB as 2.

    What about using the "By Name" option? I'm not quite clear how that works, and have never turned it on. It is off by default.

  • I must admit that I have never used that package. And after scouring the github page there doesn't seem to be much of help there, but I did notice that there were comments mentioning the problem you are having with no responses.

    What sticks out to me is the trying to install to /root/Retropie instead of /home/pi/Retropie. Did that happen in your 4.3 build?

    I don't see what difference it should make but have you tried installing via the command line instead of SSH? Updating via managing experimental packages after installing?

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.