Ubuntu 16.04 Install - Genuine PS3 Controller Issue
-
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>
-
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).
-
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).
-
@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.
-
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
-
-
@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.
-
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>
-
i have the same issue with a gasia ps3 clone!
-
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.
-
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, -
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, -
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.
-
was this issue ever officially fixed? Still having the same issue here.
-
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?
-
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?
-
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.
-
@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.
-
If you still don't have any luck - put the following contents in a file eg
ps3.sh
and execute it withbash 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
-
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.
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.