Can't configure controller using xpad or xboxdrv.
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 (
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
xboxdrvmodule, since using
xpadwas not working. Here is the output of
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
xboxdrvthrough 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
evtestall list the controller as visible, however the result is the same as the
I tried editing my
rc.localby 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:
Tracer Green Arrow;
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?
. 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
xpaddriver is for the Xbox controllers, yours looks like a PS3 clone, so I'm not sure why you're trying the
xpaddriver - does the controller have some kind of mode switch that switches between Xbox/PS modes ?
Have you tried to use
jstestwith only this controller plugged in to see if it reports something ?
@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
xboxdrvinstalled. I tried
jstestwith and without
xboxdrvpresent, on a separate Linux machine with the controller alone, and received the same results (completely unresponsive).
xboxdrvnone of the 4 LEDs light up, but the system still sees it as an input device.
@observerbear So it does have a mode switch - the button in the middle. I don't think
xboxdrvwill help you here, if there's no input from
jstest. What you can try and is maybe force the
xpaddriver 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
I will give this a try and report back tomorrow as it is getting late here.