Problem with controller port assignment (auto-incrementation)

Hi.

I’m using an 8 Bitdo SFC30 bluetooth controller. When I start Retroarch the controller is assigned to port #0. Sometimes I get interrupted (e.g. answer the phone, go to the bathroom, drawing a map etc.). When I return to the game the controller has turned itself off to save energy.

When I turn it back on, Retroarch assigns port#1 this time (not #0 as before). This is unfavorable because I cannot control the game anymore. Everytime when I turn it off and on, the port number is increased by 1.

The only way that I have found to fix this is forcing a shutdown and start Retroarch again. Unfortunately my progress in the game is then lost. And it’s an annoying procedure.

Is it possible to configure Retroarch so, that the controller is always assigned to port #0 without the auto incrementation of the port-number?

A better question is what is Retroarch assigning to port 0 when your controller goes to sleep. I would start Retroarch without your 8bitdo connected and see what Retroarch says at the bottom left of the screen what it’s assigning to port 0.

I am using an Amazon Fire TV stick. I can start Retroarch with the Fire TV Remote. When I do this, Retroarch shows “Amazon Fire TV Remote configured” (not mentioning any port #) in the bottom left corner once a button is pressed. When I start Retroarch with the 8BitDo-Controller it shows “BitDo SFC30 Gamepad(START) configured in port#0”.

But I doubt that this has something to do with the Fire Remote. I have the same behavior on the Fire tablet. I can start Retroarch there with the touchscreen and everytime when I turn the 8BitDo off and on the port number is increased by 1.

For example: When I turn the 8BitDo 5 times off and on it is assigned to port#5 eventually. And I don’t think that anything is assigned to ports#0-#4 after that.

I’ve been looking around the net on the 8bitdo controllers and it seems to be sort of a common complaint that they have to be re paired often when they are shut off or have gone to sleep with some devices. It may have to do more with the fire stick’s bluetooth paring than Retroarch. The only other thing that could possibly fix your situation is to see if there’s a way to disable the controller from entering sleep mode. I coudn’t find anyone who was able to do that though.

Did u ever find a way to turn off this feature of retroarch besides exiting and returning? I’m having the same issue.

Sorry, no.

When the controller turns itself off, I always switch to the home menu of the device (in my case a FireTV stick), turn the controller on again and then choose RetroArch again. Since RetroArch is already in memory and still running in the background, I always get exactly to the point in the game where I was.

There’s no need to force shut down RetroArch.

Hey guys new retroarch user here. I am replying here because I cannot create a thread.

I am using retroarch on firestick 4k with a matricom bluetooth controller. My issue is that in the middle of any game I play, the controller keeps switching ports and I have to press home to exit and go back into the game. I understand if the controller falls asleeps and switches ports, but in the middle of playing a game? Has anyone had this happen before? Thanks for any advice.

mid-game certainly isn’t normal. Does it do the same thing with wired controllers?

Two things I’m gonna do tomorrow: Use an older version or retroarch with the wireless controller, but first I’m gonna plug it in wired and see if I’m getting the same issue. I will follow up tomorrow. Thanks for the reply.

So I tried to reload a different version of Retroarch and it still does it. I am assuming it is a bluetooth controller issue. I’m gonna return them. I do have ps4 controllers and although they do connect none of the buttons work. Does anyone recommend a good bluetooth controller for the firestick? I am currently using the matricom gpad xyba. Thanks!

Anyone found a solution ? I have the same issue. I use 2 Thrustmaster Score-A™ gamepads. If the gamepad falls asleep, when I press a button it reactivates but Retroarch identifies it as a new controller and it’s then unusable.

There’s no end-user solution. The Android input driver doesn’t notify RetroArch when a controller goes to sleep (or otherwise disconnects, IIRC), so when the controller wakes back up, it looks like a new controller.

Thank you @hunterk

Is there an unique ID attached to each controller ? Could RetroArch recognize that it is the same controller using that ID ?

Not unique per-session. They report a vendor ID and a product ID (vid/pid), and that’s how we tell one controller from another. It doesn’t always work well with 2 identical pads and it definitely can’t tell that pad is the same one that’s already connected, unfortunately.

Thank you @hunterk, I now understand.

@Osimov 's work around is actually quite easy.

Citation When the controller turns itself off, I always switch to the home menu of the device (in my case a FireTV stick), turn the controller on again and then choose RetroArch again. Since RetroArch is already in memory and still running in the background, I always get exactly to the point in the game where I was.

Citation