RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Ubuntu 16.04 Install - Genuine PS3 Controller Issue

    Scheduled Pinned Locked Moved Help and Support
    30 Posts 10 Posters 19.9k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • johnodonJ
      johnodon
      last edited by johnodon

      Weirdness. I F4'd ES and went back in and it wanted me to configure the controller again naturally since I didn't save my last config. This time it let me get all the way through the config, however, some buttons would come back as NOT DEFINED after I pushed the appropriate button, or, I would actually get ALREADY TAKEN when I know it wasn't (like right analog stick right). This is what my resulting es_input.cfg looked like:

      <?xml version="1.0"?>
      <inputList>
        <inputAction type="onfinish">
          <command>/opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh</command>
        </inputAction>
        <inputConfig type="joystick" deviceName="Sony PLAYSTATION(R)3 Controller">
          <input name="pageup" type="button" id="10" value="1"/>
          <input name="start" type="button" id="3" value="1"/>
          <input name="up" type="button" id="4" value="1"/>
          <input name="a" type="button" id="14" value="1"/>
          <input name="down" type="button" id="6" value="1"/>
          <input name="right" type="button" id="5" value="1"/>
          <input name="select" type="button" id="0" value="1"/>
          <input name="left" type="button" id="7" value="1"/>
        </inputConfig>
      </inputList>
      1 Reply Last reply Reply Quote 0
      • johnodonJ
        johnodon
        last edited by johnodon

        I'm going to find another machine to test on. Maybe 16.04 doesn't like the hardware (i.e USB controller on the T420).

        1 Reply Last reply Reply Quote 0
        • BuZzB
          BuZz administrators
          last edited by BuZz

          Have you tried it via bluetooth to see if it behaves better ? It must be due to some kernel changes (or some incompatibility with sdl2). I had some problems configuring some buttons also, I wonder if it's related to the accelerometer that acts as 3 inputs or the SDL2 update (which had some problems on the rpi which we had to patch).

          To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

          johnodonJ 1 Reply Last reply Reply Quote 0
          • johnodonJ
            johnodon @BuZz
            last edited by johnodon

            @BuZz I really didn't even bother to try since I never got a physical connection to work properly. I give that a shot later. I'm also going to give Mint 18 a whirl.

            Right now I am reverting back to a stock 14.04.4 just to doublecheck that everything does indeed work as it did the first time.

            1 Reply Last reply Reply Quote 0
            • BuZzB
              BuZz administrators
              last edited by

              I was able to configure it in ES. I had to configure it on a flat surface to stop the accelerometer interfering. Try this

              edit ~/.emulationtation/es_temporaryinput.cfg with

              <?xml version="1.0"?>
              <inputList>
              	<inputConfig type="joystick" deviceName="Sony PLAYSTATION(R)3 Controller" deviceGUID="030000004c0500006802000011010000">
              		<input name="a" type="button" id="13" value="1" />
              		<input name="b" type="button" id="14" value="1" />
              		<input name="down" type="button" id="6" value="1" />
              		<input name="left" type="button" id="7" value="1" />
              		<input name="leftanalogdown" type="axis" id="1" value="1" />
              		<input name="leftanalogleft" type="axis" id="0" value="-1" />
              		<input name="leftanalogright" type="axis" id="0" value="1" />
              		<input name="leftanalogup" type="axis" id="1" value="-1" />
              		<input name="leftshoulder" type="button" id="10" value="1" />
              		<input name="leftthumb" type="button" id="1" value="1" />
              		<input name="lefttrigger" type="button" id="8" value="1" />
              		<input name="right" type="button" id="5" value="1" />
              		<input name="rightanalogdown" type="axis" id="3" value="1" />
              		<input name="rightanalogleft" type="axis" id="2" value="-1" />
              		<input name="rightanalogright" type="axis" id="2" value="1" />
              		<input name="rightanalogup" type="axis" id="3" value="-1" />
              		<input name="rightshoulder" type="button" id="11" value="1" />
              		<input name="rightthumb" type="button" id="2" value="1" />
              		<input name="righttrigger" type="button" id="9" value="1" />
              		<input name="select" type="button" id="0" value="1" />
              		<input name="start" type="button" id="3" value="1" />
              		<input name="up" type="button" id="4" value="1" />
              		<input name="x" type="button" id="12" value="1" />
              		<input name="y" type="button" id="15" value="1" />
              	</inputConfig>
              </inputList>
              

              then run /opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh

              To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

              johnodonJ 2 Replies Last reply Reply Quote 0
              • johnodonJ
                johnodon @BuZz
                last edited by

                @BuZz Ahhhh! That makes sense. Time to put 16.04 back on. :)

                I'll report back in a bit.

                John

                1 Reply Last reply Reply Quote 0
                • johnodonJ
                  johnodon @BuZz
                  last edited by

                  @BuZz said in Ubuntu 16.04 Install - Genuine PS3 Controller Issue:

                  I was able to configure it in ES. I had to configure it on a flat surface to stop the accelerometer interfering. Try this

                  edit ~/.emulationtation/es_temporaryinput.cfg with

                  <?xml version="1.0"?>
                  <inputList>
                  	<inputConfig type="joystick" deviceName="Sony PLAYSTATION(R)3 Controller" deviceGUID="030000004c0500006802000011010000">
                  		<input name="a" type="button" id="13" value="1" />
                  		<input name="b" type="button" id="14" value="1" />
                  		<input name="down" type="button" id="6" value="1" />
                  		<input name="left" type="button" id="7" value="1" />
                  		<input name="leftanalogdown" type="axis" id="1" value="1" />
                  		<input name="leftanalogleft" type="axis" id="0" value="-1" />
                  		<input name="leftanalogright" type="axis" id="0" value="1" />
                  		<input name="leftanalogup" type="axis" id="1" value="-1" />
                  		<input name="leftshoulder" type="button" id="10" value="1" />
                  		<input name="leftthumb" type="button" id="1" value="1" />
                  		<input name="lefttrigger" type="button" id="8" value="1" />
                  		<input name="right" type="button" id="5" value="1" />
                  		<input name="rightanalogdown" type="axis" id="3" value="1" />
                  		<input name="rightanalogleft" type="axis" id="2" value="-1" />
                  		<input name="rightanalogright" type="axis" id="2" value="1" />
                  		<input name="rightanalogup" type="axis" id="3" value="-1" />
                  		<input name="rightshoulder" type="button" id="11" value="1" />
                  		<input name="rightthumb" type="button" id="2" value="1" />
                  		<input name="righttrigger" type="button" id="9" value="1" />
                  		<input name="select" type="button" id="0" value="1" />
                  		<input name="start" type="button" id="3" value="1" />
                  		<input name="up" type="button" id="4" value="1" />
                  		<input name="x" type="button" id="12" value="1" />
                  		<input name="y" type="button" id="15" value="1" />
                  	</inputConfig>
                  </inputList>
                  

                  then run /opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh

                  Thank for providing this. It worked a treat for the wired connection. FYI...since you asked, BT shows the same exact behavior.

                  However, I think I am just going to stick with 14.04.

                  1 Reply Last reply Reply Quote 1
                  • johnodonJ
                    johnodon
                    last edited by

                    OK...couldn't help but play some more to see if I could get the PS3 controller to behave with 16.04. I did a dist-upgrade hoping that maybe a newer kernel would help...nope.

                    I then thought to myself...

                    I only ever really tested the controller in ES. So, I fired up Retroarch from the menu item under Retropie and to my surprise, I was able to completely configure controls without a single issue. What is stranger (at least to me), this seems to have set all of the input controls correctly for ES. Is this by design? Does ES gleem it's controls from RA if it done there? I have no other explanation as I have NEVER been able to completely make it through an input config for ES (other than using the KB).

                    I'm going to burn it all down and start over. This time I won't even attempt an ES input config for the controller...KB only. I'll then going into RA and config input for player 1 and see if that has any impact on the ES controller input config.

                    Here is how my es_input.cfg looks now...

                    <?xml version="1.0"?>
                    <inputList>
                      <inputAction type="onfinish">
                        <command>/opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh</command>
                      </inputAction>
                      <inputConfig type="keyboard" deviceName="Keyboard">
                        <input name="pageup" type="key" id="1073741899" value="1"/>
                        <input name="start" type="key" id="13" value="1"/>
                        <input name="up" type="key" id="1073741906" value="1"/>
                        <input name="a" type="key" id="97" value="1"/>
                        <input name="b" type="key" id="98" value="1"/>
                        <input name="down" type="key" id="1073741905" value="1"/>
                        <input name="pagedown" type="key" id="1073741902" value="1"/>
                        <input name="right" type="key" id="1073741903" value="1"/>
                        <input name="select" type="key" id="9" value="1"/>
                        <input name="left" type="key" id="1073741904" value="1"/>
                      </inputConfig>
                      <inputConfig type="joystick" deviceName="PLAYSTATION(R)3 Controller">
                        <input name="start" type="button" id="3" value="1"/>
                        <input name="up" type="button" id="4" value="1"/>
                        <input name="a" type="button" id="14" value="1"/>
                        <input name="b" type="button" id="13" value="1"/>
                        <input name="down" type="button" id="6" value="1"/>
                        <input name="pagedown" type="button" id="12" value="1"/>
                        <input name="right" type="button" id="5" value="1"/>
                        <input name="select" type="button" id="0" value="1"/>
                        <input name="left" type="button" id="7" value="1"/>
                      </inputConfig>
                    </inputList>
                    1 Reply Last reply Reply Quote 0
                    • C
                      CoolCat
                      last edited by

                      i have the same issue with a gasia ps3 clone!

                      1 Reply Last reply Reply Quote 0
                      • gizmo98G
                        gizmo98 Global Moderator
                        last edited by

                        It is a sdl2.0.4 bug which we patched for raspbian https://github.com/RetroPie/SDL-mirror/commit/57fc057a74168974d7db52e6c8ae4bee9b764930

                        There is no SDL 2.0.4 patch for ubuntu.

                        1 Reply Last reply Reply Quote 0
                        • C
                          CoolCat
                          last edited by

                          Hi,
                          thanks.
                          i got the sdl source and did the change, but i dont know how to change the retropie script to build emulstation using the "patched" install (it download the regular packages)
                          regards,

                          1 Reply Last reply Reply Quote 0
                          • C
                            CoolCat
                            last edited by

                            Hi,
                            i could "fix" it coping a good es_input.cfg file (from my pi setup), but it works only for emulstation.
                            is there a way i can do the trick for retroarch?
                            best regrds,

                            1 Reply Last reply Reply Quote 0
                            • I
                              irisheffnmonstr
                              last edited by

                              Hello all,

                              I am doing this off of memory, sorry if the directions are a little vague. I will update as soon as I can.

                              If you go to the Retropie_setup then Manage Packages and look for the bluetooth driver (I think it is under optional packages). Install the ps3 package if you have not already done so.

                              Then start RetroPie and navigate to the "Retropie System" with your keyboard.

                              In there you will see a Bluetooth option. Click that and navigate to connect PS3 controller.

                              Make sure that it is connected (you will see it on your screen as Ubuntu will recognize it), still try to connect it and it will tell you to enter "000" to confirm. Obviously you cannot do that, so just exit out at that point.

                              Restart RetoPie and your PS3 Dualshock controller should show when you press the "A" button as usual, but when asked to enter the correct buttons you should have no problem entering them.

                              Again, I will update with a more detailed process when I am able.

                              Thanks.

                              1 Reply Last reply Reply Quote 0
                              • S
                                seven4ka
                                last edited by

                                was this issue ever officially fixed? Still having the same issue here.

                                1 Reply Last reply Reply Quote 0
                                • D
                                  Denus
                                  last edited by

                                  I also have this issue in Ubuntu 16.04.
                                  The (genuine) PS3 gamepad can be found in Ubuntu & ES, but I can't map the buttons which are all messed up or not working at all.
                                  During the ES input configuration, via USB or Bt, the buttons, D-pad or analog joysticks are not reacting.
                                  When I plug in my cheap BigBen USB PS3 clone, all the issues are gone and the gamepad is working like it should.

                                  Is there a Linux distro without this annoying issue?

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    Denus
                                    last edited by

                                    Oh well... don't ask me why or how, but I installed the xbox drivers then uninstalled them after a reboot.
                                    Re-installed the PS3 drivers after that and put on the gamepad.
                                    The pad was immediately connected via Bt, but like always, only the D-pad UP was working.
                                    I went to the input config page, without any hope, but this time, the pad was responding just like it should, and the gamepad is now operational.

                                    I was battling during a few evenings to get it working, it's quite frustrating to not know how it has been fixed at the end, although I'm glad it is of course.

                                    Why so much mystery around the PS3 gamepad?

                                    1 Reply Last reply Reply Quote 0
                                    • D
                                      Denus
                                      last edited by

                                      Update: the PS3 pad stopped working correctly for some dark reasons.
                                      I've tried Mint, Mate, 16.10 but the issue remains with this bloody gamepad.
                                      I passed several days testing every code or method I could find on the internet but in vain.

                                      So I plugged my wireless XBOX Controller on my NUC and surprise surprise: working like a charm.

                                      My guess is: as long as the SDL 2.0.4 has not been patched, forget about the PS3 controller.

                                      BuZzB 1 Reply Last reply Reply Quote 0
                                      • BuZzB
                                        BuZz administrators @Denus
                                        last edited by BuZz

                                        @Denus I have just tried here on 16.10 and I was able to configure my PS3 controller fine. When in the input configuration and you need to "hold a button to configure" make sure you hold the "Playstation" button. As otherwise it doesn't seem to be possible to reliably configure the other buttons unless this is used. Some weird SDL quirk I guess - not sure if the patch we use on RPI fixes this as it's possible it's a different input mechanism under the desktop.

                                        and make sure you configure it on a table or so, as I think the accelerometer inputs may be an issue.

                                        To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                                        1 Reply Last reply Reply Quote 0
                                        • BuZzB
                                          BuZz administrators
                                          last edited by BuZz

                                          If you still don't have any luck - put the following contents in a file eg ps3.sh and execute it with bash ps3.sh

                                          cat >~/.emulationstation/es_temporaryinput.cfg <<\_EOF_
                                          <?xml version="1.0"?>
                                          <inputList>
                                          	<inputConfig type="joystick" deviceName="Sony PLAYSTATION(R)3 Controller">
                                          		<input name="a" type="button" id="13" value="1" />
                                          		<input name="b" type="button" id="14" value="1" />
                                          		<input name="down" type="button" id="6" value="1" />
                                          		<input name="left" type="button" id="7" value="1" />
                                          		<input name="leftanalogdown" type="axis" id="1" value="1" />
                                          		<input name="leftanalogleft" type="axis" id="0" value="-1" />
                                          		<input name="leftanalogright" type="axis" id="0" value="1" />
                                          		<input name="leftanalogup" type="axis" id="1" value="-1" />
                                          		<input name="leftshoulder" type="button" id="10" value="1" />
                                          		<input name="leftthumb" type="button" id="1" value="1" />
                                          		<input name="lefttrigger" type="button" id="8" value="1" />
                                          		<input name="right" type="button" id="5" value="1" />
                                          		<input name="rightanalogdown" type="axis" id="3" value="1" />
                                          		<input name="rightanalogleft" type="axis" id="2" value="-1" />
                                          		<input name="rightanalogright" type="axis" id="2" value="1" />
                                          		<input name="rightanalogup" type="axis" id="3" value="-1" />
                                          		<input name="rightshoulder" type="button" id="11" value="1" />
                                          		<input name="rightthumb" type="button" id="2" value="1" />
                                          		<input name="righttrigger" type="button" id="9" value="1" />
                                          		<input name="select" type="button" id="0" value="1" />
                                          		<input name="start" type="button" id="3" value="1" />
                                          		<input name="up" type="button" id="4" value="1" />
                                          		<input name="x" type="button" id="12" value="1" />
                                          		<input name="y" type="button" id="15" value="1" />
                                          	</inputConfig>
                                          </inputList>
                                          _EOF_
                                          /opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh
                                          

                                          To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                                          TualatinT 1 Reply Last reply Reply Quote 0
                                          • TualatinT
                                            Tualatin @BuZz
                                            last edited by

                                            I tried all two way by @BuZz but it it doesn't work. At first it map normal, but then i map a B button it not responding, and in game gamepad dont work, work keyboard.

                                            TualatinT 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            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.