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

Xbox Series X controller wont Pair with RP4

Scheduled Pinned Locked Moved Help and Support
xboxcontrollerpairingissues
38 Posts 19 Posters 23.2k 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.
  • M
    mitu Global Moderator @franknarf8
    last edited by 5 Jan 2021, 04:31

    @franknarf8 That won't help much if the controller doesn't pair with the Pi/Linux system where RetroPie is running. SDL 2.0.14 was released December of last year, containing the patch referenced in Phoronix article, but RetroPie doesn't include that release yet.

    1 Reply Last reply Reply Quote 0
    • K
      KrazeeTyger
      last edited by 14 Jan 2021, 01:30

      I found that you can download and install SDL2.0.14 on https://wiki.libsdl.org/Installation

      I followed the instructions and everything seemed to install and configure fine. However, the controller still won't pair. Same issue; the Xbox button keeps blinking. Did I miss anything?

      cd ~
      wget https://www.libsdl.org/release/SDL2-2.0.14.tar.gz
      tar zxvf SDL2-2.0.14.tar.gz
      cd SDL2-2.0.14
      mkdir build
      cd build
      ../configure
      make
      sudo make install

      1 Reply Last reply Reply Quote 0
      • K
        KrazeeTyger
        last edited by 14 Jan 2021, 11:22

        Oh, I didn't have xpadneo installed when I tried this.
        With xpadneo active, the controller actually VIBRATES after pairing.
        The vibration is different from the one when the pad is plugged in via USB, though, and the light also keeps blinking.

        Jeez, I think I am so close!! Any ideas anybody?

        1 Reply Last reply Reply Quote 0
        • K
          KrazeeTyger
          last edited by KrazeeTyger 17 Jan 2021, 19:35

          YAAASSSS, I've finally figured this out!

          Install Raspberry Pi OS Lite (w/o RetroPie pre-installed). I used V5.4 from 01/11/2021
          Sudo bash –c ‘echo 1 > /sys/module/bluetooth/parameters/disable_ertm’ (not sure if this is necessary)
          Add Privacy = device to /etc/bluetooth/main.conf under the [General] section - Kudos to the good people at GitHub!
          sudo systemctl restart bluetooth
          Pair X-Box Series X controller using bluetoothctl command
          Savor the moment the light gets solid

          Install RetroPie
          Install xpadneo

          Works like a charm!! ENJOY!

          Z S 2 Replies Last reply 22 Jan 2021, 23:05 Reply Quote 0
          • Z
            zdeno84 @KrazeeTyger
            last edited by 22 Jan 2021, 23:05

            @krazeetyger Hi there, I'm on the latest Raspberry build, just powered it on today and run into the same issue - my older xbox controller works fine, but xbox series x controller won't connect.

            I tried to add the privacy = device etc command, but the raspberry won't accept it (not using RetroPie). Any idea how I can adapt it to work on Raspberry only or do I need to switch to RetroPie for this to work?

            Thanks!

            M 1 Reply Last reply 23 Jan 2021, 12:14 Reply Quote 0
            • K
              KrazeeTyger
              last edited by 23 Jan 2021, 11:33

              Just for clarification: did you enter

              Privacy = device
              

              or

              Privacy = device etc
              

              ?

              1 Reply Last reply Reply Quote 0
              • M
                mitu Global Moderator @zdeno84
                last edited by 23 Jan 2021, 12:14

                @zdeno84 Try installing the xpadneo driver - https://github.com/atar-axis/xpadneo - and the pair the controller again.

                1 Reply Last reply Reply Quote 0
                • Z
                  zdeno84
                  last edited by 23 Jan 2021, 18:03

                  I installed xpadneo and since then the blueetooth behaves a bit weird. Everything works fine with xbox one controller, it connects, works in steamlink. But when I try to pair the xbox series controller, the bluetooth seems to either freeze in some way (the connected xbox one controller dissapears from gui but still works in steamlink) or the xbox series controller connects, but stays in a reconnect loop - on/off/on/off every second.

                  I tried to install it through terminal, it pairs, but then terminal freezes and does not accept any keyboard input, so I can not connect/trust.

                  I also tried to add privacy = device command to the /etc/bluetooth/main.conf, but terminal tells me permission denied.

                  All I need from the raspberry really is to connect through steamlink to my windows pc running games and remote play them plus play some movies from external hdd (or from that same windows pc).

                  sorry for all the mistakes, but I just got the raspberry yesterday and not really a linux-versed yet. I would need to connect the xbox series controller(s) for my kids so we can play together some coop. we only have one xbox one controller.

                  any advice appreciated

                  1 Reply Last reply Reply Quote 0
                  • K
                    KrazeeTyger
                    last edited by 24 Jan 2021, 15:36

                    sudo nano /etc/bluetooth/main.conf

                    Z 1 Reply Last reply 4 Feb 2021, 19:59 Reply Quote 0
                    • Z
                      zdeno84 @KrazeeTyger
                      last edited by 4 Feb 2021, 19:59

                      @krazeetyger thanks. I tried everything, but to no avail. fresh installs, retropie, commands you mentioned. xpadneo, etc. in different orders. nope. but at least I learned a lot about pi

                      I bought the xbox wireless adapter, installed xow and everything works perfect. 3 controllers, pi, streaming from host pc with both steamlink and parsec.

                      L 1 Reply Last reply 1 Apr 2021, 20:49 Reply Quote 0
                      • I
                        icehousedoo
                        last edited by 15 Feb 2021, 22:00

                        Hi All,
                        Have similar issue, looks like it's only a problem with the series X controller (has three round buttons just below the xbox power button instead of two). If I use a slightly older controller (two buttons) it connects and works faultlessly.
                        Both controllers work fine on a Windows PC.
                        I'll keep investigating.

                        Cheers

                        1 Reply Last reply Reply Quote 0
                        • K
                          KrazeeTyger
                          last edited by 26 Feb 2021, 12:44

                          You'll have to use the newest version of Raspbian from January 2021 and install RetroPie on top of it.
                          Older versions of Raspbian have a bug that prevents the Series X controller from pairing.
                          The pre-made images of RetroPie won't work either as they were made in November 2020.

                          F 1 Reply Last reply 8 Mar 2021, 21:54 Reply Quote 0
                          • F
                            FrozenNL @KrazeeTyger
                            last edited by FrozenNL 3 Sept 2021, 12:07 8 Mar 2021, 21:54

                            @krazeetyger thanks mate, I can confirm it works except for LT and RT buttons, at this moment LT and RT buttons do not work it simply does not register in configuration of buttons, anyone have a solution for that or did I do something wrong?


                            LT and RT registration test (jstest):

                            I did

                            jstest /dev/input/js0
                            

                            after installing jstest with:

                            sudo apt-get install -y jstest-gtk
                            

                            and I see some action when pressing LT and RT

                            output jstest (no buttons pressed):

                            Driver version is 2.1.0.
                            Joystick (Xbox Wireless Controller) has 9 axes (X, Y, Z, Rx, Ry, Rz, Hat0X, Hat0Y, (null))
                            and 10 buttons (BtnA, BtnB, BtnX, BtnY, BtnTL, BtnTR, BtnSelect, BtnStart, BtnThumbL, BtnThumbR).
                            Testing ... (interrupt to exit)
                            Axes:  0:     0  1:     0  2:-32767  3:     0  4:     0  5:-32767  6:     0  7:     0  8:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off
                            

                            Pressing LT registers in jstest as Axes/Axis:

                            Driver version is 2.1.0.
                            Joystick (Xbox Wireless Controller) has 9 axes (X, Y, Z, Rx, Ry, Rz, Hat0X, Hat0Y, (null))
                            and 10 buttons (BtnA, BtnB, BtnX, BtnY, BtnTL, BtnTR, BtnSelect, BtnStart, BtnThumbL, BtnThumbR).
                            Testing ... (interrupt to exit)
                            Axes:  0:     0  1:     0  2: 32767  3:     0  4:     0  5:-32767  6:     0  7:     0  8:-32767 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off
                            

                            Pressing RT registers in jstest as Axes/Axis:

                            Driver version is 2.1.0.
                            Joystick (Xbox Wireless Controller) has 9 axes (X, Y, Z, Rx, Ry, Rz, Hat0X, Hat0Y, (null))
                            and 10 buttons (BtnA, BtnB, BtnX, BtnY, BtnTL, BtnTR, BtnSelect, BtnStart, BtnThumbL, BtnThumbR).
                            Testing ... (interrupt to exit)
                            Axes:  0:     0  1:     0  2:-32767  3:     0  4:     0  5: 32767  6:     0  7:     0  8: 32767 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off
                            

                            Axes-8 is shared between LT and RT

                            Axes 2 LT range between -32767 and + 32767 depending of how much pressure is used
                            Axes 5 RT range between -32767 and + 32767 depending of how much pressure is used
                            Axes 8 LT + RT range between -32767 and + 32767 depending of how much pressure is used and which button or combined, it's an balanced axis (default 0)
                            

                            Steps taken to get the controller working so far

                            Installed latest Raspberry Pi OS Desktop or Lite does not matter, just make sure to boot to CLI.
                            Installed RetroPie manual, see: https://retropie.org.uk/docs/Manual-Installation/
                            Installed xpadneo through RetroPie-Setup under Manage packages -> Driver

                            sudo /home/pi/RetroPie-Setup/retropie_setup.sh
                            

                            Add the next line:
                            Privacy = device
                            to /etc/bluetooth/main.conf

                            sudo nano /etc/bluetooth/main.conf
                            

                            Install SDL2 2.0.14:

                            cd ~
                            wget https://www.libsdl.org/release/SDL2-2.0.14.tar.gz
                            tar zxvf SDL2-2.0.14.tar.gz
                            cd SDL2-2.0.14
                            mkdir build
                            cd build
                            ../configure
                            make
                            sudo make install
                            

                            Verify xpadneo is running properly:

                            lsmod | grep hid_xpadneo
                            

                            should output something like:
                            hid_xpadneo 20480 0
                            ff_memless 16384 1 hid_xpadneo

                            if not type in console:

                            sudo modprobe hid_xpadneo
                            

                            verify again.

                            sudo systemctl restart bluetooth
                            
                            sudo bluetoothctl
                            
                            [bluetooth] agent on
                            [bluetooth] default-agent
                            [bluetooth] scan on
                            [bluetooth] pair XX:XX:XX:XX:XX:XX
                            [agent] Accept pairing (yes/no): yes
                            

                            The light on the XBOX controller should now lid constantly which means it's connected, you can configure the buttons in RetroPie except for LT and RT (L2 and R2 equivalent on PSX so to speak).

                            I use a Raspberry Pi 4 with 4GB with the default WLAN/Bluetooth, not an external dongle.

                            Enjoy!

                            M 1 Reply Last reply 1 Apr 2021, 17:50 Reply Quote 1
                            • B
                              billymild
                              last edited by 9 Mar 2021, 16:01

                              https://retropie.org.uk/forum/topic/6198/xbox-one-controller-via-bluetooth/42?fbclid=IwAR1fkN9puQm2tn0mk_JC8vuh41vpyaGf_yiVPJZvFavZDB5o-pjbSebHp4M

                              F 1 Reply Last reply 9 Mar 2021, 18:10 Reply Quote 0
                              • F
                                FrozenNL @billymild
                                last edited by 9 Mar 2021, 18:10

                                @billymild Thanks, but there is really no need for this, this is about the Xbox One controller, not the XBOX series X/S controller. Tested it anyways, does not change anything at all. Only problem now is Left Trigger and Right Trigger (LT and RT) is not functional, it's detected by bluetooth, but not in the input configuration in emulationstation.

                                1 Reply Last reply Reply Quote 0
                                • F
                                  FrozenNL
                                  last edited by FrozenNL 3 Sept 2021, 20:49 9 Mar 2021, 19:11

                                  Okay, I have added the following to /opt/retropie/configs/all/retroarch-joypads/Xbox Wireless Controller.cfg

                                  input_l2_axis = "+2"
                                  input_r2_axis = "+5"
                                  

                                  Now it just works as expected but the controller has some input delay (e.g. input via keyboard is like 200-400ms faster then using the Xbox controller), is there a solution for?

                                  If you have disabled ertm ever, just re-enable it:

                                  sudo bash -c 'echo 0 > /sys/module/bluetooth/parameters/disable_ertm'
                                  

                                  to get the default setting, do not touch this setting at all for this controller ( Xbox Series X/S Controller ), it just causes input lag.

                                  There is still some minor input lag in comparison to the keyboard (like 50ms), if there is some workaround for which I can try, please let me know (and others ofc.)

                                  M 1 Reply Last reply 1 Apr 2021, 18:42 Reply Quote 0
                                  • M
                                    medwards64 @FrozenNL
                                    last edited by 1 Apr 2021, 17:50

                                    @frozennl

                                    First - thank you! I finally got the controller working.

                                    Now my issue is that I have to run the command "sudo systemctl restart bluetooth" on first boot every time to connect the controller.

                                    I've looked into messing with the UDev options, but the it seems ES doesn't see the controller as actually paired.

                                    Any thoughts on how to have it auto connect?

                                    D 1 Reply Last reply 10 Dec 2021, 11:25 Reply Quote 0
                                    • M
                                      medwards64 @FrozenNL
                                      last edited by 1 Apr 2021, 18:42

                                      @frozennl said in Xbox Series X controller wont Pair with RP4:

                                      input_l2_axis = "+2"
                                      input_r2_axis = "+5"

                                      I've saved those parameters and can't get them to stick through a reboot. What might I be doing wrong?

                                      1 Reply Last reply Reply Quote 0
                                      • L
                                        luzer @zdeno84
                                        last edited by luzer 4 Feb 2021, 20:11 1 Apr 2021, 20:49

                                        @zdeno84 said in Xbox Series X controller wont Pair with RP4:

                                        @krazeetyger thanks. I tried everything, but to no avail. fresh installs, retropie, commands you mentioned. xpadneo, etc. in different orders. nope. but at least I learned a lot about pi

                                        I bought the xbox wireless adapter, installed xow and everything works perfect. 3 controllers, pi, streaming from host pc with both steamlink and parsec.

                                        what bluetooth dongle did you buy?

                                        T 1 Reply Last reply 7 Apr 2021, 16:47 Reply Quote 0
                                        • T
                                          tinkmaster @luzer
                                          last edited by 7 Apr 2021, 16:47

                                          @luzer it isn't a Bluetooth dongle, he's talking about the actual Xbox Wireless dongle Microsoft sells for this exact purpose, connecting Xbox controllers to other devices via USB.

                                          S 1 Reply Last reply 29 Jul 2021, 01:08 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.

                                            This community forum collects and processes your personal information.
                                            consent.not_received