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

    [Solved]Xbox One controller(bluetooth) not working in games.

    Scheduled Pinned Locked Moved Help and Support
    xboxraspberrypi3b+xbox onexboxcontrollerraspberrypi 3b+
    37 Posts 4 Posters 7.5k 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.
    • D
      DavidB21
      last edited by DavidB21

      Pi Model: 3b+
      Power Supply: Official Cana Kit power supply
      RetroPie Version: 4.4.14
      Built From: Installed on top of latest version of raspbian
      USB Devices: Wireless Keyboard dongle
      Controller used: Xbox One model:1708
      Error messages: None that I know of
      Emulator: NES(fceumm)
      Config Files: all config: https://pastebin.com/4QmDUiTp

      nes config:

      # 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/"
      #include "/opt/retropie/configs/all/retroarch.cfg"
      
      

      How to replicate the problem:
      Run emulationstation, connect and configure Xbox one controller to Raspberry Pi, launch nes emulator, try to use the controls.

      I am trying to run Super Mario Bros on the NES emulator and whenever I launch the ROM it says: "100% Xbox Wireless Controller configured in port #0" in yellow text in the bottom left corner. When I try to play the game none of the controls work at all. I have tried going into RetroPie-Setup >> Manage Packages >> Manage core packages >> emulationstation >> Configuration/Options >> Clear/Reset Emulation Station input configuration and that doesn't work. I do not know what to do and I have looked around on this site but it seems like there are any solved posts for my issue.

      EfriimE 1 Reply Last reply Reply Quote 0
      • EfriimE
        Efriim @DavidB21
        last edited by

        @DavidB21 said in Xbox One controller(bluetooth) not working in games.:

        Xbox one controller

        I haven't used an xboxone controller but I did do a google search for you.

        https://techwiztime.com/guide/retropie-xbox-one-controller/

        do you have a configuration file for the xbox one controller in
        /opt/retropie/configs/all/retroarch-joypads?

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

          Reset your /opt/retropie/configs/all/retroarch.cfg to default - copy the retroarch.cfg.rp-dist file over - and then try again. Don't use 'Save Configuration' or 'Save config on exit' for now.

          D 1 Reply Last reply Reply Quote 0
          • D
            DavidB21 @mitu
            last edited by

            @mitu Do I just copy and paste the retroarch.cfg.rp-dist onto the retroarch.cfg file? And how do I turn off the Save Configuration setting?

            mituM 1 Reply Last reply Reply Quote 0
            • D
              DavidB21 @Efriim
              last edited by

              @Efriim Yes I do and here is the file:

              input_device = "Xbox Wireless Controller"
              input_driver = "udev"
              input_r_y_plus_axis = "+3"
              input_r_x_minus_axis = "-2"
              input_l_btn = "6"
              input_load_state_btn = "6"
              input_start_btn = "11"
              input_exit_emulator_btn = "11"
              input_r_y_minus_axis = "-3"
              input_down_btn = "h0down"
              input_l_x_plus_axis = "+0"
              input_r_btn = "7"
              input_save_state_btn = "7"
              input_right_btn = "h0right"
              input_state_slot_increase_btn = "h0right"
              input_select_btn = "15"
              input_left_btn = "h0left"
              input_state_slot_decrease_btn = "h0left"
              input_l2_axis = "-5"
              input_l3_btn = "13"
              input_l_y_minus_axis = "-1"
              input_up_btn = "h0up"
              input_a_btn = "0"
              input_b_btn = "1"
              input_reset_btn = "1"
              input_enable_hotkey_btn = "11"
              input_l_y_plus_axis = "+1"
              input_r2_axis = "-4"
              input_r3_btn = "14"
              input_x_btn = "3"
              input_menu_toggle_btn = "3"
              input_l_x_minus_axis = "-0"
              input_y_btn = "4"
              input_r_x_plus_axis = "+2"
              
              
              EfriimE 1 Reply Last reply Reply Quote 0
              • EfriimE
                Efriim @DavidB21
                last edited by

                @DavidB21
                Looks normal except I have never seen a h0 for d-pad. Why do they call it hat anyways?

                In the link it says that the enhanced re-transmission mode interrupts connection to... RetroPie. Though I thought since you are connected maybe this is outdated.

                If you could connect to SSH or Command line type this to check its status
                cat /sys/module/bluetooth/parameters/disable_ertm

                and then try this
                sudo bash -c 'echo 1 > /sys/module/bluetooth/parameters/disable_ertm'

                the parameter will not be saved upon reboot.
                if you dont want to set up ssh you could edit that line into \configs\all\autostart.sh

                D 1 Reply Last reply Reply Quote 0
                • D
                  DavidB21 @Efriim
                  last edited by

                  @Efriim It responded with Y which I assume means it is disabled. So this isn't the problem.

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

                    @DavidB21 Remove the .cfg file, then rename the other and remove the .rp-dist suffix. Save on Exit is not enabled by default in RetroPie and can leave to un-desirable effects - like controllers not working.
                    Just reset the config file, then boot up a game to see if the controller is responding.

                    D 1 Reply Last reply Reply Quote 0
                    • D
                      DavidB21 @mitu
                      last edited by

                      @mitu That didn't work. I booted up the game and everything was the same as it was before.

                      mituM EfriimE 2 Replies Last reply Reply Quote 0
                      • mituM
                        mitu Global Moderator @DavidB21
                        last edited by

                        @DavidB21 Can you try another system and ROM besides NES ?
                        If that doesn't work, then try installing the xpadneo driver from https://github.com/atar-axis/xpadneo:

                        1. exit Emulationstation with F4
                        2. run git clone https://github.com/atar-axis/xpadneo
                        3. run cd xpadneo
                        4. run sudo ./install.sh
                        5. reboot, then reset your input configuration and re-configure the gamepad again in Emulationstation.
                        D 2 Replies Last reply Reply Quote 0
                        • EfriimE
                          Efriim @DavidB21
                          last edited by

                          @DavidB21
                          A difference I could see in the retroarch config is the device index for player 1 2 3 and 4 are all 0, where mine is 0, 1, 2, 3.
                          input_player2_joypad_index = "0"
                          this should still work for player 1 though.

                          Do you have the xboxdrv package installed, and have you configured it or enabled it. I don't know much about this package, it might not be necessary try disabling it.

                          D 1 Reply Last reply Reply Quote 0
                          • D
                            DavidB21 @Efriim
                            last edited by

                            @Efriim I uninstalled that earlier and it did not help.

                            1 Reply Last reply Reply Quote 0
                            • D
                              DavidB21 @mitu
                              last edited by

                              @mitu I got an error when running the install.sh

                              * replacing version string if necessary
                              * copying module into /usr/src
                              * adding module to DKMS
                              ./install.sh: line 30: dkms: command not found
                              
                              
                              EfriimE 1 Reply Last reply Reply Quote 0
                              • EfriimE
                                Efriim @DavidB21
                                last edited by Efriim

                                @DavidB21
                                sudo apt-get install dkms
                                dynamic kernel module support or something other.

                                D 1 Reply Last reply Reply Quote 0
                                • D
                                  DavidB21 @Efriim
                                  last edited by

                                  @Efriim thanks that worked

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    DavidB21 @mitu
                                    last edited by

                                    @mitu The xpadneo driver worked but there are still some issues with the nes emulator. The xbox controller worked the first time I booted up the nes emulator after installing xpadneo, but then never worked after that. It worked with other emulators, but not with the nes one.

                                    edmaul69E D 2 Replies Last reply Reply Quote 0
                                    • edmaul69E
                                      edmaul69 @DavidB21
                                      last edited by edmaul69

                                      @DavidB21 delete the retroarch.cfg file in the nes config folder and then reinstall retroarch.

                                      D 1 Reply Last reply Reply Quote 0
                                      • D
                                        DavidB21 @DavidB21
                                        last edited by

                                        @DavidB21 Also the hotkey to leave the game doesn't work on the nes emulator either.

                                        edmaul69E 1 Reply Last reply Reply Quote 0
                                        • edmaul69E
                                          edmaul69 @DavidB21
                                          last edited by

                                          @DavidB21 read my last post

                                          D 1 Reply Last reply Reply Quote 0
                                          • D
                                            DavidB21 @edmaul69
                                            last edited by

                                            @edmaul69 I just did I am about to try that.

                                            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.