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

Retroarch.cfg for specific emulators not saving



  • I'm starting to wrap my head a bit around configuring my ipac2 with retropie. I managed to get it working for retroarchgui by downloading retroarch.cfg in the configs>all folder, editing it in notepadd++ then uploading it back to the raspberry pi. I have the buttons mapped for emulationstation by just using the options menu.

    I then tried to do the same download/upload editing cfg for snes but it seems to not take when testing a rom.

    Am I going about this the wrong way?


  • Global Moderator

    @GBH said in Retroarch.cfg for specific emulators not saving:

    Am I going about this the wrong way?

    Maybe. If you already configured your gamepads globally, why do you want to re-configure again for snes ? The file you edited is already active for all RetroArch emulators (cores).
    If you want to have different mapping for each system, in RetroArch, use the RGUI and create a core re-mapping specifically for that system - see here for more details.



  • Have been following this guide mostly so that's why I was going farther than mapping the buttons globally. https://retropie.org.uk/forum/topic/8987/guide-setting-up-a-retropie-controls-using-ipac2-controller-extensive-tutorial-preconfigured-files/

    So what I've done since posting is going into the retroarch menu from emulationstation (the green menu) and noticed that none of the player 2 buttons had been mapped. So I mapped them and then double checked my player 1 mapping to make sure I had it like I wanted it.

    I then go back to emulationstation and try an SNES rom (Street Fighter 2 alpha) and none of the buttons work. Can't even exit the game back to emulationstation. Try an FBA rom and same thing.

    Edit: Was messing around with the green retroarch settings again and loaded a game from there and controls worked. So starting a game from emulationstation doesn't work but loading it from retroarch does?


  • Global Moderator

    @GBH You probably overwritten the .cfg for the system and the global mappings don't apply. Did you enable 'Save Configuration on Exit' ?
    When starting RetroArch from Emulationstation, the system's configuration is loaded from /opt/retropie/configs/<system>/retroarch.cfg. Usually this file is almost empty and includes the global config /opt/retropie/configs/all/retroarch.cfg.



  • @mitu

    I didn't know/understand that there was mapping "above" global. I thought it went global > emulator > rom.

    "Save configuration on Exit" is off.

    Is there a somewhat easy way to start from square one with the mapping? Or do you have a suggestion of how to tackle the pickle I've gotten myself in?


  • Global Moderator

    @GBH said in Retroarch.cfg for specific emulators not saving:

    I didn't know/understand that there was mapping "above" global. I thought it went global > emulator > rom.

    No, it's the other way around - see https://retropie.org.uk/docs/RetroArch-Configuration/#config-hierarchy. If you have a rom.cfg it trumps the system's .cfg and any system's .cfg trumps the global .cfg. Specific game/system setting apply before the global ones.

    You can easily reset the config for a system by looking in the system, configuration folder (/opt/retropie/configs/<system>) and renaming the retroarch.cfg file, then re-installing the emulator for the system. This should re-create the default config file.



  • I know it's been a few days but finally found some time again.

    I'm looking at my /opt/retropie/configs/snes/retroarch.cfg

    input_player1_b = "shift"
    input_player1_b_btn = "nul"
    input_player1_b_axis = "nul"
    input_player1_y = "ctrl"
    input_player1_y_btn = "nul"
    input_player1_y_axis = "nul"
    input_player1_select = "5"
    input_player1_select_btn = "nul"
    input_player1_select_axis = "nul"
    input_player1_start = "1"
    input_player1_start_btn = "nul"
    input_player1_start_axis = "nul"
    input_player1_up = "up"
    input_player1_up_btn = "nul"
    input_player1_up_axis = "nul"
    input_player1_down = "down"
    input_player1_down_btn = "nul"
    input_player1_down_axis = "nul"
    input_player1_left = "left"
    input_player1_left_btn = "nul"
    input_player1_left_axis = "nul"
    input_player1_right = "right"
    input_player1_right_btn = "nul"
    input_player1_right_axis = "nul"
    input_player1_a = "z"
    input_player1_a_btn = "nul"
    input_player1_a_axis = "nul"
    input_player1_x = "alt"
    input_player1_x_btn = "nul"
    input_player1_x_axis = "nul"
    input_player1_l = "space"
    input_player1_l_btn = "nul"
    input_player1_l_axis = "nul"
    input_player1_r = "x"
    input_player1_r_btn = "nul"
    input_player1_r_axis = "nul"
    

    This is what's exactly in the file for the button mapping for P1 and when I go into Super Street Fighter alpha 2 it doesn't work. Made a rom specific cfg too and still doesnt work. Now here's the super weird part ... tried Star Fox 2 and controls seemed to work fine. Tried Super Star Wars and same problem as SFA2.

    Edit: Also how do I go about reinstalling an emulator?



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.