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 678 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.
    • W
      WhiteT982
      last edited by

      Pi Model or other hardware: i7 7500t Ubuntu 22.04 x86
      RetroPie Version Used: 4.8.2
      Built From: Setup Script downloaded according to this guide
      USB Devices connected: Brawler 64/iBuffalo SNES controllers and wireless keyboard/mouse
      Controller used:All three above
      Error messages received:Android Gamepad 121/6172 not configured (Brawler 64), USB 2-axis 8-button Gamepad 1411/8288 not configured (iBuffalo SNES)
      Verbose log (if relevant):runcommand log
      Guide used: Retropie Setup from docs as above
      File: (File with issue - with FULL path)
      Emulator: lr-mupen64plus, mupen64plus-gliden64
      Attachment of config files: Android Gamepad.cfg es_input.cfg Mupen 64plus InputAutoCfg.ini

      Ok so just started trying to set up a new X86 Retropie install and am having controller issues. All three controllers worked fine on my previous pi4 retropie build. 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)). I can still exit using the keyboard though.

      Using libretro cores though both controllers show up when launching a game as not being configured and of course no buttons or combination of buttons will do anything. Keyboard still allows me to exit though.

      Again to reiterate all three controllers work fine in emulationstation. The controllers also work in non-libretro cores except I can't exit using the hotkey combo except by using the keyboard. And lastly in libretro cores controllers show up as not being configured and don't function. Any help is aprreciated. Thanks guys and gals.

      1 Reply Last reply Reply Quote 0
      • 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.