Controller in EmulationStaion too sensible, repeated input
-
@mitu
Rasperry PI 3B+
Official Powersupply
NO overclocking
Retropie-CRT-Edition 3.3 EVO based on Retropie 4.6
Xbox360 controller original no problem
Xboxone aftermarket no problem
Controller builded with ZeroLag board no problem
Controller builded with GP2040-CE board - has fast incontrolable motion/repeated multiple command
Controller builded with xinputpadmicro board - has fast incontrolable motion/repeated multiple commandThe problem present itself only in emulationstation interface, no problem whatsoever inside emulation core.
jstest does not shows multiple inputs for a single press: tested via ssh, on the tv had multiple movement in the menu and in the same time in the ssh terminal only one single press is registered.
-
@pollo666 I have the same problem in EmulationStation for Windows11, so I think is a specific EmulationStation problem
-
@pollo666 said in Controller in EmulationStaion too sensible, repeated input:
Retropie-CRT-Edition 3.3 EVO based on Retropie 4.6
Sorry, but we don't support 3rd party images - we don't know how they're configured and what changes from the base image they contain. I suggest you try with the official image and see if you can reproduce the bug.
I have the same problem in EmulationStation for Windows11, so I think is a specific EmulationStation problem
Could be, but EmulationStation relies on SDL2 to handle the inputs - there may be an issue with how SDL2 handles inputs. There's a
sdl-jstest
program that functions similarly tojstest
(while using SDL2 underneath) - you can try to install it from here and test to see if you can reproduce the issue. -
I burned a new SD with the latest official release of Retropie, released March 14, 2022, retropie-buster-4.8-rpi2_3_zero2w.img.gz
Same hardware setup, same joystick tested, same result:
EmulationStation has fast incontrolable motion/repeated multiple command, even in the first input configuration. -
@pollo666 Can you try with
sdl-jstest
to see if you have the same results ? -
@mitu I tryed to build sdl-jstest without success, can't install libncurses5-dev, an error point to the fact that the sources for raspbian buster are no longer there (I'm back on the old release because I have all the setup done, games, etc and the problem with emulationstation is there even in the newest release of retropie).
-
Without having an actual controller to test the behavior is going to be a bit difficult to test this. Can you run
evtest
and reproduce the issue, then add the output on pastebin.com ?Also, the output from
lsusb -vd
, taken when just one of the misbehaving controllers are plugged in ?Out of curiosity, does the behavior happens also in the runcommand launch menu ?
-
@mitu OK, swapped back to the new official release, compiled successfully sdl-jstest, the problem present itself with the command sdl2-jstest --event 0
Repeated input from the same button/axis even if I press/move once, so the problem could be on how sld2 read the input? -
@pollo666 said in Controller in EmulationStaion too sensible, repeated input:
Repeated input from the same button/axis even if I press/move once, so the problem could be on how sld2 read the input?
Yes, it's down to how the SDL2 library handles the input, that was expected.
Can you add the info I requested in my previous post ? I'm curious what's the polling interval requested by controller, it should be reported by the
lsusb
command. -
@mitu lsusb -v results
-
@pollo666 This shows a 1ms reporting interval requested by the device.
To be honest, I'm not sure there's a bug here - if the device sends an input each 1ms and SDL has time to process it, this is what happens.
Does the same issue happens if you scroll in the runcommand launch menu or in the RetroPie-Setup script menus ? Make sure you've updated to the latest RetroPie-Setup version before trying it.
-
@mitu Just tested the runcommand menu, it display the same behaviour, sometimes a button press became multiple input, so I enter a submenu with "A" and instantly exit because the repeated input virtual press the "OK"
-
@pollo666 Updated to the latest RetroPie-Setup, same behaviour.
In those textual menu, RetroPie-Setup and Runcommand menu the repeated input problem seems to be less aggressive, in the graphical interface of EmulationStation is more prominent, but it could be only a feeling. -
@pollo666 I installed just for test from experimental AttractMode, it doesn't show input problem like EmulationStation.
I didn't consider it a solution because in EmulationStation I have all images and video configured in the right path, the right theme, etc.. -
@pollo666 Of course it's not a solution, but if the solution involves adding code to EmulationStation (and it seems so), this will not happen so quick.
-
@mitu It was a long shot, I think there isn't many people with the same problem. Definitely Attract-mode isn't a solution, not so user friendly in the configuration.
-
@pollo666 it's definitely something to look at, but the difficulty is reproducing the issue. I'll try to simulate something with a virtual gamepad (via
xboxdrv
orpython-uinput
), but I cannot promise anything soon.Just to get a trace of the behavior, can you run
evtest
agains the one of the gamepads in question, press a few buttons and post the trace on pastebin.com ? If I'll try to simulate one of these 'zero delay' gamepads, I want to have a picture of the event rate and inputs. -
@mitu Yesterday I just wanted to play and I gutted the 2 arcade stick, removed the fast polling pcb and reinstalled the old not-so-fast pcb that does not cause the repeated input problem.
I'll try to build a temporary stick with the more recent fast pcb so I can try to save the output with evtest. -
@mitu I have put together a franken-stick with one of the incriminated fast pcb, evtested it, here it is the output after a lot of pressing of buttons and moving of stick (dpad and analog)
-
I've tried using
xboxdrv
to simulate something a faster event rate, but got nowhere.The log provided also doesn't show anything special I see the input on/off events at about 1sec in-between, so the events are not reported each 2 ms, as I was thinking was the cause of the issue.
Not sure how to diagnose or solve this. I have an SNES adapter which claims 6ms latency and it works without issues with EmulationStation.
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.