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

    Issue configuring PowerA Fusion wired XBox One controller

    Scheduled Pinned Locked Moved Help and Support
    controller confxbox oneemulationstatio
    44 Posts 8 Posters 9.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.
    • mituM
      mitu Global Moderator @wozzashek
      last edited by

      @wozzashek The xpad script has been already modified to do that, though there is a recent change (this week-end ?) that added a helper for dkms.

      Did you try just to update xpad from source - after any updates to the OS you might have done - and reboot ?

      quicksilverQ W 2 Replies Last reply Reply Quote 0
      • quicksilverQ
        quicksilver @mitu
        last edited by

        @mitu not sure if this is related but just updated the retropie setup script and it auto updated my xpad driver. It messed up my ES controller config and I had to reset it.

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

          @quicksilver Could be, but updating the driver does not change any configurations you had - when was the last time you updated the xpad driver ?
          @psyke83 Is the update of installed drivers forced now on each script update ?

          quicksilverQ 1 Reply Last reply Reply Quote 0
          • quicksilverQ
            quicksilver @mitu
            last edited by quicksilver

            @mitu does sudo apt-get upgrade update the xpad driver? If so then it was only a few days ago. Otherwise it's whatever driver comes with the stock 4.4 retropie image.

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

              @quicksilver OS upgrades can potentially update the xpad driver, but the RP version should override that. There have been also a few other updates related to Bluetooth, if you have a log of the RP update (from ~/RetroPie-Setup/logs) maybe we can see better what was updated from the script.

              quicksilverQ 1 Reply Last reply Reply Quote 0
              • quicksilverQ
                quicksilver @mitu
                last edited by

                @mitu

                Log started at: Wed  6 Feb 23:37:27 EST 2019
                
                RetroPie-Setup version: 4.4.5 (433d33db)
                System: Linux retropie 4.14.79-v7+ #1159 SMP Sun Nov 4 17:50:20 GMT 2018 armv7l GNU/Linux
                
                = = = = = = = = = = = = = = = = = = = = =
                Running post update hooks
                = = = = = = = = = = = = = = = = = = = = =
                
                Compiling /opt/retropie/supplementary/runcommand/joy2key.py ...
                Already on 'master'
                Your branch is up-to-date with 'origin/master'.
                Already up-to-date.
                HEAD is now in branch 'master' at commit 'b8645a8197d977a0492fc56341dc7248f7d7bb10'
                
                = = = = = = = = = = = = = = = = = = = = =
                Installing dependencies for 'xpad' : Updated Xpad Linux Kernel driver
                = = = = = = = = = = = = = = = = = = = = =
                
                /home/pi/RetroPie-Setup/tmp/build/xpad /home/pi/rpie-art
                
                = = = = = = = = = = = = = = = = = = = = =
                Getting sources for 'xpad' : Updated Xpad Linux Kernel driver
                = = = = = = = = = = = = = = = = = = = = =
                
                git clone --recursive --depth 1 "https://github.com/paroj/xpad.git" "/opt/retropie/supplementary/xpad"
                Cloning into '/opt/retropie/supplementary/xpad'...
                HEAD is now in branch 'master' at commit 'a66c53c008572db516a60a8d38ef4f823b3d3980'
                patching file xpad.c
                Hunk #2 succeeded at 1785 (offset 1 line).
                Successfully applied patch: /home/pi/RetroPie-Setup/scriptmodules/supplementary/xpad/01_enable_leds_and_trigmapping.diff
                /home/pi/rpie-art
                
                = = = = = = = = = = = = = = = = = = = = =
                Building 'xpad' : Updated Xpad Linux Kernel driver
                = = = = = = = = = = = = = = = = = = = = =
                
                
                Creating symlink /var/lib/dkms/xpad/0.4/source ->
                                 /usr/src/xpad-0.4
                
                DKMS: add completed.
                
                Kernel preparation unnecessary for this kernel.  Skipping...
                
                Building module:
                cleaning build area....
                make -j4 KERNELRELEASE=4.14.79-v7+ KVERSION=4.14.79-v7+.....
                cleaning build area...
                
                DKMS: build completed.
                
                xpad.ko:
                Running module version sanity check.
                 - Original module
                   - Found /lib/modules/4.14.79-v7+/kernel/drivers/input/joystick/xpad.ko
                   - Storing in /var/lib/dkms/xpad/original_module/4.14.79-v7+/armv7l/
                   - Archiving for uninstallation purposes
                 - Installation
                   - Installing to /lib/modules/4.14.79-v7+/extra/
                
                depmod....
                
                DKMS: install completed.
                /opt/retropie/supplementary/xpad /home/pi/rpie-art
                
                = = = = = = = = = = = = = = = = = = = = =
                Configuring 'xpad' : Updated Xpad Linux Kernel driver
                = = = = = = = = = = = = = = = = = = = = =
                
                /home/pi/rpie-art
                
                Log ended at: Wed  6 Feb 23:37:53 EST 2019
                Total running time: 0 hours, 0 mins, 26 secs
                
                mituM 1 Reply Last reply Reply Quote 0
                • mituM
                  mitu Global Moderator @quicksilver
                  last edited by mitu

                  @quicksilver I think I may have a clue what happened - you updated your kernel with apt-get, this also updated your xpad driver (but it also added the default kernel driver: /lib/modules/4.14.79-v7+/kernel/drivers/input/joystick/xpad.ko). Running RetroPie setup noticed you didn't have the RP driver for the said kernel and re-added it.

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

                    @mitu I'm going to clear off the SD card and flash the latest (4.4?) Retropie image onto it again. I'm running on a 3B+ btw.

                    I was also having issues pairing the controller via bluetooth even after adding the disable_ertm command to autostart. So I'm starting to think starting with a fresh build and starting again might solve the issues.

                    If i'm using a fresh build do I even need to run the "Update from source" on the Xpad driver package from within the Retropie setup?

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

                      @wozzashek said in Issue configuring PowerA Fusion wired XBox One controller:

                      If i'm using a fresh build do I even need to run the "Update from source" on the Xpad driver package from within the Retropie setup?

                      My advice would be to update everything first, before attempting to pair the controller, and get the latest versions of the OS and then the RetroPie Setup script. This should also update the xpad controller from source, so you don't have to do it specifically.

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

                        @mitu Got it working

                        I ran the Update Retropie script, followed by running an update to Retropie & OS.
                        Reboot
                        I added my /etc/modprobe.d/bluetooth.conf file to disable the ertm, which worked fine
                        Ran update from source on the xpad driver package for good measure
                        Reboot
                        Controller pairs correctly, emulationstation maps the buttons

                        What I noticed is, I was mapping my triggers and they were coming up as 5- & 4-. This would cause trigger spam in games. I tried remapping them a few times, and noticed I was able to map them in emulationstation as 5+ & 4+. I kind of did a 3/4 trigger press held for a second or two then released.

                        Playing with this mapping now works fine.

                        1 Reply Last reply Reply Quote 0
                        • A
                          AdamBeGood
                          last edited by AdamBeGood

                          I've just run "sudo rpi-update" in order to try standalone KMS, and Emulation Station -> Configure Input is now mapping my Xbox One Elite Controller's Left Trigger as "Axis 2-" and not even detecting my Right Trigger.

                          My normal Xbox One Controller is working without any problem.

                          Is the solution above something I should look at (or should I just not try experimental packages when I am such a novice)?

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

                            @AdamBeGood You should have opened a new topic instead of bumping 2 years old topics.
                            Your issue is probably caused by the usage of rpi-update, which overwrote the xpad driver with the stock Linux kernel version. As explained throughout the topic, RetroPie includes a patched version, which modifies the default driver behavior and maps the triggers as buttons instead of axis.
                            Don't use rpi-update as a regular update mechanism - it's not intended to be used as such. RetroPie uses dkms to install additional Linux kernel drivers, so that any normal Linux kernel update (via apt) will automatically re-install the drivers. When using rpi-update, this is not possible and causes issues if you rely on a certain driver to be installed and working.

                            A 1 Reply Last reply Reply Quote 1
                            • A
                              AdamBeGood @mitu
                              last edited by AdamBeGood

                              @mitu said in Issue configuring PowerA Fusion wired XBox One controller:

                              @AdamBeGood You should have opened a new topic instead of bumping 2 years old topics.

                              I'm sorry, I should have started a new topic and referenced this thread. Apologies.

                              Let me know if I am okay to carry on posting here now, or if the best route is to still open a new topic.

                              Your issue is probably caused by the usage of rpi-update, which overwrote the xpad driver with the stock Linux kernel version. As explained throughout the topic, RetroPie includes a patched version, which modifies the default driver behavior and maps the triggers as buttons instead of axis.
                              Don't use rpi-update as a regular update mechanism - it's not intended to be used as such. RetroPie uses dkms to install additional Linux kernel drivers, so that any normal Linux kernel update (via apt) will automatically re-install the drivers. When using rpi-update, this is not possible and causes issues if you rely on a certain driver to be installed and working.

                              I wouldn't normally use rpi-update but I wanted to try out the KMS change to see how that affected N64 emulation.

                              Any idea how I resolve this issue now? I looked at amending the line mentioned in the thread but that line doesn't seem to be present in my script, and there is a reference to the trigger issue also so I think the script has been updated since the above was written.

                              dkms install -m xpad -v 0.4 -k "$kernel"
                              
                              dkms install  --force -m xpad -v 0.4 -k "$kernel"
                              

                              I tried re-installing xpad from Source but that hasn't changed anything.

                              The below line is also present in "xpad.conf"

                              options xpad triggers_to_buttons=1
                              

                              My controller is connected by a USB lead, I'm not using Bluetooth.

                              Later Edit: it is especially strange as it is only my Elite Controller that is having this issue. Standard XBox One Controller is perfect.

                              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.