01/16/2016 at 21:05 #114124
Raspberry Pi 2, Retropie 3.3.1 Wheezy SD image download (no update performed).
I have a Logitech F710 wireless. It has a switch between 2 different modes: D (DInput) and X (XInput). Depending on the switch position it is seen as different devices (usb disconnects and reconnects when switching):
lsusb with DInput:
Bus 001 Device 009: ID 046d:c219 Logitech, Inc. Cordless RumblePad 2
dmesg with DInput:
[ 2555.058246] usb 1-1.5: new full-speed USB device number 12 using dwc_otg [ 2555.167361] usb 1-1.5: New USB device found, idVendor=046d, idProduct=c219 [ 2555.167435] usb 1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 2555.167470] usb 1-1.5: Product: Logitech Cordless RumblePad 2 [ 2555.167488] usb 1-1.5: Manufacturer: Logitech [ 2555.178335] input: Logitech Logitech Cordless RumblePad 2 as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/0003:046D:C219.0008/input/input7 [ 2555.179747] logitech 0003:046D:C219.0008: input,hidraw2: USB HID v1.11 Gamepad [Logitech Logitech Cordless RumblePad 2] on usb-3f980000.usb-1.5/input0
lsusb with XInput:
Bus 001 Device 011: ID 046d:c21f Logitech, Inc. F710 Wireless Gamepad [XInput Mode]
dmesg with XInput:
[ 2505.718035] usb 1-1.5: new full-speed USB device number 11 using dwc_otg [ 2505.828718] usb 1-1.5: New USB device found, idVendor=046d, idProduct=c21f [ 2505.828746] usb 1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2505.828764] usb 1-1.5: Product: Wireless Gamepad F710 [ 2505.828780] usb 1-1.5: Manufacturer: Logitech [ 2505.828797] usb 1-1.5: SerialNumber: 56E994A2 [ 2505.830708] input: Logitech Gamepad F710 as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/input/input6
Using DInput the joystick works perfectly in emulation station, mupen64 and scummvm but is not recognised by retroarch.
Retroarch says when starting a game (snes, gba, gbc):
Logitech F710 Gamepad (DInput) (1133/49689) not configured
Now I have no idea where retroarch gets this joystick identifier (udev, SDL?). It does not appear in dmesg or lsusb.
I did a recursive find in /opt and /home/pi grepping files for the string ‘F710’ and there is no config file mentioning an F710 controller (in DInput it should be: Logitech Logitech Cordless RumblePad 2). The configured joysticks are:
pi@retropie /opt/retropie/configs/all/retroarch-joypads $ ls -lrt total 16 -rw-r--r-- 1 pi pi 868 Jan 15 22:34 ACRUXUSBGAMEPAD8116.cfg.bak -rw-r--r-- 1 pi pi 868 Jan 15 22:35 ACRUXUSBGAMEPAD8116.cfg -rw-r--r-- 1 pi pi 878 Jan 15 22:44 LogitechLogitechCordlessRumblePad2.cfg.bak -rw-r--r-- 1 pi pi 878 Jan 15 23:37 LogitechLogitechCordlessRumblePad2.cfg
There are also these same 2 joysticks in the emulation station config file.
I have tried copying the file LogitechLogitechCordlessRumblePad2.cfg to another file with the name of the joystick that appears in retroarch error message (without blank and special characters) and I also tried changing the name of the joystick inside the file. This was unsuccessful. Is there any documentation on how retroarch gets the joystick name (here: Logitech F710 Gamepad (DInput) (1133/49689)) and how I can map that name to a config file?
With XInput it is worse:
Not only do I get the very similar message:
Logitech F710 Gamepad (XInput) (1133/49695) not configured
but also emulation station GUI cannot configure all buttons in XInput mode (in XInput, lower R and L buttons are actually axis and when pressing one of them it triggers the configuration of 3 consecutive buttons with (axis-,axis+,not defined). It can be circumvented by editing the config file manually if only I could find a nice description of the config file settings).
I have read somewhere in this forum that DInput does not work, but according to http://linuxhacksandfixes.blogspot.de/2013/02/the-logitech-f710-gamepad.html it seems DInput should work fine on Linux. Also DInput works perfectly in emulation station, mupen64plus, scummvm (and with jstest /dev/input/js0) and also works on my PCs (also Linux but on Intel) so it could also work for retroarch (in the worst case by using xboxdrv to expose it as xinput).
I must say also that I seem to remember a week ago using this controller succesfully in retroarch snes or gba/gbc. I cannot say for sure, but this is surprising since I have not changed/updated anything except editing these joystick configs (only after the problem arised) and configuring mupen64.
Thank you.01/16/2016 at 21:15 #114127
Try this:01/16/2016 at 23:24 #114137
Thank you works perfectly switching to udev
Also I learnt from your video that in emulation station controller setup GUI, you can come back to configure the skipped buttons before pressing OK.01/19/2016 at 07:22 #114348
Thank you, thank you, thank you herbfargus!!! I’ve been looking and trying different steps for the last 3 days in order to get my F710 controller working properly. Even though I was able to get many games working through the controller by manually editing retroarch.cfg in the “all” folder, the hotkeys were definitely not behaving as advertised (hence making exiting without the keyboard next to impossible), changing to udev and reconfiguring the controller was definitely what I was after. I should now be able to ditch the keyboard and take this thing on the road…..
Forums are currently read only - please visit the new RetroPie forums at https://retropie.org.uk/forums/