Ubuntu 16.04 Install - Genuine PS3 Controller Issue
-
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.
-
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.
-
I find decision how to fix all bugs via sixaxis in Ubuntu\mint 16\18.
instruction is simple.1.Pare you controller and map it random, go to main menu emu\retropi close it.
2.Then go to home directory find (hide) folder .emulationstation, then es_input.cfg open and edit it, past this code:<?xml version="1.0"?>
<inputList>
<inputConfig type="joystick" deviceName="PLAYSTATION(R)3 Controller" deviceGUID="050000004c0500006802000000010000">
<input name="a" type="button" id="15" 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="pagedown" type="axis" id="11" value="-1" />
<input name="pageup" type="button" id="10" value="1" />
<input name="right" type="button" id="5" 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" />
</inputConfig>
</inputList>3.Save it, open retropie ... profit
Decision to make controller work in game i write in previews post
@Tualatin said in Ubuntu 16.04 Install - Genuine PS3 Controller Issue:
you need config controller in retroarch menu >input
How out of game in ES i dont know, script config dont work to activate it, works only keyboards esc
-
Hello!
Im still having these ps3 controller issue :/
Any quickfix for this problem?
Thanks!
-
Hi there,
I was able to fix the issue in Ubuntu 16.04 (guess that it may work in 16.10 too)
I confirm that the issue is the SDL2 bug and that the fix provided in gtihub works: https://github.com/RetroPie/SDL-mirror/commit/57fc057a74168974d7db52e6c8ae4bee9b764930
However it needs to be applied manually and build SDL2 yourself. So here are the steps I followed:
- Download SDL source code: https://www.libsdl.org/release/SDL2-2.0.5.tar.gz , 2.0.5 works fine. 2.0.4 source has lot of bugs that cause errors while trying to build it.
- Apply the patch detailed here to the code: https://github.com/RetroPie/SDL-mirror/commit/57fc057a74168974d7db52e6c8ae4bee9b764930
- Remove the already installed SDL2 library from Ubuntu so it doesn't confuse EmulationStation on which to use from synaptic software or by: sudo apt-get remove --purge libsdl2
- build and install sdl2 from source as detailed in this page: https://wiki.libsdl.org/Installation
- Remove any already existing controller configuration from EmulationStation and from RetroArch. Don't remember the path from the top of y head but both are within the /opt/retropie/config/all folder (look for controller configs for EmulationStation and RetroArch) in any of the within folders.
- Once this is done, you can check it is correctly working by running EmulationStation. Please notice that you don't need to actually reinstall it as SDL2 is a dynamic lib which will be picked accordingly.
- I'm not sure but I guess that if you reinstall Retropie or upgrade it, it will detect that SDL2 2.0.4 is not available and try to install it which will cause the issue again... if this is the case I think that you just need to remove it again as detailed in step 3.
- From EmulationStation you can now config the PS3 controller accordingly. If by chance you don't get it to work ingame, reconfig the controller again from Retropie ( I had to make it twice, when the controller got detected and another time later) to make it work.
Hope this helps some others... looks like a long and complex process but it just means to replace SDL2 manually applying the fix. All other steps are merely Retropie configuration that has to be done anyway.
-
@netux Thanks for testing / confirming. I will look into including this by default.
-
I have updated retropie-setup to use a custom sdl2 for X11 targets now, which should hopefully solve this issue without having to manually build a SDL. Feedback welcome.
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.