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

    Can't configure controller using xpad or xboxdrv.

    Scheduled Pinned Locked Moved Help and Support
    xpadxboxdrvcontroller help
    5 Posts 2 Posters 1.8k 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.
    • O
      observerBear
      last edited by

      I am having problems configuring a controller. It's a Tracer Shogun, it is a wired controller. I tested it on Windows 7, Windows 10 and a PS3 and the controller works fine. The problems start when I try it with Linux. RetroPie wasn't detecting it at all. Here are the relevant lines from the EmulationStation log (es_log.txt):

      lvl2: 	Added unconfigured joystick Xbox Gamepad (userspace driver) (GUID: 0000000058626f782047616d65706100, instance ID: 1, device index: 1).
      

      I later confirmed that Windows sees it as a Xbox controller, too.

      Next thing I tried is using the xboxdrv module, since using xpadwas not working. Here is the output of xboxdrv -L:

       id | wid | idVendor | idProduct | Name
      ----+-----+----------+-----------+--------------------------------------
        0 |   0 |   0x045e |    0x028e | Microsoft X-Box 360 pad
      

      I checked if the device is in the supported list via xboxdrv --list-supported-devices, it is supported. When the gamepad is loaded with xboxdrv through command line the light at position 2 lights up, regardless of how many other gamepads are present.

      The controller is completely unresponsive. Here is the jstest output. sdl2-jstest, sdl-jstest and evtest all list the controller as visible, however the result is the same as the jstest output.

      I tried editing my rc.local by adding this line:

      "/opt/retropie/supplementary/xboxdrv/bin/xboxdrv" --daemon --detach --dbus disabled --detach-kernel-driver --id 0 --led 2 --deadzone 4000 --silent --trigger-as-button
      

      And after a reboot, this is the output:

      [ERROR] XboxdrvDaemon::process_match(): failed to launch ControllerThread:  Error couldn't claim the USB interface: LIBUSB_ERROR_NOT_FOUND
      Try to run 'rmmod xpad' and then xboxdrv again or start xboxdrv with the option --detach-kernel-driver.
      

      I am using a Rpi 3B with an 5V, 2.5A power supply and RetroPie 4.4 image from the official website. All other USB controllers I have work just fine, even without a powered USB hub.

      The other controlers I have work fine. They are:

      • Hama uRage;

      • Tracer Green Arrow;

      • Mediatech Pathfinder

      I tried looking around the forums and official documentation as much as I could, but could not find any solution. Is there any way to make this work?

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

        @observerbear said in Can't configure controller using xpad or xboxdrv.:

        . Is there any way to make this work?

        You should disable the xboxdrv driver, because is needs to be specifically configured in order to work and that's probably why it's not working. The xpad driver is for the Xbox controllers, yours looks like a PS3 clone, so I'm not sure why you're trying the xpad driver - does the controller have some kind of mode switch that switches between Xbox/PS modes ?

        Have you tried to use jstest with only this controller plugged in to see if it reports something ?

        O 1 Reply Last reply Reply Quote 0
        • O
          observerBear @mitu
          last edited by

          @mitu Hi. Thank you for the quick reply.

          The controller does look like a PS3 one and has no switch to toggle between Xbox/PS3. The big button in the middle is for switching between PS3/PC, when the controller is inserted in a PS3. I tried pressing the button while the controller is active, but had no success.

          However, both Windows and Linux designated it as an Xbox controller, even without xboxdrv installed. I tried jstest with and without xboxdrv present, on a separate Linux machine with the controller alone, and received the same results (completely unresponsive).

          Also, without xboxdrv none of the 4 LEDs light up, but the system still sees it as an input device.

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

            @observerbear So it does have a mode switch - the button in the middle. I don't think xboxdrv will help you here, if there's no input from jstest. What you can try and is maybe force the xpad driver to handle this controller, assuming it's working in PC mode and has Xinput/Dinput support. However, that may be trickier than it sounds and you'd need some Linux knowledge - see

            • https://lwn.net/Articles/143397/
            • https://askubuntu.com/questions/575882/binding-device-to-a-driver-module
            • https://github.com/atar-axis/xpadneo/blob/master/hid-xpadneo/src/udev_rules/99-xpadneo.rules (that may be closer to your situation).
            O 1 Reply Last reply Reply Quote 0
            • O
              observerBear @mitu
              last edited by

              @mitu Thanks.

              I will give this a try and report back tomorrow as it is getting late here.

              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.