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

    Retroarch cores crash on trigger press (Mouse Click) with overlay active

    Scheduled Pinned Locked Moved Help and Support
    lr-fceummwiimotelightgunoverlay
    50 Posts 13 Posters 10.3k 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.
    • C
      ChuckyP
      last edited by ChuckyP

      Pi Model or other hardware: (3)
      Power Supply used: (Canakit Power Supply 2.5a)
      RetroPie Version Used (4.3.15)
      Built From: (SD Image on RetroPie website)
      USB Devices connected: Official XBOX Wireless 360 Dongle, Dolphin Bar
      Controller used: XBOX 360 gamepad, Wiimote
      Error messages received: NONE
      Emulator: (lr-fceumm)

      UPDATE: After starting this post and doing some testing, I have changed the Title and the symptoms. This occurs on any retroarch core, in any game with an overlay active. If I click my mouse, trackpad, or wiimote trigger, I get a hard freeze in any game running in retroarch with my overlay active. I need to reboot from Putty/SSH in order to recover.

      If I change "input_overlay_enable = "true"" to False, I can then load game and start with a trigger press. @mediamogul has confirmed his setup working with overlays, so I'm not sure where I have gone wrong. I have added a few overrides to the nes config to test this on a fresh install...

      Settings made here will only override settings in the global retroarch.cfg if placed above the #include line
      
      input_remapping_directory = "/opt/retropie/configs/nes/"
      input_overlay_enable = "true"
      input_overlay = "/opt/retropie/emulators/retroarch/overlays/retrorama/nes.cfg"
      overlay_directory = "~/.config/retroarch/overlay"
      input_overlay_opacity = "1.000000"
      input_overlay_scale = "1.000000"
      
      
      #include "/opt/retropie/configs/all/retroarch.cfg"
      
      1 Reply Last reply Reply Quote 0
      • C
        ChuckyP
        last edited by ChuckyP

        Just ran another test with a clean install of RetroPie, updated via RetroPie-Setup. Added a single overlay for nes and 1 rom Duck Hunt (World). With overlay false game plays fine. With overlay true game crashes at first pull of the trigger (Wiimote).

        This has to be more than a setup problem... can someone please try to replicate this when they get a chance?

        UPDATE: I was wrong assuming this was connected to lr-fceumm alone. It actually occurs in any system with an overlay active. On any running game when the trigger is pressed I get a hard lock...

        1 Reply Last reply Reply Quote 0
        • C
          ChuckyP
          last edited by

          Update: I have tried multiple mouse/pointer devices. I can install a fresh RetroPie Image, install a simple overlay, launch any rom on any RetroArch core, click the mouse button, and CRASH... No overlay, and everything is fine.

          I can find a few google search results with this problem happening to someone trying to get Mario Paint working with a mouse, but no solution. I would love some direction on where to keep looking to find the problem.

          1 Reply Last reply Reply Quote 0
          • H
            Headrush69
            last edited by

            I have the same issue.

            Overlays on and left mouse freezes Retroarch. Overlays off and no problem. Still searching for cause and work around.

            roslofR C 2 Replies Last reply Reply Quote 0
            • roslofR
              roslof @Headrush69
              last edited by

              I'm glad I stumbled upon this article, as I'm also experiencing the hard freeze when clicking the left trackball (mouse) button while any Retroarch overlay is active (most of my games).

              Note that I recently (2018/08/06) re-installed Retroarch from the Retropie Binary image.

              @ChuckyP , I'm glad you found the connection (months ago) as I've been going out of my skull trying to diagnose this one. Have you (or anybody) had any luck finding a work-around?

              C 1 Reply Last reply Reply Quote 0
              • C
                ChuckyP @roslof
                last edited by

                @roslof no I have not found a solution. With some of the more advanced users here claiming their setup worked, I honestly thought it was just me.

                But even with a bone stock configuration I could recreate the issue every time. Unfortunately I’m better at isolating the problem than fixing it.

                I’m open to any suggestions on what to try to sort this out.

                1 Reply Last reply Reply Quote 0
                • C
                  ChuckyP @Headrush69
                  last edited by

                  @headrush69 please update me if you find anything.

                  H 1 Reply Last reply Reply Quote 0
                  • H
                    Headrush69 @ChuckyP
                    last edited by Headrush69

                    @chuckyp So the problem doesn't appear to be specific to any Retroarch core, so like you, I tried a clean install, same issue.

                    I next tried using the linuxraw and sdl2 input drivers in Retroarch, no success.

                    I reverted and compiled the previous 1.7.2 version of Retroarch and problem there as well.

                    Thinking maybe it was an issue with my recent trackball added to my iPac2, I tried without using it and just using a standard mouse. Still had the same issue.

                    So looking at the verbose logs of Retroarch I noticed that it referenced 2 mice.
                    My system only has 1 mouse.

                    From there I looked at /dev/input/by-id/ and noticed that dev input rules seem to create 2 entries for each input devices.

                    alt text

                    I don't know enough about udev's event model, but it look like Retroarch was defaulting to mouse index 0 which was /dev/input/mouse0

                    If in Retroarch, I go into controls and set the mouse index to 1, which is /dev/input/event4, the system no longer locks up.

                    For now it's a temporary fix until I can figure out what the difference between the 2 device entries for each input options mean.

                    Edit: Further testing with the mouse index set to #1 in Retroarch and mouse buttons work as expected in games with mouse support as well. (Centiped for example)

                    C 1 Reply Last reply Reply Quote 1
                    • C
                      ChuckyP @Headrush69
                      last edited by

                      @headrush69 can’t wait to make this change and see if it works. Thanks for the update.

                      1 Reply Last reply Reply Quote 0
                      • roslofR
                        roslof
                        last edited by

                        Coincidentally, my mouse index needs to be set to 1. Any other value means the trackball itself will not function.

                        Where are you setting the mouse index? I'm going through the Retroarch GUI (not quick menu):

                        Main Menu
                        Settings
                        Input
                        Input User 1 Binds
                        User 1 Mouse Index (1) <-- was originally 0, which is not my trackball

                        So no change on my end, so far. Trackball works, but left-click freezes all Retroarch games when an overlay is displayed.

                        Let me know if you set your index in another area or CFG. Maybe there's a conflict somewhere that I'm just not seeing.

                        Best!
                        -Ros

                        1 Reply Last reply Reply Quote 0
                        • H
                          Headrush69
                          last edited by

                          @headrush69 said in Retroarch cores crash on trigger press (Mouse Click) with overlay active:

                          Can you post the output of: ls -l /dev/input/by-id/

                          If you set log_level to 0 and verbose_logging to ON in your retroarch.cfg file, when you check the log file do you see references to 2 mice?

                          This will determine if we are dealing with the same issue.
                          Coincidently, when my mouse index was set to 0, my trackball (aka mouse) always worked, it was just pressing the mouse button caused the freeze.

                          roslofR 1 Reply Last reply Reply Quote 0
                          • roslofR
                            roslof @Headrush69
                            last edited by

                            @headrush69 it could be a different issue

                            I'm using:
                            A keyboard w/touchpad (pointer) identified as "_mini_keyboard"
                            A PS4 controller which has a touchpad identified as "Sony_Interactive"...
                            And a bluetooth Kensington trackball/mouse (which doesn't appear at all in Input)

                            /dev/input/by-id shows the following:

                            usb-_mini_keyboard-event-kbd usb-_mini_keyboard-if01-event-mouse usb-_mini_keyboard-if01-mouse usb-Sony_Interactive_Entertainment_Wireless_Controller-event-if03 usb-Sony_Interactive_Entertainment_Wireless_Controller-if03-event-joystick usb-Sony_Interactive_Entertainment_Wireless_Controller-if03-event-mouse usb-Sony_Interactive_Entertainment_Wireless_Controller-if03-joystick

                            Again there is no reference to the actual Kensington trackball. The trackball/mouse works perfectly for everything EXCEPT when there is any retroarch overlay being displayed. Otherwise, the button and trackball input work as expected.

                            Definitely feels like a bug and I'm not clear if there is a work-around for me. I tried removing hardware, deleting retroarch configs/etc. No luck. Changing the index doesn't do anything for me, other than have the trackball work 100% or 0% ;-)

                            H 1 Reply Last reply Reply Quote 0
                            • H
                              Headrush69 @roslof
                              last edited by

                              @roslof said in Retroarch cores crash on trigger press (Mouse Click) with overlay active:

                              usb-_mini_keyboard-event-kbd usb-_mini_keyboard-if01-event-mouse usb-_mini_keyboard-if01-mouse usb-Sony_Interactive_Entertainment_Wireless_Controller-event-if03 usb-Sony_Interactive_Entertainment_Wireless_Controller-if03-event-joystick usb-Sony_Interactive_Entertainment_Wireless_Controller-if03-event-mouse usb-Sony_Interactive_Entertainment_Wireless_Controller-if03-joystick

                              I needed to see the output from using ls -l, not just ls, as this shows the actual events each device is attached to.

                              Also, needed to see the verbose debug output from Retroarch so we can see what and how it is identifying your devices.

                              I understand about the trackball working, mine did too, except with the overlays.
                              I believe overlays in Retroarch were originally designed with inputs in mind. (on screen).

                              roslofR 1 Reply Last reply Reply Quote 0
                              • roslofR
                                roslof @Headrush69
                                last edited by roslof

                                I needed to see the output from using ls -l, not just ls, as this shows the actual events each device is attached to.

                                Also, needed to see the verbose debug output from Retroarch so we can see what and how it is identifying your devices.

                                I understand about the trackball working, mine did too, except with the overlays.
                                I believe overlays in Retroarch were originally designed with inputs in mind. (on screen).

                                Gotcha.

                                From ls -l:

                                usb-_mini_keyboard-event-kbd -> ../event0
                                usb-_mini_keyboard-if01-event-mouse -> ../event1
                                usb-_mini_keyboard-if01-mouse -> ../mouse0
                                usb-Sony_Interactive_Entertainment_Wireless_Controller-event-if03 -> ../event3
                                usb-Sony_Interactive_Entertainment_Wireless_Controller-if03-event-joystick -> ../event4
                                usb-Sony_Interactive_Entertainment_Wireless_Controller-if03-event-mouse -> ../event2
                                usb-Sony_Interactive_Entertainment_Wireless_Controller-if03-joystick -> ../js0
                                

                                Relevant info from the verbose log (launching Centipede):

                                [ERROR] [udev] Failed to open device: /dev/input/event3 (Success).
                                [INFO] [udev]: Mouse #0 (/dev/input/mouse0).
                                [INFO] [udev]: Mouse #1 (/dev/input/event5).
                                [INFO] [udev]: Mouse #2 (/dev/input/mouse1).
                                [ERROR] [udev] Failed to open device: /dev/input/event1 (Success).
                                

                                Appreciate the help here.

                                H 1 Reply Last reply Reply Quote 0
                                • H
                                  Headrush69 @roslof
                                  last edited by Headrush69

                                  @roslof Weird that Retroarch is getting the 3 mouse inputs properly from UDEV, but the listing in /dev/input/by-id/ isn't showing the Kensington Trackball.

                                  Can you post the output of :

                                  udevadm info -a -p $(udevadm info -q path -n /dev/input/mouse1)

                                  and

                                  udevadm info -a -p $(udevadm info -q path -n /dev/input/event5)

                                  and

                                  lsusb

                                  By chance did you tried setting mouse index to 2 in Retroarch?

                                  roslofR 1 Reply Last reply Reply Quote 0
                                  • roslofR
                                    roslof @Headrush69
                                    last edited by

                                    @Headrush69 - No problem. Posted below. Lots of stuff to scroll through though. Note that I did try Mouse Index #2 and the track is unresponsive. Here is the output of each request:

                                    udevadm info -a -p $(udevadm info -q path -n /dev/input/mouse1)

                                      looking at device '/devices/virtual/misc/uhid/0005:047D:8019.0006/input/input7/mouse1':
                                        KERNEL=="mouse1"
                                        SUBSYSTEM=="input"
                                        DRIVER==""
                                    
                                      looking at parent device '/devices/virtual/misc/uhid/0005:047D:8019.0006/input/input7':
                                        KERNELS=="input7"
                                        SUBSYSTEMS=="input"
                                        DRIVERS==""
                                        ATTRS{name}=="Expert Wireless TB"
                                        ATTRS{phys}=="B8:27:EB:BD:74:AD"
                                        ATTRS{properties}=="0"
                                        ATTRS{uniq}=="F6:CD:BB:40:49:C9"
                                    
                                      looking at parent device '/devices/virtual/misc/uhid/0005:047D:8019.0006':
                                        KERNELS=="0005:047D:8019.0006"
                                        SUBSYSTEMS=="hid"
                                        DRIVERS=="hid-generic"
                                        ATTRS{country}=="00"
                                    
                                      looking at parent device '/devices/virtual/misc/uhid':
                                        KERNELS=="uhid"
                                        SUBSYSTEMS=="misc"
                                        DRIVERS==""
                                    

                                    udevadm info -a -p $(udevadm info -q path -n /dev/input/event5)

                                      looking at device '/devices/virtual/misc/uhid/0005:047D:8019.0006/input/input7/event5':
                                        KERNEL=="event5"
                                        SUBSYSTEM=="input"
                                        DRIVER==""
                                    
                                      looking at parent device '/devices/virtual/misc/uhid/0005:047D:8019.0006/input/input7':
                                        KERNELS=="input7"
                                        SUBSYSTEMS=="input"
                                        DRIVERS==""
                                        ATTRS{name}=="Expert Wireless TB"
                                        ATTRS{phys}=="B8:27:EB:BD:74:AD"
                                        ATTRS{properties}=="0"
                                        ATTRS{uniq}=="F6:CD:BB:40:49:C9"
                                    
                                      looking at parent device '/devices/virtual/misc/uhid/0005:047D:8019.0006':
                                        KERNELS=="0005:047D:8019.0006"
                                        SUBSYSTEMS=="hid"
                                        DRIVERS=="hid-generic"
                                        ATTRS{country}=="00"
                                    
                                      looking at parent device '/devices/virtual/misc/uhid':
                                        KERNELS=="uhid"
                                        SUBSYSTEMS=="misc"
                                        DRIVERS==""
                                    

                                    lsusb

                                    Bus 001 Device 005: ID 054c:09cc Sony Corp.
                                    Bus 001 Device 007: ID 1997:2433
                                    Bus 001 Device 006: ID 0424:7800 Standard Microsystems Corp.
                                    Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
                                    Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
                                    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
                                    

                                    Hope this is helpful

                                    H 1 Reply Last reply Reply Quote 0
                                    • H
                                      Headrush69 @roslof
                                      last edited by

                                      @roslof Can you also post the output of cat /proc/bus/input/devices

                                      Can you plug in your bluetooth dongle after starting the Pi and then checking lsusb

                                      Having 3 mouse devices connected at once is making diagnosing a little harder.
                                      It would be best to just use your mini_keyboard with touchpad as mouse and see if setting the mouse index in Retroarch with just one device attached still causes the same issue.

                                      1 Reply Last reply Reply Quote 0
                                      • G
                                        GoG
                                        last edited by

                                        I am wondering if anyone has figured out a resolution to this problem? My trackball and mouse work fine if I disable overlays on mouse index 0, but if overlays are enabled, it locks up on left mouse click. I really like the look of the overlays / bezels, so I would like to use them. I have tried a few different Retropie loads, even one that was made in 2019 with the latest bells and whistles, but it is still no go... really frustrating, but I realize I am in the minority with using a trackball with retropie.

                                        roslofR 1 Reply Last reply Reply Quote 0
                                        • roslofR
                                          roslof @GoG
                                          last edited by

                                          @GoG I wish. I realized after a clean install and the problem still occurred that this is a retroarch issue that has not yet been solved. I tried all kinds of different combos of controllers and such to no success.

                                          Shame, because I devoted a ton of time to perfecting overlays, only to not have trackball button support.

                                          So I remove the overlays for the games that are designed for trackballs.

                                          Boo... But at least that's a type of work-around.

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            SuperJim
                                            last edited by

                                            I also have this issue, but in my case I am using a custom HID composite device that implements two joysticks, mouse and keyboard (media keys only).

                                            I have noticed that the mouse is detected twice in the runcommand.log,
                                            [INFO] [udev]: Mouse #0 (/dev/input/event2).
                                            [INFO] [udev]: Mouse #1 (/dev/input/mouse0).

                                            These two entries are the same device,

                                            pi@retropie:~ $ ls -lr /dev/input/*
                                            crw-rw---- 1 root input 13, 32 Feb 5 21:37 /dev/input/mouse0
                                            crw-rw---- 1 root input 13, 63 Feb 5 21:37 /dev/input/mice
                                            crw-rw----+ 1 root input 13, 1 Feb 5 21:37 /dev/input/js1
                                            crw-rw----+ 1 root input 13, 0 Feb 5 21:37 /dev/input/js0
                                            crw-rw---- 1 root input 13, 69 Feb 5 21:37 /dev/input/event5
                                            crw-rw---- 1 root input 13, 68 Feb 5 21:37 /dev/input/event4
                                            crw-rw---- 1 root input 13, 67 Feb 5 21:37 /dev/input/event3
                                            crw-rw---- 1 root input 13, 66 Feb 5 21:37 /dev/input/event2
                                            crw-rw----+ 1 root input 13, 65 Feb 5 21:37 /dev/input/event1
                                            crw-rw----+ 1 root input 13, 64 Feb 5 21:37 /dev/input/event0

                                            /dev/input/by-path:
                                            total 0
                                            lrwxrwxrwx 1 root root 9 Feb 5 21:37 platform-soc:shutdown_button-event -> ../event5
                                            lrwxrwxrwx 1 root root 9 Feb 5 21:37 platform-3f980000.usb-usb-0:1.1.2:1.0-mouse -> ../mouse0
                                            lrwxrwxrwx 1 root root 6 Feb 5 21:37 platform-3f980000.usb-usb-0:1.1.2:1.0-joystick -> ../js1
                                            lrwxrwxrwx 1 root root 9 Feb 5 21:37 platform-3f980000.usb-usb-0:1.1.2:1.0-event-mouse -> ../event2
                                            lrwxrwxrwx 1 root root 9 Feb 5 21:37 platform-3f980000.usb-usb-0:1.1.2:1.0-event-joystick -> ../event0
                                            lrwxrwxrwx 1 root root 9 Feb 5 21:37 platform-3f980000.usb-usb-0:1.1.2:1.0-event -> ../event4

                                            /dev/input/by-id:
                                            total 0
                                            lrwxrwxrwx 1 root root 9 Feb 5 21:37 usb-JEB_Arcade_Interface_00000000001A-mouse -> ../mouse0
                                            lrwxrwxrwx 1 root root 6 Feb 5 21:37 usb-JEB_Arcade_Interface_00000000001A-joystick -> ../js1
                                            lrwxrwxrwx 1 root root 9 Feb 5 21:37 usb-JEB_Arcade_Interface_00000000001A-event-mouse -> ../event2
                                            lrwxrwxrwx 1 root root 9 Feb 5 21:37 usb-JEB_Arcade_Interface_00000000001A-event-joystick -> ../event0
                                            lrwxrwxrwx 1 root root 9 Feb 5 21:37 usb-JEB_Arcade_Interface_00000000001A-event-if00 -> ../event4

                                            I experimented by deleting event2, and then the crash no longer happens on button press; the mouse is detected in the log file, but then doesn't appear to function properly (doesn't work in dosbox or scummvm, does work in amiberry).

                                            When the crash does happen, the retroarch process immediately goes to 100%, and can only be killed using -9... then you drop back to emulationstation as expected.

                                            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.