Please do not post a support request without first reading and following the advice in

Gamepad Config - Buttons not recognized - Pi Zero

  • Hello there,

    I was trying to set up a Retropie system as my vacation project and ran into the following issue.

    When I start the system after the installation of retropie it asks me to configure my gamepad.

    It detected all gamepads I plugged in.
    I can hold down a button to start the configuration process.
    But when I try to configure the buttons no button presses are recognized.

    My system:
    Pi Model or other hardware: (B, B+, 2 B, 3, X86 PC etc..)
    Raspberry Pi Zero W
    Power Supply used: (If using a Pi)
    OTB-R07-0525 // 5V / 2.5A
    RetroPie Version Used (eg 3.6, 3.8.1, 4.1 - do not write latest):
    Built From: (Pre made SD Image on RetroPie website, Berryboot, or on top of existing OS etc.. - please provide the filename of any image used)
    Downloaded from Retropie-Website on 30.07.2020
    Used balenaEtcher to write the image on a Sandisk 64GB Micro SD-Card (FAT32)
    USB Devices connected:
    Amazon Basics USB 2.0 4-Port Ultra Mini Hub via Micro-USB-Adapter
    Generic ASUS Keyboard
    Controller used:
    iNNEXT USB SNES Controller
    PS4-Controller via USB-Cable
    an old speedlink USB-Controller
    Error messages received:
    Guide used: (Mention if you followed a guide)

    What I tried already:

    • Switched the Power Supply to an Samsung Tablet Power Supply (5V / 2.0A)
      --> nothing changed
    • Switched the SD-Card (first I tried a Sandisk 64GB MicroSD-Card which I formated to FAT32 using Mini Tool Partition Wizard Free; then I tried an older Sandisk 16 GB)
      --> nothing changed
    • Switched the USB-Hub to a TUSITA 3-Port Charging OTG Host Cable Cord Adapter (Modelno. KR-AP-1 )
      --> nothing changed
    • I ran "jstest"
      --> the input of all controllers was recognized
    • I did a new installation using Raspberry Pi Imager
      --> nothing changed

    I tried everything I could think of.

    I really hope someone can help me with my problem.

    Thank you in advance!

  • Global Moderator

    If jstest works for a controller, it should be recognized and configured by EmulationStation also.
    Exit EmulationStation (F4) and then run emulationstation --debug from the command line, then try to configure the gamepad. Post the resulting log file (from $HOME/.emulationstation/es_log.txt) to

  • @mitu
    Thank you for your response :-)

    I tried out what you asked.

    1. I used the debug-command emulationstation --debug
      Which resulted in a reboot of emulationstation
    2. I pressed F4 to reenter the command line and used $HOME/.emulationstation/es_log.txt
      and I got this response:
      -bash: /home/pi/.emulationstation/es_log.txt: Permission denied

    Could the missing permission be part of the issue?

  • Global Moderator

    @christalclear said in Gamepad Config - Buttons not recognized - Pi Zero:

    Could the missing permission be part of the issue?

    No, it's not a permissions issue - you're trying to execute a text file, which is not executable.

    You need to open the file with a text editor to see its contents. The same file is accessible via file shares at \\retropie\configs\all\emulationstation. Open it with a text editor and post the contents on, then provide the link you get from the site here.

  • I didnt know how to access it via file shares.

    Therefore I had to view it via nano and use a picture-to-text-tool to convert it into text form.

    I hope it will suffice.

  • Global Moderator

    Did you try to configure the gamepad in EmulationStation, after starting it with --debug ? I see the gamepad is detected:

    	Feb 13 16:23:16 lulZ:	Added unconfigured joystick USD Gamepad (G111D: 03000000790000001100000010010000, instance ID: O dtuice ihdtx: 0)

  • I dont think that I did

  • I tried again.

    This time it even recognized the first button.

    But then there was no more response.

    I couldnt even enter command line with F4.

  • Global Moderator

    My guess is that the USB hub disconnects during configuration. If you have Wi-Fi enabled, can you also enable SSH and try connecting to the system before you do the configuration, then run dmesg -w and look to see if any error messages appear on the screen during the configuration ?

  • So I enabled WIFI and SSH and successfully connected with the Pi using WinSCP.

    It needed to reboot three time because my keyboard was not recognized again.

    I ran dmesg -w but there were no obvious error messages.

  • Global Moderator

    Can you run dmesg > $HOME/RetroPie/roms/dmesg.txt after booting and then browse to \\retropie\roms\ and post the dmesg.txt file's contents on ?

  • I did what you asked.

  • Global Moderator

    Looking at the system log you posted, I don't see any errors. The hub is detected and so is the keyboard and the gamepad. There are no error or disconnects like I imagined.

  • Gotta be honest... I dont know what to do next...

    Could it be an issue with the Raspberry Pi Zero itself?

  • Global Moderator

    I don't think the Pi is faulty.
    You could manually create the input configuration - based on the values reported by jstest - and adding it to \\retropie\configs\all\emulationstation\es_input.cfg.

    Can you add the following lines to the file, before the last line with </inputList>:

    <inputConfig type="joystick" deviceName="Sony Interactive Entertainment Wireless Controller" deviceGUID="030000004c050000cc09000011810000"
        <input name="rightanalogup" type="axis" id="4" value="-1"/>
        <input name="rightanalogdown" type="axis" id="4" value="1"/>
        <input name="rightanalogright" type="axis" id="3" value="1"/>
        <input name="rightanalogleft" type="axis" id="3" value="-1"/>
        <input name="pageup" type="button" id="4" value="1"/>
        <input name="pagedown" type="button" id="5" value="1"/>
        <input name="up" type="hat" id="0" value="1"/>
        <input name="left" type="hat" id="0" value="8"/>
        <input name="down" type="hat" id="0" value="4"/>
        <input name="right" type="hat" id="0" value="2"/>
        <input name="select" type="button" id="8" value="1"/>
        <input name="start" type="button" id="9" value="1"/>
        <input name="y" type="button" id="3" value="1"/>
        <input name="x" type="button" id="2" value="1"/>
        <input name="b" type="button" id="0" value="1"/>
        <input name="a" type="button" id="1" value="1"/>
        <input name="leftanalogdown" type="axis" id="1" value="1"/>
        <input name="leftanalogup" type="axis" id="1" value="-1"/>
        <input name="leftanalogright" type="axis" id="0" value="1"/>
        <input name="leftanalogleft" type="axis" id="0" value="-1"/>

    This should configure a PS4 Dualshock controller - see if, after adding these lines and restarting EmulationStation, your PS4 controller is recognized and functioning.

  • I used WinSCP to SSH into the Pi.

    I could not find the directory that you suggested.

    Did I do something wrong?

  • Global Moderator

    The \\retropie\configs\all\emulationstation path is for using File Shares to access the Pi.
    If you're using SSH/SCP, then the same folder can be accessed at $HOME/.emulationstation or at /opt/retropie/configs/all/emulationstation.

  • I added the lines.

    The es_input.cfg file looks now like this.

    But the PS4-Controller is still not recognized after rebooting.

  • Global Moderator

    The file looks right, but I still can't pinpoint why this doesn't work.
    Can you run again emulationstation --debug and then post the log (now with the new configuration file) ?

  • Here is the new es_log.txt

    After running emulationstation --debug I tried to configure the PS4-Controller.

    It recognized the first button press but after that I got a error message.

    I recieved that message a couple of times now.

    I already checked the gpu_split which seemed to be ok.
    It was set to the same values as in the documentation.



  • Global Moderator

    I don't think the gpu_mem is at fault, the RetroPie image already has this configuration.
    The log file shows ES shutting down cleanly - are you sure it's the one from the crash ?

    Try updating your RetroPie packages - - if you haven't done so.

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.