Homepage Forums RetroPie Project Controller Configuration in RetroPie xbox 360 wireless controller works in UI but not in any emulator

Viewing 35 posts - 1 through 35 (of 55 total)
  • Author
    Posts
  • #114123
    catrinisin
    Participant

    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.

    #114128
    herbfargus
    Member

    See this

    #114149
    catrinisin
    Participant

    Thanks 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?

    #114153
    herbfargus
    Member
    #114166
    catrinisin
    Participant

    Yes 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 :(

    #114168
    jfpesant
    Participant

    This did it for me !

    #114178
    herbfargus
    Member

    I’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.

    #114180
    catrinisin
    Participant

    okay thanks for replying. I’ll see if I can just start over again and hopefully get it working. Maybe I missed a step somewhere.

    #114189
    johnhansen
    Participant

    I 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…

    #114191
    herbfargus
    Member

    Works 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.

    #114192
    catrinisin
    Participant

    Okay 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!!

    #114195
    johnhansen
    Participant

    What is best way to install, Xbox userspace driver will it then work with all emulators?

    #114199
    catrinisin
    Participant

    With 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.

    #114204
    johnhansen
    Participant

    I did that already!
    It is enabled there.
    and it works in the menu
    so what more must i do?!

    #114212
    catrinisin
    Participant

    Okay, so i had this same problem.

    Watch this video carefully and do the steps in the green looking menu. (Retroarch config)

    https://youtu.be/AhkEnDdygbQ

    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.

    #114326
    davidemol
    Participant

    Hi 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!

    #114382
    catrinisin
    Participant

    Hey 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
    Chris

    #114390
    davidemol
    Participant

    Hi 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??
    David

    #114394
    labelwhore
    Participant

    I’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.)

    #114395
    davidemol
    Participant

    I’m using a original Microsoft Xbox 360 controller for PC USB wired with wireless receiver.

    #114397
    labelwhore
    Participant

    When 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

    #114398
    davidemol
    Participant

    I 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?

    #114399
    labelwhore
    Participant

    no, 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.

    #114400
    catrinisin
    Participant

    Yes 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.

    #114402
    labelwhore
    Participant

    Not 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?

    #114404
    davidemol
    Participant

    @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?

    #114406
    labelwhore
    Participant

    That 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.

    #114407
    labelwhore
    Participant

    In 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.

    #114408
    davidemol
    Participant

    [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.

    #114410
    labelwhore
    Participant

    That 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 once

    #114431
    labelwhore
    Participant

    just 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.)

    #114432
    davidemol
    Participant

    Hi 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?

    #114436
    labelwhore
    Participant

    Firstly, 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.

    #114437
    davidemol
    Participant

    [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.

    #114438
    labelwhore
    Participant

    I 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.

Viewing 35 posts - 1 through 35 (of 55 total)
  • The forum ‘Controller Configuration in RetroPie’ is closed to new topics and replies.