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

Control pad won't work in emulators



  • Pi Model or other hardware: ELEMENT Element14 Raspberry Pi 3 B+ Motherboard
    Power Supply used: CanaKit 5V 2.5A Raspberry Pi 3 B+ Power Supply / Adapter (UL Listed)
    RetroPie Version Used (eg 3.6, 3.8.1, 4.1 - do not write latest): 4.4
    Built From: retropie-4.4-rpi2_rpi3.img
    USB Devices connected: Logitech K120 keyboard
    Controller used: Buffalo iBuffalo Classic USB Gamepad for PC
    Error messages received: None

    Basically RetroPie isn't respecting my choice of controller whether I have a keyboard attached or not when I launch emulators. I've used the SNES and GBA emulator and they both refuse to let me attach anything other than the keyboard. I can select RetroPad as the option, but that doesn't seem to do anything.

    I've looked at several guides and they're mostly from several years ago and reference menu items I can't find and the manual configurations are extremely confusing to me as they're mostly for more complicated controllers.

    Clearly I'm missing something here as this shouldn't be hard to do.


  • Global Moderator

    Can you start a ROM with verbose logging enabled from the Runcommand menu and then post the output of /dev/shm/runcommand.log ?



  • Thanks,
    This log kind of confuses me that it seemingly can't find the profile for my controller. Am I wrong in thinking that it should be automatically finding the profile that gets set up every time I reboot my system?

    <script src="https://pastebin.com/embed_js/wrnRzHqx"></script>
    I think this is the relevant bit:
    [INFO] Controller port: 1
    [INFO] SNES Joypad (ID: 1)
    [INFO] SNES Mouse (ID: 2)
    [INFO] RetroPad (ID: 1)
    [INFO] Controller port: 2
    [INFO] SNES Joypad (ID: 1)
    [INFO] SNES Mouse (ID: 2)
    [INFO] Multitap (ID: 257)
    [INFO] SuperScope (ID: 260)
    [INFO] Justifier (ID: 516)
    [INFO] Justifiers (ID: 772)
    [INFO] RetroPad (ID: 1)
    [INFO] Remaps: remap directory: /opt/retropie/configs/snes/
    [INFO] Remaps: no game-specific remap found at /opt/retropie/configs/snes/Snes9x 2010/SuperMarioAllStars55A3.rmp.
    [INFO] Remaps: no core-specific remap found at /opt/retropie/configs/snes/Snes9x 2010/Snes9x 2010.rmp.

    SNIP

    [INFO] [udev]: Keyboard #0 (/dev/input/event0).
    [INFO] [udev]: Plugged pad: Padix Co. Ltd. USB,2-axis 8-button gamepad (1411:8288) on port #0.
    [INFO] [udev]: Pad #0 (/dev/input/event2) supports 0 force feedback effects.
    [INFO] [Autoconf]: 0 profiles found.
    [INFO] [Autoconf]: no profiles found for Padix Co. Ltd. USB,2-axis 8-button gamepad (1411/8288).
    [INFO] [Joypad]: Found joypad driver: "udev".
    [WARN] [udev]: Full-screen pointer won't be available.


  • Global Moderator

    @hank987 Did you enable - at any point - the "Save configuration on Exit" option in RetroArch while playing a NES ROM ? How large is the /opt/retropie/configs/nes/retroarch.cfg file ?



  • @mitu Thanks. I assume you mean SNES, I don't have any NES roms right now. The size is 222, I assume blocks. I don't think I've set save configuration on Exit, but perhaps that's why the controller goes away after I exit an emulator.


  • Global Moderator

    @hank987 OK, that's not it. After you configure your gamepad in ES, there should be a .cfg file present in /opt/retropie/configs/all/retroarch/autoconfig with the controller's name. This is where RetroArch should find the 'profile' that it's reported in the log as not found. Can you check to see if you have that file ?



  • @mitu That might be the problem, I don't see any files in there at all. It's just one empty directory.


  • Global Moderator

    @hank987 Can you re-configure your gamepad in Emulationstation again and see if the file is created ? If it's not created, then there must be some error when creating the file. For reference, this is my iBuffalo config (it's detected as USB,2-axis 8-button gamepad, but you must have a different model).

    input_device = "USB,2-axis 8-button gamepad  "
    input_driver = "udev"
    input_l_btn = "4"
    input_load_state_btn = "4"
    input_start_btn = "7"
    input_exit_emulator_btn = "7"
    input_down_axis = "+1"
    input_r_btn = "5"
    input_save_state_btn = "5"
    input_right_axis = "+0"
    input_state_slot_increase_axis = "+0"
    input_select_btn = "6"
    input_left_axis = "-0"
    input_state_slot_decrease_axis = "-0"
    input_up_axis = "-1"
    input_a_btn = "0"
    input_b_btn = "1"
    input_reset_btn = "1"
    input_enable_hotkey_btn = "6"
    input_x_btn = "2"
    input_menu_toggle_btn = "2"
    input_y_btn = "3"
    

    You can check any errors in creating the .cfg file in /home/pi/.emulationstation/es_log.txt. If the file is not created, you could at least find out the correct name and then create it manually with the mappings I posted.



  • @mitu That's probably the same controller that I have, or at least a slightly different version, but mine is detected as: Padix Co. Ltd. USB,2-axis 8-button gamepad .

    I don't see anything in my log file to suggest that it's even trying to create a configuration file.

    At this point, I'm going to try just reflashing and see if that does anything to resolve this as this seems like an awfully weird thing to be happening.



  • OK, so reflashing the install seems to have worked. I'm not sure if the original 64gb microsd was too large, or if something else I did messed things up, but this time around I wasn't asked a second time to initialize my controller settings, and I was able to get a few minutes of Super Mario World running with the controller functioning properly.

    But, thanks for the help, no wonder nobody else was having these problems.



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.