RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    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

    Emulationstation issue - idle game selection change

    Scheduled Pinned Locked Moved Help and Support
    es bugses crashvideo snapsbookwormjammaboard
    24 Posts 2 Posters 2.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • I
      ilpappa
      last edited by ilpappa

      Hi everyone,

      I'm experiencing an issue which is better described in the below video:

      So if I leave ES in idle with a selected rom, it would play the video snap in loop as expected but at some time it would randomly select another game. After some time another game again in an infinite loop. It has also happened that ES has frozen during the loop.
      Issue persists even if quick platform change is turned off. If tuned on it would select another rom of another system as shown in the video, otherwise it would select randomly other roms of the same system.

      My setup below:
      Pi 4b 4GB
      Powered via Jamma - new PSU
      Using a GPIO Jamma converter called JammaPi. These are the drivers and specs: https://github.com/vince87/JammaPi/blob/master/install.sh
      Retropie 4.8.6 (1fd3bf5)
      Linux raspberrypi 6.1.0-rpi7-rpi-v7l #1 SMP Raspbian 1:6.1.63-1+rpt1 (2023-11-24) armv7l GNU/Linux
      Built from the light bookworm image 32bit and then installed latest retropie via command line. Installed on top of it the JammaPi drivers.
      All images/snaps have been sourced via Skraper on Windows.

      ES LOG

      Jan 19 23:51:06 lvl2: 	EmulationStation - v2.11.2rp, built Jan 17 2024 - 22:48:37
      Jan 19 23:51:06 lvl2: 	Parsing XML file "/opt/retropie/supplementary/emulationstation/resources/mamenames.xml"...
      Jan 19 23:51:06 lvl2: 	Parsing XML file "/opt/retropie/supplementary/emulationstation/resources/mamebioses.xml"...
      Jan 19 23:51:06 lvl2: 	Parsing XML file "/opt/retropie/supplementary/emulationstation/resources/mamedevices.xml"...
      Jan 19 23:51:06 lvl2: 	Creating window...
      Jan 19 23:51:08 lvl2: 	Created window successfully.
      Jan 19 23:51:08 lvl2: 	GL vendor:   Broadcom
      Jan 19 23:51:08 lvl2: 	GL renderer: V3D 4.2
      Jan 19 23:51:08 lvl2: 	GL version:  3.1 Mesa 23.2.1-1~bpo12+rpt2
      Jan 19 23:51:08 lvl2: 	Checking available OpenGL extensions...
      Jan 19 23:51:08 lvl2: 	 ARB_texture_non_power_of_two: ok
      Jan 19 23:51:08 lvl2: 	Loading system config file /etc/emulationstation/es_systems.cfg...
      Jan 19 23:51:08 lvl1: 	System "amstradcpc" has no games! Ignoring it.
      Jan 19 23:51:08 lvl2: 	Parsing XML file "/home/pi/.emulationstation/gamelists/arcade/gamelist.xml"...
      Jan 19 23:51:08 lvl1: 	System "atari2600" has no games! Ignoring it.
      Jan 19 23:51:08 lvl1: 	System "atari5200" has no games! Ignoring it.
      Jan 19 23:51:08 lvl1: 	System "atari7800" has no games! Ignoring it.
      Jan 19 23:51:08 lvl1: 	System "atari800" has no games! Ignoring it.
      Jan 19 23:51:08 lvl1: 	System "atarilynx" has no games! Ignoring it.
      Jan 19 23:51:08 lvl1: 	System "channelf" has no games! Ignoring it.
      Jan 19 23:51:08 lvl1: 	System "coleco" has no games! Ignoring it.
      Jan 19 23:51:08 lvl2: 	Parsing XML file "/home/pi/.emulationstation/gamelists/dreamcast/gamelist.xml"...
      Jan 19 23:51:09 lvl1: 	System "fba" has no games! Ignoring it.
      Jan 19 23:51:09 lvl1: 	System "fds" has no games! Ignoring it.
      Jan 19 23:51:09 lvl1: 	System "gamegear" has no games! Ignoring it.
      Jan 19 23:51:09 lvl1: 	System "gb" has no games! Ignoring it.
      Jan 19 23:51:09 lvl1: 	System "gba" has no games! Ignoring it.
      Jan 19 23:51:09 lvl1: 	System "gbc" has no games! Ignoring it.
      Jan 19 23:51:09 lvl1: 	System "mame-libretro" has no games! Ignoring it.
      Jan 19 23:51:09 lvl1: 	System "mastersystem" has no games! Ignoring it.
      Jan 19 23:51:09 lvl1: 	System "megadrive" has no games! Ignoring it.
      Jan 19 23:51:09 lvl1: 	System "msx" has no games! Ignoring it.
      Jan 19 23:51:09 lvl1: 	System "n64" has no games! Ignoring it.
      Jan 19 23:51:09 lvl2: 	Parsing XML file "/home/pi/RetroPie/roms/neogeo/gamelist.xml"...
      Jan 19 23:51:09 lvl1: 	System "nes" has no games! Ignoring it.
      Jan 19 23:51:10 lvl1: 	System "ngp" has no games! Ignoring it.
      Jan 19 23:51:10 lvl1: 	System "ngpc" has no games! Ignoring it.
      Jan 19 23:51:10 lvl1: 	System "pcengine" has no games! Ignoring it.
      Jan 19 23:51:10 lvl1: 	System "psx" has no games! Ignoring it.
      Jan 19 23:51:10 lvl2: 	Parsing XML file "/home/pi/.emulationstation/gamelists/retropie/gamelist.xml"...
      Jan 19 23:51:10 lvl1: 	System "sega32x" has no games! Ignoring it.
      Jan 19 23:51:10 lvl1: 	System "segacd" has no games! Ignoring it.
      Jan 19 23:51:10 lvl1: 	System "sg-1000" has no games! Ignoring it.
      Jan 19 23:51:10 lvl1: 	System "snes" has no games! Ignoring it.
      Jan 19 23:51:10 lvl1: 	System "vectrex" has no games! Ignoring it.
      Jan 19 23:51:10 lvl1: 	System "zxspectrum" has no games! Ignoring it.
      Jan 19 23:51:11 lvl2: 	Added known joystick 'JoyPi Joystick 0' (instance ID: 0, device index: 0)
      Jan 19 23:51:11 lvl2: 	Added unconfigured joystick 'JoyPi Joystick 1' (GUID: 1800b8704a6f795069204a6f79737400, instance ID: 1, device index: 1).
      Jan 19 23:51:12 lvl2: 	Added known joystick 'JoyPi Joystick 0' (instance ID: 0, device index: 0)
      Jan 19 23:51:12 lvl2: 	Added unconfigured joystick 'JoyPi Joystick 1' (GUID: 1800b8704a6f795069204a6f79737400, instance ID: 1, device index: 1).
      

      Can you please help?

      Many thanks

      1 Reply Last reply Reply Quote 0
      • mituM
        mitu Global Moderator
        last edited by

        Videos crashing ES can be something Bookworm related - as it is right now, support for Bookworm is still in beta. Is there any error in the system log during the crash ?

        Randomly selecting other game may be an issue with the input drivers - run emulationstation with emulationstation --debug and reproduce the issue, then post the log on pastebin.com.

        1 Reply Last reply Reply Quote 0
        • I
          ilpappa
          last edited by

          I've tested for few hours and did not experience any crash so that must have been a temporary issue.

          Below ES debug log
          ES debug log

          The loop would continue until the screensaver kicks in which pauses all video playback (according to my settings). I've not moved my joystick unless for the original game select and to select other roms with video snaps as if a rom without video snap is randomly selected by the issue it would interrupt the loop.

          Many thanks

          mituM 1 Reply Last reply Reply Quote 0
          • mituM
            mitu Global Moderator @ilpappa
            last edited by mitu

            @ilpappa said in Emulationstation issue - idle game selection change:

            Below ES debug log
            ES debug log

            The log shows ES getting inputs from the gamepad (JoyPi Joystick 0) and - when the input is mapped - moving the cursor accordingly. Doesn't seem like a bug in EmulationStation if the gamepad is generating events.

            EDIT:
            If you use jstest to test the gamepad, outside of EmulationStation, can you see the same inputs from the gamepad, that is without actually pressing any buttons/joysticks/d-pad/etc. ?

            1 Reply Last reply Reply Quote 0
            • I
              ilpappa
              last edited by ilpappa

              Tried both jstest and evtest but command is not recognized. Anything specific I should do?

              EDIT: command works, my bad with a typo. Testing and will return results soon.

              P.s. my Jamma PSU GROUND was bridged by me with FG otherwise I would have a small ground loop intereference on my CRT monitor...do you think that could be the issue? my old "stable" build never had similar issues tho.

              Many thanks

              1 Reply Last reply Reply Quote 0
              • I
                ilpappa
                last edited by ilpappa

                Done some testing. Instead of going straight to test the bookworm build, I rebuilt a new config based on the latest RetroPie image (buster). Nothing has been done except for updating to latest Buster update and same for Retropie. Finally installed the above JammaPi drivers.

                Strangely enough, the behavior is the same. Games are randomly changed. Below ES debug:

                New ES log

                My last action was at Jan 21 02:03:38 lvl3: selecting konami88.zip. What happened from there onwards was not input but affected by the issue.

                That's very wierd. Two things come to my mind:

                • the Ground/FG bridge on the PSU
                • the setup is slightly undervolted on 5v (4.90 if I recall). Will try to go slightly above 5v

                EDIT:

                • removed Ground/FG bridge, but issue persist
                • adjusted 5v to 5.03v and 12v to 12.40v, but issue persist as well

                ALL builds are affected. Did not notice the problem on what I considered my "stable" as I normally go straight to play games and never leave video snaps more than few secs.

                EDIT 2: Log says that I've jumped from konami88 to abcopj with only

                Jan 21 02:03:47 lvl3: 	UIModeController::logInput( JoyPi Joystick 1 ):Button 5, isMappedTo= x, , value=1
                Jan 21 02:03:47 lvl3: 	UIModeController::logInput( JoyPi Joystick 0 ):Axis 1-, isMappedTo= up, , value=-1
                

                but abcopj it's far away from konami88 as I'm packed with games...does it makes sense?

                What are your thoughts?

                mituM 1 Reply Last reply Reply Quote 0
                • mituM
                  mitu Global Moderator @ilpappa
                  last edited by

                  @ilpappa said in Emulationstation issue - idle game selection change:

                  What are your thoughts?

                  What did testing with jstest / evtest showed up ?

                  I 1 Reply Last reply Reply Quote 0
                  • I
                    ilpappa @mitu
                    last edited by ilpappa

                    @mitu said in Emulationstation issue - idle game selection change:

                    What did testing with jstest / evtest showed up ?

                    Jstest showed nothing suspicious, no input reported unless I was touching something. I also have the suspect that if I stay on upper level on system selection the issue would be gone. It happens only if I’m inside a system game list.

                    EDIT: I'm right, being on upper level does not create any issue, the selected system remains the same and no input is registered as expected.

                    I recently updated all my scraps via skraper, will try rolling back with old image/video sets to see what happens. I'd say the issue is within emulationstation and media sets. I'm also enclosing below last log from tonight, where even a game was launched so it's actually not only random selection but sometimes also game launch.

                    New log with Game Launch

                    Starting point at```
                    Jan 21 03:05:36 lvl3: fireEvent: game-select neogeo /home/pi/RetroPie/roms/neogeo/19yy.zip

                    mituM 1 Reply Last reply Reply Quote 0
                    • mituM
                      mitu Global Moderator @ilpappa
                      last edited by mitu

                      @ilpappa Did you test both joysticks ? The ES log shows input from both joysticks.
                      EDIT: EmulationStation uses SDL for input processing. The equivalent utility to jstest for SDL input diagnosis is SDL-Jstest. My guess is that if you use it it will show the same symptoms ('ghost' inputs).

                      I 2 Replies Last reply Reply Quote 0
                      • I
                        ilpappa @mitu
                        last edited by

                        @mitu said in Emulationstation issue - idle game selection change:

                        @ilpappa Did you test both joysticks ? The ES log shows input from both joysticks.
                        EDIT: EmulationStation uses SDL for input processing. The equivalent utility to jstest for SDL input diagnosis is SDL-Jstest. My guess is that if you use it it will show the same symptoms ('ghost' inputs).

                        Tested both, no issues. Will now start testing with SDL-Jtest.

                        Strange thing is that being on upper level does not create any issue, the selected system remains the same and no input is registered as expected.

                        1 Reply Last reply Reply Quote 0
                        • I
                          ilpappa @mitu
                          last edited by

                          @mitu I could not install sdl-jstest as I had following errors so I went for jstest-sdl.

                          I could not see any ghost input during the several hours of test, from both joysticks, so all went fine. Apparently other people are suffering same issue by looking online, of course only in emulationstation Emulation Station menu phantom scrolling .

                          Not sure at this point what to do, other than drestroying my cab :D

                          pi@retropie:~/sdl-jstest $ cmake .
                          -- Could NOT find tinycmmc (missing: tinycmmc_DIR)
                          -- tinycmmc module path: /home/pi/sdl-jstest/external/tinycmmc/modules/
                          -- ProjectVersion: sdl-jstest 0.2.2-20-ga73cfcb
                          -- Configuring done
                          CMake Error at CMakeLists.txt:64 (add_executable):
                            Target "sdl-jstest" links to target "SDL::SDL" but the target was not
                            found.  Perhaps a find_package() call is missing for an IMPORTED target, or
                            an ALIAS target is missing?
                          
                          
                          -- Generating done
                          CMake Generate step failed.  Build files cannot be regenerated correctly.
                          pi@retropie:~/sdl-jstest $ make
                          [ 50%] Built target sdl2-jstest
                          [ 75%] Building C object CMakeFiles/sdl-jstest.dir/src/sdl-jstest.c.o
                          /home/pi/sdl-jstest/src/sdl-jstest.c:24:10: fatal error: SDL.h: File o directory non esistente
                           #include <SDL.h>
                                    ^~~~~~~
                          compilation terminated.
                          make[2]: *** [CMakeFiles/sdl-jstest.dir/build.make:63: CMakeFiles/sdl-jstest.dir/src/sdl-jstest.c.o] Error 1
                          make[1]: *** [CMakeFiles/Makefile2:105: CMakeFiles/sdl-jstest.dir/all] Error 2
                          make: *** [Makefile:130: all] Error 2
                          
                          
                          mituM 1 Reply Last reply Reply Quote 0
                          • mituM
                            mitu Global Moderator @ilpappa
                            last edited by mitu

                            @ilpappa said in Emulationstation issue - idle game selection change:

                            I could not see any ghost input during the several hours of test, from both joysticks, so all went fine.

                            OK. Do you get the same behavior if you disconnect the gamepads completely or use a different gamepad ?

                            Apparently other people are suffering same issue by looking online, of course only in emulationstation Emulation Station menu phantom scrolling .

                            A 7 years old post where 2 of the posters identified the issue as hardware/controller related (see here for a a similar issue caused by faulty controllers reported in the forums). I'm not sure there's a bug since I can't reproduce this and I imagine if it were a widespread issue the forums would have been full of similar reports.

                            Not sure at this point what to do, other than drestroying my cab :D

                            Not sure either. If it's a bug, it's related somehow to your configuration, but can't think of anything that would cause this outside of ghost inputs from the controller themselves.

                            1 Reply Last reply Reply Quote 0
                            • I
                              ilpappa
                              last edited by ilpappa

                              First of all a BIG thank you @mitu for the time you're dedicating for my issue.

                              I'm back after several fix attempts which were unsuccessfull. I tried to:

                              • Replace pi4 with brand new -> same issue
                              • Replace JammaPi with brand new -> same issue
                              • Disconnect all USB devices from the pi (I have three extension cables + keyboard receiver) -> same issue
                              • Re-wired my Jamma making some improvements (ie finally fixing the ground loop, bridging GND points together, using video ground, etc.) -> no ground loop anymore + better images but same issue as above
                              • Changed microswitches with cheap china (I have good DX44) -> same issue

                              Now the cherry on the cake is that I actually disconnected Joystick 1 except the axis and all buttons of Joystick 0 except axis, x, start and coin 1, but got same issue. Curios thing is that in the log I see many ghost Joystick 1 inputs despite being disconnected...how is this possible?
                              Another wierd thing is that my phisical buttons go from 4 to 10, but log shows input for buttons 1 and 2...where does this come from?

                              Log here, check from Jan 24 00:43:33 lvl3:

                              I could not think of anything else...I'm going to receive a new PSU with better quality, will try that as well but I've basically rebuilt the whole thing.

                              Any ideas?

                              EDIT: forgot to mention that with the above improvements my stable build on buster gets issues only after >10mins of video snaps running, while the test build on bullseye take couple of mins to show the issue.

                              1 Reply Last reply Reply Quote 0
                              • mituM
                                mitu Global Moderator
                                last edited by

                                Sorry, I have no further ideas besides what I've already written before.

                                My idea of disconnecting was to completely disconnect the devices and use a keybooard or an USB controller only just to see if any ghosting still shows up.

                                I 1 Reply Last reply Reply Quote 0
                                • I
                                  ilpappa @mitu
                                  last edited by

                                  @mitu

                                  Thanks. I can do full disconnection but need to do couple of modification on the wires. Nothing complicated but at this point what this test could tell us?

                                  Many thanks again.

                                  mituM 1 Reply Last reply Reply Quote 0
                                  • mituM
                                    mitu Global Moderator @ilpappa
                                    last edited by

                                    @ilpappa said in Emulationstation issue - idle game selection change:

                                    Nothing complicated but at this point what this test could tell us?

                                    Whether the 'ghost' inputs are caused by your inputs or there's a bug in EmulationStation caused by your config/rom list.

                                    I 1 Reply Last reply Reply Quote 0
                                    • I
                                      ilpappa @mitu
                                      last edited by

                                      @mitu
                                      Completely disconnected both controllers and used Keyboard, but issue persists. We can def agree that this is a bug somewhere then.

                                      ES Log

                                      Is there any setting in emulationstation I should consider doing? All video snaps/screens have been fetched via Skraper, is there any particular setting I should be using there as well (I'm not super familiar of the skraper but was quite intuitive on how to be used)?

                                      Many thanks

                                      mituM 1 Reply Last reply Reply Quote 0
                                      • mituM
                                        mitu Global Moderator @ilpappa
                                        last edited by

                                        @ilpappa said in Emulationstation issue - idle game selection change:

                                        Completely disconnected both controllers and used Keyboard, but issue persists. We can def agree that this is a bug somewhere then.

                                        From the log, I see the joysticks are still detected and there's still input being processed from them. Are these (JammaPi) using a special driver ? How did you configure them in Linux ?

                                        I 1 Reply Last reply Reply Quote 0
                                        • I
                                          ilpappa @mitu
                                          last edited by

                                          @mitu

                                          Probably they’re still detected because the microcontroller sits within the GPIO->Jamma board and of course I’m not able to disconnect that.

                                          I’m not sure about the configuration, this is the script used for the installation where I’m sure the answers are. Apologies but my linux knowledge is quite basic. If you visit the link you’ll be able to see the code which seems not complicated.

                                          https://github.com/vince87/JammaPi/blob/master/install.sh

                                          Images of the board here:

                                          https://www.arcadeitalia.net/viewtopic.php?t=30495

                                          Thanks

                                          1 Reply Last reply Reply Quote 0
                                          • mituM
                                            mitu Global Moderator
                                            last edited by

                                            Try removing the kernel module joypi with

                                            sudo rmmod joypi
                                            

                                            maybe this stops any processing done for the inputs.

                                            I 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            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.