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

    Controller Issues Retropie X86

    Scheduled Pinned Locked Moved Help and Support
    x86 ubuntu
    11 Posts 2 Posters 677 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.
    • mituM
      mitu Global Moderator
      last edited by mitu

      The new SDL2 gamepad name normalization strikes again :(.

      Open the .cfg files for the controllers, located in /opt/retropie/configs/all/retroarch-joypads and add the following lines:

      • for the Brawler config file:
      input_vendor_id="121"
      input_product_id="6172"
      
      • for the iBuffalo controller:
      input_vendor_id = "1411"
      input_product_id = "8288"
      

      No need to reboot, should work at the next game start with a libretro core.

      ... When starting non-libretro cores i can configure in ES and then use them in game with the exception being I can't exit (hotkey + Select(button 8 on the Android Gamepad))

      That's normal, Start + Select is specific to libretro cores. I think the Mupen64Plus N64 emulator can use the combo to exit, but other emulator don't know about this (or don't support an input combo for exit).

      W 1 Reply Last reply Reply Quote 0
      • W
        WhiteT982 @mitu
        last edited by WhiteT982

        @mitu
        Great I’ll give that a shot then. Love it when the solution is simple.

        And yeah start + select always exited non-libretto mupen on the pi4 so I was expecting it to do so on x86 as well. On the pi I could even save/load states with the hot key combos you’d just never get an onscreen notification.

        I guess would have a suggestion for exiting non libretto cores then other than pulling out the keyboard? Something I could do in command line or something else?

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

          @WhiteT982 said in Controller Issues Retropie X86:

          And yeah start + select always exited non-libretto mupen on the pi4 so I was expecting it to do so on x86 as well. On the pi I could even save/load states with the hot key combos you’d just never get an onscreen notification.

          it should do the same on x86. Post the configuration file for Mupen64Plus - inputAutoCfg.ini - from /opt/retropie/configs/n64.

          I guess would have a suggestion for exiting non libretto cores then other than pulling out the keyboard? Something I could do in command line or something else?

          As I said, it depends on the standalone emulator's capabilities. A few of them are configured automatically to exit with a key combo if they support it (Mupen64Plus is one of them), for others you can just exit from their menu (i.e. Fuse/Zesarux/Vice) and if they support toggling the menu with a gamepad, then you configure a gamepad button for it.

          W 1 Reply Last reply Reply Quote 0
          • W
            WhiteT982 @mitu
            last edited by WhiteT982

            @mitu
            It’s in the first post but here it is.

            InputAutoCfg.ini

            Do I need to add

            Select = button(8)
            

            I thought I had tried it already and it didn’t work but maybe I’m not remembering correctly? My select does work in ES as well. The Android Gamepad.cfg is in the first post to and I had thought that’s where the hot key was stored. It does show hotkey=Select and Select=button(8).

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

              You're right, but that's not how the exit combo is generated. It seems it's generated at runtime, based on RetroArch's configuration profile.
              So you may have to rename the .cfg files you modified:

              • 'USB,2-axis 8-button gamepad .cfg' renamed to USB,2-axis 8-button gamepad.cfg.

              and for the other one, I don't know the .cfg filename, but if it has spaces at the end/beginning, try to trim those and see if that adds the hotkey combo to exit back.

              W 1 Reply Last reply Reply Quote 0
              • W
                WhiteT982 @mitu
                last edited by WhiteT982

                @mitu
                So first of all controllers are working in libretto cores now after using the vendor ids. However I still can’t exit standalone mupen64plus after removing spaces from the .cfg file names. I did find a video about a guy saying to change values in the mupen64plus.cfg. There is this line

                # Joystick event string for stopping the emulator
                Joy Mapping Stop = ""
                
                

                And in between the parentheses he said type j0b plus the button number to exit. So I chose ”j0b10” which is the left thumb press on my Brawler controller. But it still won’t exit and the file gets overwritten after starting the emulator.

                It also has sections for the keyboard like

                # SDL keysym for save slot 0
                Kbd Mapping Slot 0 = 48
                
                

                So I tried just 10 without quotes or the j0b but not luck there either.

                W 1 Reply Last reply Reply Quote 0
                • W
                  WhiteT982 @WhiteT982
                  last edited by

                  @mitu
                  So looking at the mupen64plus.cfg on my pi4 the correct syntax should be

                  Joy Mapping Stop = "J0B6/B7”
                  
                  

                  For hotkey=6 and Start=7. But still whenever I start the emulator the file gets overwritten. So next question is if there’s a way to stop the file from being overwritten?

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

                    @WhiteT982 said in Controller Issues Retropie X86:

                    For hotkey=6 and Start=7. But still whenever I start the emulator the file gets overwritten. So next question is if there’s a way to stop the file from being overwritten?

                    No, it's part of the start-up script - as I said in my previous post, the configuration is set at runtime.
                    Now looking more closely at said start-up script, I think the rename should be the other way around. The reason the script doesn't correctly set the hotkey (for exit/save & state) is because it doesn't find the controller name in the *.cfg files that were auto-generated by EmulationStation.
                    It works like this:

                    • script is looking at /dev/input/js0 and find the name of the joypad using udev (i.e. USB,2-axis 8-button gamepad - note the trailing spaces)
                    • then it looks at which .cfg file contains the device name detected. Doesn't find any, since the name generated via SDL2 is 8Bitdo SNES30 GamePad (which is quite different) and has
                    input_device = "8Bitdo SNES30 GamePad"
                    ...
                    
                    • the end.

                    So I think the file renaming is not necessary, but you'd have to open the .cfg file and correct the input_device name.
                    Run

                     cat /proc/bus/input/devices | grep Name
                    

                    and see which are the names reported by each controller. Then open the corresponding .cfg file and replace the device_name option with that name. E.g. instead of

                    input_device = "8Bitdo SNES30 GamePad"
                    

                    to be

                    input_device = "USB,2-axis 8-button gamepad  "
                    

                    Or, you can use the Mupen64plus libretro core and your controller would work without those configs.

                    W 1 Reply Last reply Reply Quote 0
                    • W
                      WhiteT982 @mitu
                      last edited by

                      @mitu
                      Haha yeah I’m almost to the point of just using libretro but I like those texture packs with N64 and as far as I know they only work with Glide. But I will look at that tomorrow too and hopefully that’ll do the trick.

                      W 1 Reply Last reply Reply Quote 0
                      • W
                        WhiteT982 @WhiteT982
                        last edited by

                        @WhiteT982
                        Ok so change the names and now I can exit non libretro using only my Select button. So not entirely there but I guess it will work. Once again appreciate all of the help

                        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.