Why does my 8bitdo and PS3 controllers randomly move?
-
@kireol said in Why does my 8bitdo and PS3 controllers randomly move?:
Does this mean we wont be able to get a fix for this? Or should I make a bug request with libsdl? I really prefer ES look and use over pegasus, but it's so annoying
If there would have been a bug in SDL, it would have affected many more users. My guess is that the the Bluetooth on your RPI3 may be getting interference and the connection to the controller might have issues (the Pi4 has a better wireless chip). You could disable the Wifi (add
dtoverlay=disable-wifi
in/boot/config.txt
) and see if this improves the situation.Why does it not happen on the retropie screen? What magic code is in there so it doesn't happen? Or what code is in the rom selection screens to make it happen?
There isn't any. As far as EmulationStation is concerned, the RetroPie system is just like every other system, roms or not.
-
@mitu said in Why does my 8bitdo and PS3 controllers randomly move?:
There isn't any. As far as EmulationStation is concerned, the RetroPie system is just like every other system, roms or not.
Hrmmm. The more I play, the more I feel it's a retropie issue.
If you disable video previews, and go to basic mode, sdl2-jstest shows no ghost movements and the issue does not happen.
It's something with videos that is break it. Which is probably why you arent hearing about it more, since most people do not have videos.
This also makes sense why it's not happening on the retropie screen as there arent any videos
-
@kireol said in Why does my 8bitdo and PS3 controllers randomly move?:
It's something with videos that is break it. Which is probably why you arent hearing about it more, since most people do not have videos.
While not all users are using video previews, I don't think their number is that small.
This also makes sense why it's not happening on the retropie screen as there arent any videos
Yes, seems to be video related. Are you using the default video player or the hardware accelerated one (omxplayer) ?
I can certainly try to reproduce the issue, but these kind of strange problems are quite often caused by bad power adapters. Are you using the Raspberry Pi power adapter ? Do you have any overclocking configured on the Pi ?
-
@mitu said in Why does my 8bitdo and PS3 controllers randomly move?:
Yes, seems to be video related. Are you using the default video player or the hardware accelerated one (omxplayer) ?
I can certainly try to reproduce the issue, but these kind of strange problems are quite often caused by bad power adapters. Are you using the Raspberry Pi power adapter ? Do you have any overclocking configured on the Pi ?I'm using the default video player.
I think you may be on to something. I'm using a 2a power supply. I'll order a 3a micro usb and see if that fixes it. That would totally make sense.
-
@kireol said in Why does my 8bitdo and PS3 controllers randomly move?:
I'm using the default video player.
Try switching to
omxplayer
, it uses less resources and is faster than the built-in (VLC based) video player. -
@mitu said in Why does my 8bitdo and PS3 controllers randomly move?:
Try switching to omxplayer, it uses less resources and is faster than the built-in (VLC based) video player.
Switched it over to omxplayer, it still happens. New Power supply ordered. Will report findings once it arrives.
-
@kireol I've had this issue for years. It's been in every build I've had for the past 4 years. It only happens in ES. I don't use preview videos. I don't think it has anything to do with that.
I have iBuffalo USB SNES controllers. I made a build for a co-worker...his does it too. He has Retroflag USB SNES controllers.
It's annoying as hell, but I kinda got used to it. I don't think there was ever a fix posted for it. Hopefully there can be.
It was only there when I moved up to the Pi3...same with tht sound cut-out problem.
-
@jamrom2 said in Why does my 8bitdo and PS3 controllers randomly move?:
I have iBuffalo USB SNES controllers. I made a build for a co-worker...his does it too. He has Retroflag USB SNES controllers.
This kind of issue with the iBuffalo controllers has been reported and discussed multiple times in the past - it seems to be a controller issue. See for instance here.
-
@mitu you're spot on.. It is... and for the sake of closing this thread... it's not Retropie (as you already know)...
I just bought the new "The C64" (full-size)... plugged in my iBuffalo SNES... and it does the same thing. Randomly moves.
Thanks as always for the reply and thread reference.
-
Got my new power supply (3.1A 5v). Issue still happens with new power supply
-
I'll try to reproduce the issue with my PS3 controller. I have one, but it's not connected.
-
That was easier than I thought.
After configuring the controller on my Pi3, tried to scrape for more videos and the issue appeared during scraping - I think producing any load on the system triggers this when EmulationStation is started. So instead of using the videos in ES, I just re-ran Skyscraper in a loop, re-generating gamelists to produce load.
The ghost inputs appear also injstest
orevtest
- not onlysdl2-jstest
. Runningevtest
is actually easier to see the new inputs.What fixes it is lowering the BT baud rate (as mentioned in https://retropie.org.uk/docs/Bluetooth-Controller/, but it's line 27 not line 22 as mentioned there). Modify
/usr/bin/btuart
and lower it from the921600
to one of the values recommended (230400 or 115200). With115200
set, I think I had only 2 or 3 ghost inputs with more that 30 min of continuous testing. Give it a try and see if that makes a difference for your setup. -
@mitu said in Why does my 8bitdo and PS3 controllers randomly move?:
That was easier than I thought.
After configuring the controller on my Pi3, tried to scrape for more videos and the issue appeared during scraping - I think producing any load on the system triggers this when EmulationStation is started. So instead of using the videos in ES, I just re-ran Skyscraper in a loop, re-generating gamelists to produce load.
The ghost inputs appear also in jstest or evtest - not only sdl2-jstest. Running evtest is actually easier to see the new inputs.
What fixes it is lowering the BT baud rate (as mentioned in https://retropie.org.uk/docs/Bluetooth-Controller/, but it's line 27 not line 22 as mentioned there). Modify /usr/bin/btuart and lower it from the 921600 to one of the values recommended (230400 or 115200). With 115200 set, I think I had only 2 or 3 ghost inputs with more that 30 min of continuous testing. Give it a try and see if that makes a difference for your setup.That worked perfectly for me. 10 minutes and no ghost movements.
I'll let the people in /r/retropie know. Should make a lot of people happy :)
Thanks for looking in to this. I know you all have to be doing this on volunteer basis.
-
@mitu other than swapping transistors which that thread points to (I've already ordered them)... is there a null input value to set in a USB Joystick control file somewhere?
Maybe that could be added if not?
-
@jamrom2 said in Why does my 8bitdo and PS3 controllers randomly move?:
Maybe that could be added if not?
Not sure if I follow - you mean to disable the button inputs for EmulationStation ?
-
@mitu you know how some games allow you to set a 'null input' so that there is a little play in the input to the game? This is done with a lot of Flight Sim games so that you can make slight adjustments without the plane doing rolls or loops.
Maybe that's what it needs to void out the ghost inputs? I don't know if it's possible. Does ES just see an input value... or does it see an input based on a length of time or a set voltage value.
so if a ghost input is +.02 volts... and an actual press gives + 1.2 volts... you would set the null to ignore anything under +1.0 volts. Effectively ignoring the ghost input.
That's what the capacitor mod is doing to the controller. It's adding a higher filter to the input so more power is required.
-
@jamrom2 said in Why does my 8bitdo and PS3 controllers randomly move?:
so if a ghost input is +.02 volts... and an actual press gives + 1.2 volts... you would set the null to ignore anything under +1.0 volts. Effectively ignoring the ghost input.
It doesn't work like that. There is no method to know how much 'volts' trigger the input, in order to ignore it or not.
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.