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

      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
                                          • TualatinT
                                            Tualatin @Tualatin
                                            last edited by

                                            I discovered and fix problem with no working gamepad in game, you need config controller in retroarch menu >input, but how to fix menu sixaxis control in emu\retropie still mystery.

                                            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.