Homepage › Forums › RetroPie Project › Controller Configuration in RetroPie › xbox 360 wireless controller works in UI but not in any emulator
Tagged: xbox controller
- This topic has 54 replies, 6 voices, and was last updated 8 years, 9 months ago by catrinisin.
-
AuthorPosts
-
01/16/2016 at 21:03 #114123catrinisinParticipant
I’ve been struggling with this issue for weeks now. In both 3.2.1 and 3.3 I am able to use the xbox controller in Emulationstation UI, but it does not work in any games.
Someone suggested I change the input_joypad_driver to udev in the main all/retroarch.cfg file and then reconfigure the controller in emulationstation. But this had no effect.
The guide videos and documentation talk about going into the restropie_setup.sh script and running the option to add a controller to retroarch. But this option is missing for me. I even loaded a fresh image of 3.3 on a spare sdcard and I get the same issue. I can fully configure the controller in the UI but nothing works at all in any emulator I try.
Has anyone run into this? I spent 3 hours today loading fresh images and testing only to find the same results. On the fresh image the only thing I do is configure WiFi, load the xbox drivers with the controller connected, reboot, configure the controller in the UI. I’ve also tried the manual install of the xbox drivers instead of using the automatic options in retropie_setup.cfg. Same results there as well.
I read somewhere that there is an older driver that might work but it would keep the center light linking on the controller? I would be okay with that if it worked at least. But not sure how to go about doing that.
01/16/2016 at 21:16 #114128herbfargusMemberSee this
01/17/2016 at 06:00 #114149catrinisinParticipantThanks for the reply Herbfargus! I went through this step by step and I still have the same result for some reason. The driver is set to udev, the config is being created automatically as well as manually when I try that.
When I open the emulator, the yellow test shows my xbox controller as configured. But no buttons do anything at all.
I also made sure my wireless receiver (Zetta Guard) is plugged into port 0, although I don’t think it matters now that I watched your video.
I’m sure I’m missing something completely obvious and making a noob mistake of some kind. What are your thoughts?
01/17/2016 at 06:39 #114153herbfargusMemberYou followed this yes?
https://github.com/retropie/retropie-setup/wiki/Setting-up-the-XBox360-controller
01/17/2016 at 14:27 #114166catrinisinParticipantYes I followed that guide first. I’ve tried both the automatic method and the manual way.
Both methods allow me to configure the controller in ES. Then the yellow text says configured. But alas, no button response in emulator :(
01/17/2016 at 14:49 #114168jfpesantParticipantThis did it for me !
01/17/2016 at 17:41 #114178herbfargusMemberI’ll probably make a video on connecting Xbox 360 controllers once the next version of retropie is released. But if you followed the above video and the guide on the wiki and on reboot it still didn’t work, idk what the issue would be.
01/17/2016 at 17:59 #114180catrinisinParticipantokay thanks for replying. I’ll see if I can just start over again and hopefully get it working. Maybe I missed a step somewhere.
01/17/2016 at 19:18 #114189johnhansenParticipantI have exact same problem.
Loaded latest retropi, just got a xbox360 wireless.
In menus it did not work so i press Start go in menu input then added it and
it works perfectly in menus but i try snes, sega gen, etc. never works.
Anyone got it working?
I tried watch the 20 min video but he talk about so many things.Anyone with easy guide that really works?
It is real strange if you need add it again in each emulator.
Maybe in retropie they should have auto adding in all emulators?I have another USB SNES controller that works in everything…
01/17/2016 at 19:58 #114191herbfargusMemberWorks fine for me. You need to install the Xbox userspace driver as linked above from the setup script. You can’t just use the emulationstation configuration and expect it to work.
01/17/2016 at 20:25 #114192catrinisinParticipantOkay I got it working! Sort of, noob issues still, questions below.
I found that when I was in an emulator and then went into the retroarch menu I noticed that the gamepad selected was my Ultimarc ipac2. (This is an arcade bartop I built) So I changed that to say the xbox gamepad. Then I followed what you have in the video and re-mapped the user 1 binds with the controller. Finally, I went into the core options and enabled the analog setting to get that part working. When I then select resume content under quick menu, the controller is working!
However it didn’t remember that next time I launched that game, and if I go to a different emulator. I think I have to either try doing this at the global level using the Retropie menu in ES like the video shows; Or at least save the current config while in the emulator retroarch menu?
Anyways, progress for sure. I’ll post again with final findings.
Thanks again!!
01/17/2016 at 21:09 #114195johnhansenParticipantWhat is best way to install, Xbox userspace driver will it then work with all emulators?
01/17/2016 at 21:46 #114199catrinisinParticipantWith this:
https://github.com/retropie/retropie-setup/wiki/Setting-up-the-XBox360-controller
The automatic method works fine. I tried the manual configuration as well and that worked also.
01/17/2016 at 21:53 #114204johnhansenParticipantI did that already!
It is enabled there.
and it works in the menu
so what more must i do?!01/17/2016 at 23:13 #114212catrinisinParticipantOkay, so i had this same problem.
Watch this video carefully and do the steps in the green looking menu. (Retroarch config)
Basically you have to configure the controller in both Emulation Station and the Retroarch config. (“Bind all” in the Retroarch menu per the video)
Also make sure to change the “save on exit” option in Retroarch. That was the last mistake i made before the settings took permanently.
01/19/2016 at 00:18 #114326davidemolParticipantHi Catrinisin,
I have problem like yours too.
I follow the video guide but I stop in the retroarch setup green page because keyboard and joypad don’t work!
I have wireless USB keyboard and Xbox 360 wired controller.I spent a lot of hours today around this problem and I becoming crazy!
Please help me!01/19/2016 at 16:33 #114382catrinisinParticipantHey Davidemol,
Have you configured the keyboard in Emulation Station (ES)? If so, then in the retroarch menu you’ll need to use the keys that you configured in ES for up, down, etc. use the key you configured to be A button to select things in the retroarch menu and the B button to go back, etc.
If your trying to use the arrow keys and enter key, but configured different up and down keys in Emulation Station then the arrows and other “standard” keys won’t work.
I had this problem too and figured out that you need to pretend you are in a game as far as controls go for this menu.
Hope this helps
Chris01/19/2016 at 17:13 #114390davidemolParticipantHi Chris,
of course I configured in ES the arrow key to move in the ES menu with keybord and evrething works.
But when I go in RetroArch green menu or any emulator, don’t works!I also tried to manually set up input_joypad_driver to “udev” in the all/retroarch.cfg (correct), but I don’t see result…. :(
What can you suggest me??
David01/19/2016 at 17:36 #114394labelwhoreParticipantI’ve seen issues with a pi I configured for a friend who had a bunch of 3rd party wired xbox 360 controllers. None of them worked for him, even though it worked for me with a 1st party controller and an afterglow xbox 360 controller.
Which controller are you using? Is it a 1st party or afterglow controller? or something else?
(I believe the “Metallics” controllers from gamestop are the same as the afterglow ones.)
01/19/2016 at 17:44 #114395davidemolParticipantI’m using a original Microsoft Xbox 360 controller for PC USB wired with wireless receiver.
01/19/2016 at 17:47 #114397labelwhoreParticipantWhen you go through this guide, if the automatic set up isn’t working, which manual method have you tried?
https://github.com/retropie/retropie-setup/wiki/Setting-up-the-XBox360-controller
01/19/2016 at 17:58 #114398davidemolParticipantI first done the automatic configuration as per GitHub guide (xboxdrv enabled) and after I set up input_joypad_driver to “udev” in the all/retroarch.cfg as per video guide above linked.
Correct?01/19/2016 at 18:04 #114399labelwhoreParticipantno, if the automatic config isn’t working, you need to do this:
first run this (which should have been done by the automatic install, but running it again won’t hurt. )
sudo apt-get install xboxdrv
then edit rc.local to contain the following lines:
xboxdrv --trigger-as-button --wid 0 --led 2 --deadzone 4000 --silent & sleep 1 xboxdrv --trigger-as-button --wid 1 --led 3 --deadzone 4000 --silent & sleep 1 xboxdrv --trigger-as-button --wid 2 --led 4 --deadzone 4000 --silent & sleep 1 xboxdrv --trigger-as-button --wid 3 --led 5 --deadzone 4000 --silent &
I have tried method 3 on that page, but have not had any luck with it. Only option 1 or 2 have worked for me.
01/19/2016 at 18:06 #114400catrinisinParticipantYes setting to udev is correct. Are you able to configure the controller in ES? If yes, then the driver part is working I would think.
01/19/2016 at 18:07 #114402labelwhoreParticipantNot neccessarily, xpad can pick up the xbox360 controller, which will make it work in ES but nowhere else.
Let me ask you this, when the controller is working for you in ES, is the light blinking constantly on the controller?
01/19/2016 at 18:19 #114404davidemolParticipant@Chris
Yes, on ES ambient the controller works well and I can configure it.
@Labelwhore
I’ll try asap with manual procedure + method 1 and I’ll let you know!One more question:
what mean “wired controller”?
I have wired USB plugged with wireless receiver.
Can this be condidered wired or wireless?01/19/2016 at 18:21 #114406labelwhoreParticipantThat would be wireless, so in the lines that you add to rc.local use “wid” instead of “id”. Although, I’m not sure it really makes a difference any more.
01/19/2016 at 18:24 #114407labelwhoreParticipantIn case the light is blinking constantly after you do method one, add this line directly before the xboxdrv lines in rc.local.
rmmod xpad
I haven’t needed that on retropie 3.3, but I did need it on earlier versions.
01/19/2016 at 18:25 #114408davidemolParticipant[quote=114402]
Let me ask you this, when the controller is working for you in ES, is the light blinking constantly on the controller?[/quote]
Yes! Green light in pos.1 is constantly blinked and I can move in the main ES menu with my controller.
When I go in any emulator and I runa game, bottom yellow script advice me to check Xbox control on port #1, #2, #3, #0 without result.01/19/2016 at 18:26 #114410labelwhoreParticipantThat means xboxdrv isn’t running. See what happens after running through setup option 1. You may simply need to add that additional line to kill xpad in rc.local.
Alternatively, you can add xpad to the blacklist, which will also keep it from running (and taking over your controller). To do that, add the following line to /etc/modprobe.d/blacklist.conf:
blacklist xpad
EDIT: wait, pos 1 blinking? that’s really odd. These should be the only options according to the xboxdrv manual.
Num Behavior
0 off
1 all blinking
2 1/top-left blink, then on
3 2/top-right blink, then on
4 3/bottom-left blink, then on
5 4/bottom-right blink, then on
6 1/top-left on
7 2/top-right on
8 3/bottom-left on
9 4/bottom-right on
10 rotate
11 blink
12 blink slower
13 rotate with two lights
14 blink
15 blink once01/19/2016 at 20:34 #114431labelwhoreParticipantjust as aside, here what the xboxdrv line in rc.local look like for me:
"/opt/retropie/supplementary/xboxdrv/bin/xboxdrv" --daemon --detach --wid 0 --led 2 --deadzone 4000 --silent --trigger-as-button --next-controller --wid 1 --led 3 --deadzone 4000 --silent --trigger-as-button --dbus disabled --detach-kernel-driver
(actually, mine is slightly different, but the extra crap I’m using isn’t important here.)
01/19/2016 at 21:27 #114432davidemolParticipantHi Labelwhore
I tried to run again xboxdrv installation and edit rc.local. Now the complete file is:#!/bin/sh -e _IP=$(hostname -I) || true if [ "$_IP" ]; then printf "My IP address is %s\n" "$_IP" fi sudo chmod +x /dev/uinput "/opt/retropie/supplementary/xboxdrv/bin/xboxdrv" --trigger-as-button --wid 0 -$ xboxdrv --trigger-as-button --wid 0 --led 2 --deadzone 4000 --silent & sleep 1 xboxdrv --trigger-as-button --wid 1 --led 3 --deadzone 4000 --silent & sleep 1 xboxdrv --trigger-as-button --wid 2 --led 4 --deadzone 4000 --silent & sleep 1 xboxdrv --trigger-as-button --wid 3 --led 5 --deadzone 4000 --silent &
.. but nothing is changed… :(
Note: the Github guide said to “put this just before exit 0” bit I can’t see “exit 0” in my rc.local file….
One more thing…
I wrong indication in my previous post:
the controller green light never blink!
I can use my Xbox controller in the main ES menu and I can configure it (fix green light), but it stop to work when I open a game with any emulator.
I can see some error message during game charging but I can’t stop listing before game start. The game starting process is too fast to see well what said…
How can I stop or capture this message to shown you?01/19/2016 at 21:45 #114436labelwhoreParticipantFirstly, exit 0 should be the very last line in rc.local, if it’s missing, add it.
The next thing I see that’s wrong is that you need either this:
"/opt/retropie/supplementary/xboxdrv/bin/xboxdrv" --daemon --detach --wid 0 --led 2 --deadzone 4000 --silent --trigger-as-button --next-controller --wid 1 --led 3 --deadzone 4000 --silent --trigger-as-button --dbus disabled --detach-kernel-driver
or this (not both):
xboxdrv --trigger-as-button --wid 0 --led 2 --deadzone 4000 --silent & sleep 1 xboxdrv --trigger-as-button --wid 1 --led 3 --deadzone 4000 --silent & sleep 1 xboxdrv --trigger-as-button --wid 2 --led 4 --deadzone 4000 --silent & sleep 1 xboxdrv --trigger-as-button --wid 3 --led 5 --deadzone 4000 --silent &
You may also need to add a line that says
rmmod xpad
before either of those lines.However, something else also strikes me as wrong. You say the lights on the controller never light up? not even once? If that’s true, we may be chasing our tails here. maybe it’s not a code issue at all, but a power issue. if you have a power supply that’s not up to par, the pi will act in all kinds of strange ways. this could be one of them.
How many amps is your power supply? it should be at least 2 amps. Test it with a multimeter if you have one. These micro USB power suppplies are typically really cheap, (crappy, made in china) and may say 2 amps, but actually be outputting 1.5.
01/19/2016 at 21:53 #114437davidemolParticipant[quote=114436]However, something else also strikes me as wrong. You say the lights on the controller never light up? not even once?[/quote]
No,
I said that light never blink, but only still light. Than green light still also on after game start but controller don’t work.
I exclude power problem of controller becouse I can use well in ES.Can you post complete content of rc.local file so I can re-write completely as well?
Thanks.01/19/2016 at 21:59 #114438labelwhoreParticipantI have a lot more things in mine that won’t be relevant to you, such as a mount command for a usb hard drive, but here’s what it should look like. This is what mine would look like with all the extra crap taken out.:
#!/bin/sh -e _IP=$(hostname -I) || true if [ "$_IP" ]; then printf "My IP address is %s\n" "$_IP" fi sudo chmod +x /dev/uinput "/opt/retropie/supplementary/xboxdrv/bin/xboxdrv" --daemon --detach --wid 0 --led 2 --deadzone 4000 --silent --trigger-as-button --next-controller --wid 1 --led 3 --deadzone 4000 --silent --trigger-as-button --dbus disabled --detach-kernel-driver exit 0
Just FYI, based on the controller light alone, I don’t think we can rule out a power issue.
-
AuthorPosts
- The forum ‘Controller Configuration in RetroPie’ is closed to new topics and replies.