Xbox One Elite controller terribly misbehaving?
-
I'm currently having a strange issue with an Xbox One Elite controller. I seem to have an identical problem with a Nacon PS4 controller. Both controllers are USB and wired so they are plugged in to ports 0 or 1. I'm not a fan of wireless controllers so if that turns out to be the problem (if anyone knows) then I'll happily quit while I'm ahead.
Otherwise:
I have a Raspberry Pi 3 B+ with a 64GB card and installation went just fine and I've succeeded in getting nearly all emulators configured and properly running (including NEOGEO GASP) using a Tata USB controller. All games work great and I've mostly figured out RetroArch inside of running games for graphic fixes and save states like other emulators do.
I'm a massive Linux noob but I've done quite a bit of research regarding Elite controllers in RetroPie and I've repeatedly attempted to configure the Elite controller to no avail and am turning here for some assistance, if at all possible.
I've configured the Elite with the initial boot and could select emulators and start roms but then upon starting any game would immediately cause the controller to stop working and would require ESC on the keyboard to exit and then this would cause the keyboard to lock along with the non-working Elite controller. Unplugging and re-plugging either the Elite or the keyboard in the USB ports would not fix the problem and would require a power cycle.
Upon reboot the exact same thing would happen with either the Elite or the Nacon controllers.
Next, I left my working Tata USB controller and the Elite both plugged in and would then have control over Emulation Station and everything worked fine until I attempted to configure the controller in RetroArch while a game was running. Same problem as before and everything would lock and require a power cycle.
I tried going in to RetroArch configuration from the RetroPie menu and could switch the controller from "usb gamepad" to "Microsoft Xbox Elite" or whatever exactly it said but then only the keyboard would respond and mapping inputs was impossible. I also could not revert to the other controller and ESC was necessary, followed by a reboot.
Last thing I've tried is the "nuclear option" of going in to the RetroPie package manager and resetting the controller configuration to the default settings so the system could be rebooted and all controllers could be reconfigured from scratch. Elite controller was detected and once again worked and I could select emulators and roms but once again upon starting any game the controller would lock up and become unresponsive and the keyboard ESC key would get me back out and neither the keyboard or controller would work.
I've seen online that some are using the Elite but for the life of me neither the Elite nor the Nacon seem to want to do more than allow me to browse my emulator and game list.
It seems I must be missing something simple but diving in to Linux, RetroPie and RetroArch with zero knowledge has been rather overwhelming.
I did download the xboxdrv package but I really don't know if that's part of the solution or problem as I have almost no idea how to configure it without a UI. Most Linux commands and keystrokes are relatively foreign but I'm slowly trying to figure them out.
-
@ultrakev9 First - you should answer the questions in https://retropie.org.uk/forum/topic/3/read-this-first to have a better view of your setup. Can you do this:
- Update the
xpad
driver from the RetroPie setup script - Reset your controller configuration, the reboot and disconnect the keyboard
- Re-configure the controler and see if it works in RA based emulators.
- Update the
-
I'll get right on it and let you know what happens. Thanks!
-
Updated xpad and removed controller config through the RetroPie setup menus. Rebooted the system and unplugged everything and only plugged in the Elite controller.
The config came up and said I had THREE USB devices plugged in when only the Elite was plugged in. Configured the controller and could browse Emulation Station systems and roms menus and again upon game start the controller didn't work. In the bottom corner of the screen I can quickly see that the controller didn't seem to configure properly. It goes by pretty fast but I can do it again if the exact error message is needed.
Seems some or all of the problem may have something to do with the inaccurate number of "found devices" when booting. That or it's not properly clearing and resetting the information in the setup menu when selected.
-
Can you post the output of
cat /proc/bus/input/devices
? -
@mitu
I: Bus=0003 Vendor=046d Product=c077 Version=0111
N: Name="Logitech USB Optical Mouse"
P: Phys=usb-3f980000.usb-1.1.2/input0
S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2:1.0/0003:046D:C077.0001/input/input0
U: Uniq=
H: Handlers=mouse0 event0
B: PROP=0
B: EV=17
B: KEY=ff0000 0 0 0 0 0 0 0 0
B: REL=103
B: MSC=10I: Bus=0003 Vendor=04d9 Product=1203 Version=0111
N: Name="HID 04d9:1203"
P: Phys=usb-3f980000.usb-1.1.3/input0
S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.3/1-1.1.3:1.0/0003:04D9:1203.0002/input/input1
U: Uniq=
H: Handlers=sysrq kbd leds event1
B: PROP=0
B: EV=120013
B: KEY=10000 7 ff800000 7ff febeffdf f3cfffff ffffffff fffffffe
B: MSC=10
B: LED=7I: Bus=0003 Vendor=04d9 Product=1203 Version=0111
N: Name="HID 04d9:1203"
P: Phys=usb-3f980000.usb-1.1.3/input1
S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.3/1-1.1.3:1.1/0003:04D9:1203.0003/input/input2
U: Uniq=
H: Handlers=kbd event2
B: PROP=0
B: EV=13
B: KEY=10000 2000000 39fa d941d001 1e0000 0 0 0
B: MSC=10I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="Xbox Gamepad (userspace driver)"
P: Phys=
S: Sysfs=/devices/virtual/input/input3
U: Uniq=
H: Handlers=event3 js0
B: PROP=0
B: EV=b
B: KEY=7fdb0000 0 0 0 0 0 0 0 0 0
B: ABS=3001bI: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="Xbox Gamepad (userspace driver) #2"
P: Phys=
S: Sysfs=/devices/virtual/input/input4
U: Uniq=
H: Handlers=event4 js1
B: PROP=0
B: EV=b
B: KEY=7fdb0000 0 0 0 0 0 0 0 0 0
B: ABS=3001bUsing my camera I was able to burst shot the messages at the bottom when starting an emulator for the first time.
100% Xbox Gamepad (userspace driver) (0/0) not configured.
100% Xbox Gamepad (userspace driver) #2 (0/0) not configured.
100% Microsoft X-Box One Elite pad (1118/739) not configured.I think these are about 98% accurate as it's tough to get clear pics of what's on the screen. Clearly I'm missing a config somewhere.
I reset to post here and only plugged in my keyboard and mouse and strangely got TWO USB instead of the three I was getting with the Elite so it's really starting to sound like a controller or driver problem...? Maybe?
-
@ultrakev9 You have the Xboxdrv installed and running (2 instances), remove the
xboxdrv
from the RetroPie setup and reboot, then see how many controllers are present. -
@mitu Okay that cleared up one of the problems. Got one USB device detected and configured and now the Elite works in the RetroPie config menu which it didn't before.
Running a game still gives me the
100% Microsoft X-Box One Elite pad (can't read this part) not configured
and the game runs but the controller doesn't work.It's seemingly simple in solution: I just need to figure out why the configured controller in Emulation Station isn't working when I load any games. This would probably fix the Nacon controller problem, too.
-
@ultrakev9 Did you modify the RetroArch configuration after the installation/update ? Do you have
save_on_exit
enabled ? -
@mitu I "had" save on exit enabled but it could have been reset by the update? Be back in a few minutes!
-
@ultrakev9 Don't enable this option, it's not recommended. If you want to save your settings, use the 'Save Core overrides' or 'Save Game Overrides'. Updating will not disable this option, so if you explicitely enabled it, you should disable it.
What ROM are you trying to launch ? Look in the Docs and find the.cfg
file for the game's system, then check its size. If it's more than 4 lines, you need to replace it with the.cfg-dist
file from the same folder. Do that, then re-launch the ROM. -
@mitu Okay I'll make sure to turn off save on exit.
The problem persists, however. Entering RetroArch after boot and configuring the Elite causes the controller to stop responding. Using the keyboard to ESC out locks up everything. I have managed to get it to say "one gamepad detected" when booting now even with the keyboard and mouse plugged in.
-
@ultrakev9 The problem is that - once enabled - it will overwrite the system's
retroarch.cfg
file and this will mess up your settings. In my previous post I described how you can revert that.
If you have the option, reinstall from scratch, then update RetroPie and all its packages, then retry the controller configuration. -
@mitu Am I reinstalling RetroArch and updating RetroPie through the menus or am I doing a complete reinstall of everything. I found a video on YouTube about fixing controllers not being configured when starting a game but of course I can't seem to get it to work in RetroArch properly and that's more than half the battle. If I have to reinstall/update I have no problem but that's certainly going to take some time.
I'm more afraid of losing all my roms if I don't back them up somewhere.
-
@ultrakev9 Whan I said reinstall, I mean reinstall the whole image (which of course will wipe out everything). Or you could follow the steps I said a couple of posts ago about fixing the ROM's system config file.
You could back up your current image (though 64 Gb will take some time to write) and then test with a fresh install. -
@mitu It's a 64gb card but there's nowhere near 64gb on it. It took somewhere in the neighborhood of ten hours to download and install everything through the menus and I just want to make sure that's the best bet before I go that route. I'll see if I can find the .cfg files and fix them but I can't seem to find the individual emulator folders. Honestly I got lucky with the devices file that I copy/pasted when I found that one.
I can back up all my roms to my thumb drive and re-image the sim if necessary. I have today off and I'm super thankful for the help so far but I've been pecking at this for over eight hours and need some sleep. I'll check for a response and tackle it when I'm not so tired.
-
@ultrakev9 Take your time.
-
@mitu I've decided to do a complete fresh reinstallation. Ran in to another controller problem and couldn't find the config files so, after my Tata USB gamepad started acting up I'm taking your advice and starting from scratch.
Thankfully, so far, I've reformatted and installed the image and keyboard, mouse and Elite controller are all behaving as they should. I've backed up and sorted my roms since I had some duplicates and bad iso files so there's little point in copying them again.
I'm sure by tomorrow I'll be pretty much okay and hopefully this time I'll stay out of certain settings that turn this in to another nightmare.
Thanks so much for your help!
-
@ultrakev9
Try this tool out: https://github.com/meleu/RetroPie-joystick-selection
You should be able to set it so the Xbox controller is always player one (you have to enable the "By name" option and then set it as P1). -
@madmodder123 Thanks. I'll give it a look over once everything is up and running.
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.