RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    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

    Swap Buttons A and B in RetroArch RGUI only

    Scheduled Pinned Locked Moved Help and Support
    rguilibretrobutton mapping
    47 Posts 4 Posters 21.3k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • meleuM
      meleu @vbs
      last edited by meleu

      @vbs I'm suspecting this:

      RetroArch [INFO] :: [overrides] no core-specific overrides found at /home/vbs/.config/retroarch/config/PicoDrive/PicoDrive.cfg.
      

      I suggest you to rm -rf /home/vbs/.config/retroarch and try again.

      Check if you have those .rp-dist files and do what I suggested in the previous post to avoid the recompilation process.

      EDIT: Oh! I saw you already tried to delete this directory... can you do a grep -r config_save /home/vbs/.config/retroarch/* and paste the output here?

      • Useful topics
      • joystick-selection tool
      • rpie-art tool
      • achievements I made
      vbsV 1 Reply Last reply Reply Quote 0
      • vbsV
        vbs @meleu
        last edited by

        @meleu
        Since I reinstalled Retropie I do not have any rp-dist files:

        root@wz-retro:/opt/retropie/configs# find | grep dist
        root@wz-retro:/opt/retropie/configs#
        

        Also all retroarch.cfg files I can see in the /opt/retropie/config/<SYSTEM> directories are ~220 bytes long and only contain the two standard lines.

        And I delete completely ~/.config/retroarch

        Then I started retroarch again with an empty config file (/tmp/empty.cfg):

        vbs@wz-retro:~$ /opt/retropie/emulators/retroarch/bin/retroarch --verbose -L /opt/retropie/libretrocores/lr-picodrive/picodrive_libretro.so --config /tmp/empty.cfg /home/vbs/RetroPie/roms/megadrive/0-E/16\ Tiles\ Mahjong\ \(Unl\)\ \[c\].zip 
        RetroArch [INFO] :: Redirecting save file to "/home/vbs/RetroPie/roms/megadrive/0-E/16 Tiles Mahjong (Unl) [c].srm".
        RetroArch [INFO] :: === Build =======================================
        Capabilities: MMX MMXEXT SSE1 SSE2 SSE3 SSSE3 SSE4 SSE4.2 AVX AES 
        Built: Oct 12 2016
        RetroArch [INFO] :: Version: 1.3.6
        RetroArch [INFO] :: Git: 2fe10a0
        RetroArch [INFO] :: =================================================
        RetroArch [INFO] :: Config: loading config from: /tmp/empty.cfg.
        RetroArch [WARN] :: screenshot_directory is not an existing directory, ignoring ...
        RetroArch [INFO] :: Resetting undo buffers.
        RetroArch [INFO] :: Loading dynamic libretro core from: "/opt/retropie/libretrocores/lr-picodrive/picodrive_libretro.so"
        RetroArch [INFO] :: [overrides] no core-specific overrides found at /home/vbs/.config/retroarch/config/PicoDrive/PicoDrive.cfg.
        RetroArch [INFO] :: [overrides] no game-specific overrides found at /home/vbs/.config/retroarch/config/PicoDrive/16 Tiles Mahjong (Unl) [c].cfg.
        RetroArch [INFO] :: Shaders: preset directory: /home/vbs/.config/retroarch/shaders/presets
        RetroArch [INFO] :: Shaders: no game-specific preset found at /home/vbs/.config/retroarch/shaders/presets/PicoDrive/16 Tiles Mahjong (Unl) [c].cgp.
        RetroArch [INFO] :: Shaders: no game-specific preset found at /home/vbs/.config/retroarch/shaders/presets/PicoDrive/16 Tiles Mahjong (Unl) [c].glslp.
        RetroArch [INFO] :: Shaders: no core-specific preset found at /home/vbs/.config/retroarch/shaders/presets/PicoDrive/PicoDrive.cgp.
        RetroArch [INFO] :: Shaders: no core-specific preset found at /home/vbs/.config/retroarch/shaders/presets/PicoDrive/PicoDrive.glslp.
        RetroArch [INFO] :: Environ SET_VARIABLES.
        RetroArch [INFO] :: Remaps: remap directory: /home/vbs/.config/retroarch/config/remaps
        RetroArch [INFO] :: Remaps: no game-specific remap found at /home/vbs/.config/retroarch/config/remaps/PicoDrive/16 Tiles Mahjong (Unl) [c].rmp.
        RetroArch [INFO] :: Remaps: no core-specific remap found at /home/vbs/.config/retroarch/config/remaps/PicoDrive/PicoDrive.rmp.
        RetroArch [INFO] :: Redirecting save file to "/home/vbs/RetroPie/roms/megadrive/0-E/16 Tiles Mahjong (Unl) [c].srm".
        RetroArch [INFO] :: Environ PERFORMANCE_LEVEL: 0.
        RetroArch [INFO] :: Environ GET_LOG_INTERFACE.
        RetroArch [INFO] :: Environ SET_DISK_CONTROL_INTERFACE.
        RetroArch [INFO] :: Environ GET_VARIABLE picodrive_input1:
        RetroArch [INFO] :: 	3 button pad
        RetroArch [INFO] :: Environ GET_VARIABLE picodrive_input2:
        RetroArch [INFO] :: 	3 button pad
        RetroArch [INFO] :: Environ GET_VARIABLE picodrive_sprlim:
        RetroArch [INFO] :: 	disabled
        RetroArch [INFO] :: Environ GET_VARIABLE picodrive_ramcart:
        RetroArch [INFO] :: 	disabled
        RetroArch [INFO] :: Environ GET_VARIABLE picodrive_region:
        RetroArch [INFO] :: 	Auto
        RetroArch [INFO] :: Environ GET_VARIABLE picodrive_region_fps:
        RetroArch [INFO] :: 	Auto
        RetroArch [INFO] :: Environ GET_VARIABLE picodrive_aspect:
        RetroArch [INFO] :: 	PAR
        RetroArch [INFO] :: Content loading skipped. Implementation will load it on its own.
        RetroArch [INFO] :: Environ SET_PIXEL_FORMAT: RGB565.
        RetroArch [WARN] :: SYSTEM DIR is empty, assume CONTENT DIR /home/vbs/RetroPie/roms/megadrive/0-E/16 Tiles Mahjong (Unl) [c].zip
        RetroArch [INFO] :: Environ SYSTEM_DIRECTORY: "/home/vbs/RetroPie/roms/megadrive/0-E/".
        RetroArch [libretro INFO] :: 00000:000: couldn't open carthw.cfg!
        RetroArch [libretro INFO] :: 00000:000: sram: 200000 - 203fff; eeprom: 0
        RetroArch [INFO] :: Environ SET_INPUT_DESCRIPTORS:
        RetroArch [INFO] :: 	RetroPad, User 1, Button "B (bottom)" => "B"
        RetroArch [INFO] :: 	RetroPad, User 1, Button "Y (left)" => "A"
        RetroArch [INFO] :: 	RetroPad, User 1, Button "Select" => "Mode"
        RetroArch [INFO] :: 	RetroPad, User 1, Button "Start" => "Start"
        RetroArch [INFO] :: 	RetroPad, User 1, Button "D-Pad Up" => "D-Pad Up"
        RetroArch [INFO] :: 	RetroPad, User 1, Button "D-Pad Down" => "D-Pad Down"
        RetroArch [INFO] :: 	RetroPad, User 1, Button "D-Pad Left" => "D-Pad Left"
        RetroArch [INFO] :: 	RetroPad, User 1, Button "D-Pad Right" => "D-Pad Right"
        RetroArch [INFO] :: 	RetroPad, User 1, Button "A (right)" => "C"
        RetroArch [INFO] :: 	RetroPad, User 1, Button "X (up)" => "Y"
        RetroArch [INFO] :: 	RetroPad, User 1, Button "L" => "X"
        RetroArch [INFO] :: 	RetroPad, User 1, Button "R" => "Z"
        RetroArch [INFO] :: 	RetroPad, User 2, Button "B (bottom)" => "B"
        RetroArch [INFO] :: 	RetroPad, User 2, Button "Y (left)" => "A"
        RetroArch [INFO] :: 	RetroPad, User 2, Button "Select" => "Mode"
        RetroArch [INFO] :: 	RetroPad, User 2, Button "Start" => "Start"
        RetroArch [INFO] :: 	RetroPad, User 2, Button "D-Pad Up" => "D-Pad Up"
        RetroArch [INFO] :: 	RetroPad, User 2, Button "D-Pad Down" => "D-Pad Down"
        RetroArch [INFO] :: 	RetroPad, User 2, Button "D-Pad Left" => "D-Pad Left"
        RetroArch [INFO] :: 	RetroPad, User 2, Button "D-Pad Right" => "D-Pad Right"
        RetroArch [INFO] :: 	RetroPad, User 2, Button "A (right)" => "C"
        RetroArch [INFO] :: 	RetroPad, User 2, Button "X (up)" => "Y"
        RetroArch [INFO] :: 	RetroPad, User 2, Button "L" => "X"
        RetroArch [INFO] :: 	RetroPad, User 2, Button "R" => "Z"
        Failed to open /home/vbs/RetroPie/roms/megadrive/0-E/16 Tiles Mahjong (Unl) [c].srm: No such file or directory
        RetroArch [INFO] :: Skipping SRAM load..
        RetroArch [INFO] :: Version of libretro API: 1
        RetroArch [INFO] :: Compiled against API: 1
        RetroArch [INFO] :: Set audio input rate to: 44100.00 Hz.
        RetroArch [INFO] :: Timings deviate too much. Will not adjust. (Display = 59.94 Hz, Game = 50.00 Hz)
        RetroArch [INFO] :: Video @ 960x720
        RetroArch [ERROR] :: Failed to connect to Wayland server.
        RetroArch [INFO] :: Found GL context: x
        RetroArch [INFO] :: Detecting screen resolution 1920x1080.
        RetroArch [INFO] :: [GLX]: X = 0, Y = 0, W = 960, H = 720.
        RetroArch [INFO] :: [GLX]: Found swap function: glXSwapIntervalMESA.
        RetroArch [INFO] :: [GLX]: glXSwapInterval(1)
        RetroArch [INFO] :: [GL]: Vendor: Intel Open Source Technology Center, Renderer: Mesa DRI Intel(R) Haswell Mobile .
        RetroArch [INFO] :: [GL]: Version: 3.0 Mesa 11.2.0.
        RetroArch [INFO] :: GL: Using resolution 960x720
        RetroArch [INFO] :: [GL]: Default shader backend found: glsl.
        RetroArch [INFO] :: [Shader driver]: Using GLSL shader backend.
        RetroArch [INFO] :: Checking GLSL shader support ...
        RetroArch [WARN] :: [GL]: Stock GLSL shaders will be used.
        RetroArch [INFO] :: Found GLSL vertex shader.
        RetroArch [INFO] :: Found GLSL fragment shader.
        RetroArch [INFO] :: Linking GLSL program.
        RetroArch [INFO] :: Found GLSL vertex shader.
        RetroArch [INFO] :: Found GLSL fragment shader.
        RetroArch [INFO] :: Linking GLSL program.
        RetroArch [INFO] :: Found GLSL vertex shader.
        RetroArch [INFO] :: Found GLSL fragment shader.
        RetroArch [INFO] :: Linking GLSL program.
        RetroArch [INFO] :: Found GLSL vertex shader.
        RetroArch [INFO] :: Found GLSL fragment shader.
        RetroArch [INFO] :: Linking GLSL program.
        RetroArch [INFO] :: Found GLSL vertex shader.
        RetroArch [INFO] :: Found GLSL fragment shader.
        RetroArch [INFO] :: Linking GLSL program.
        RetroArch [INFO] :: [GL]: Using 4 textures.
        RetroArch [INFO] :: [GL]: Loaded 1 program(s).
        RetroArch [INFO] :: [GL]: Using GL_RGB565 for texture uploads.
        RetroArch [INFO] :: Found joypad driver: "udev".
        RetroArch [INFO] :: Using font rendering backend: freetype.
        RetroArch [ERROR] :: [DBus]: Failed to suspend screensaver via DBus.
        RetroArch [INFO] :: Suspending screensaver (X11, xdg-screensaver).
        RetroArch [WARN] :: Could not suspend screen saver.
        RetroArch [INFO] :: ALSA: Using signed 16-bit format.
        RetroArch [INFO] :: ALSA: Period size: 768 frames
        RetroArch [INFO] :: ALSA: Buffer size: 3072 frames
        RetroArch [INFO] :: ALSA: Can pause: yes.
        RetroArch [INFO] :: Found menu display driver: "menu_display_gl".
        RetroArch [ERROR] :: Failed to create rendering backend: freetype.
        Failed to open /home/vbs/.config/retroarch/assets/xmb/monochrome/font.ttf: No such file or directory
        RetroArch [ERROR] :: Failed to create rendering backend: stb.
        RetroArch [INFO] :: Using font rendering backend: bitmap.
        RetroArch [INFO] :: Saved new config to "/tmp/empty.cfg".
        RetroArch [ERROR] :: Failed to create rendering backend: freetype.
        Failed to open /home/vbs/.config/retroarch/assets/xmb/monochrome/font.ttf: No such file or directory
        RetroArch [ERROR] :: Failed to create rendering backend: stb.
        RetroArch [INFO] :: Using font rendering backend: bitmap.
        RetroArch [INFO] :: Loading history file: [/tmp/content_history.lpl].
        RetroArch [INFO] :: Loading history file: [/tmp/content_music_history.lpl].
        RetroArch [INFO] :: Loading history file: [/tmp/content_video_history.lpl].
        RetroArch [INFO] :: Loading history file: [/tmp/content_image_history.lpl].
        RetroArch [INFO] :: [GL]: VSync => on
        RetroArch [INFO] :: [GLX]: glXSwapInterval(1)
        RetroArch [INFO] :: Environ SET_GEOMETRY.
        RetroArch [INFO] :: SET_GEOMETRY: 320x224, aspect: 1.429.
        RetroArch [libretro INFO] :: 00001:000: 68k z80 read with no bus! [a00008] @ 000310
        RetroArch [libretro INFO] :: 00001:000: 68k z80 read with no bus! [a0000a] @ 000310
        RetroArch [libretro INFO] :: 00001:006: 68k z80 read with no bus! [a0000c] @ 00031a
        RetroArch [INFO] :: Paused.
        ^CRetroArch [INFO] :: Saved new config to "/tmp/empty.cfg".
        RetroArch [INFO] :: Resetting undo buffers.
        RetroArch [INFO] :: Trying to write to playlist file: /tmp/content_history.lpl
        RetroArch [INFO] :: Trying to write to playlist file: /tmp/content_video_history.lpl
        RetroArch [INFO] :: Trying to write to playlist file: /tmp/content_music_history.lpl
        RetroArch [INFO] :: Trying to write to playlist file: /tmp/content_image_history.lpl
        RetroArch [INFO] :: Average audio buffer saturation: 74.79 %, standard deviation (percentage points): 13.64 %.
        RetroArch [INFO] :: Amount of time spent close to underrun: 0.00 %. Close to blocking: 54.23 %.
        RetroArch [INFO] :: [X11]: Xinerama version: 1.1.
        RetroArch [INFO] :: [X11]: Xinerama screens: 1.
        RetroArch [INFO] :: [X11]: Saved monitor #0.
        RetroArch [INFO] :: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
        RetroArch [INFO] :: Removing temporary content file: /home/vbs/RetroPie/roms/megadrive/0-E/16 Tiles Mahjong (Unl) [c].bin.
        RetroArch [INFO] :: Average audio buffer saturation: 74.79 %, standard deviation (percentage points): 13.64 %.
        RetroArch [INFO] :: Amount of time spent close to underrun: 0.00 %. Close to blocking: 54.23 %.
        RetroArch [INFO] :: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
        vbs@wz-retro:~$ 
        

        It happened again and filled the /tmp/empty.cfgwith lots of options. :(

        Sorry if I misunderstood you but is this as you proposed? (deleted ~/.config/retroarch and resetted all core config files to their 220-byte-default versions).

        meleuM 1 Reply Last reply Reply Quote 0
        • meleuM
          meleu @vbs
          last edited by

          @vbs I reproduced your issue here in my own x86 RetroPie (actually it's reproducible in any platform). The problem is that when you first executed RetroArch with the core, the respective retroarch.cfg was empty or non-existent.

          Steps to reproduce it:

          • delete (or just rename) the /opt/retropie/configs/SYSTEM/retroarch.cfg.
          • start RetroArch with that empty/non-existent retroarch.cfg (using --config or normally via ES).

          It creates and dumps all the RetroArch default options to the retroarch.cfg (I said "RetroArch default options", in other words, the defaults from the RetroArch source code, used when there's no config file).

          My new suggestion is (it's an example for picodrive, adapt accordingly for other cores):

          1. delete all your picodrive system specific retroarch.cfg files (I think it is megadrive, mastersystem and sega32x).
          2. get those .rp-dist files using the following command:
          sudo ~/RetroPie-Setup/retropie_packages.sh lr-picodrive configure
          
          1. make sure that you have that RetroPie default small retroarch.cfg file before invoking RetroArch (rename retroarch.cfg.rp-dist to retroarch.cfg if necessary).

          It creates those short and default files for the individual systems with an #include line at the end.

          Keep in mind that this retropie_packages.sh trick works today but is contraindicated by the main developer, as you can see in this post. I interpret this as "it works today but there is no guarantee that it will always work". I found it useful for x86 because in this platform there's no option to reinstall/update from binary and the compilation is very time consuming.

          • Useful topics
          • joystick-selection tool
          • rpie-art tool
          • achievements I made
          vbsV 1 Reply Last reply Reply Quote 0
          • vbsV
            vbs @meleu
            last edited by

            @meleu
            Thanks very much, I really appreciate your effort!
            ...but but but, in all the tests before I didn't start Retroarch with a no/empty config. That was just for my last test. :( In my tests before I just had reinstalled Retropie and I actually had that small (non-empty) standard config. So it still should not have happened for me, right? But I will just try what you suggest:

            So just to make sure I do not miss some configs in step 1:

            root@wz-retro:/opt/retropie/configs# find -name retroarch.cfg | xargs rm
            root@wz-retro:/opt/retropie/configs# find -name retroarch.cfg
            root@wz-retro:/opt/retropie/configs#
            

            They are all gone now :)

            Then I issued that configure command which restored the config for megadrive:

            root@wz-retro:/opt/retropie/configs/megadrive# ls -al
            total 16
            drwxr-xr-x  2 root root 4096 Okt 13 08:18 .
            drwxr-xr-x 36 root root 4096 Okt 12 23:29 ..
            -rw-r--r--  1 root root  427 Okt 13 08:18 emulators.cfg
            -rw-------  1 root root  227 Okt 13 08:18 retroarch.cfg
            

            I think there is an issue now with the file permissions: they belong to user 'root' now and only root as read and write permission. My normal user wouldn't be able to access. I just tried by using normal Retropie-Setup: Then the created files look like this:

            root@wz-retro:/opt/retropie/configs/psx# ls -al
            total 16
            drwxr-xr-x  2 vbs vbs 4096 Okt 13 08:35 .
            drwxr-xr-x 36 vbs vbs 4096 Okt 12 23:29 ..
            -rw-r--r--  1 vbs vbs  210 Okt 13 08:35 emulators.cfg
            -rw-------  1 vbs vbs  221 Okt 13 08:35 retroarch.cfg
            

            Owner is 'vbs' now.

            When I start retroarch with the root-config files then it complains as expected about a failed config read:

            vbs@wz-retro:~$ /opt/retropie/emulators/retroarch/bin/retroarch --verbose -L /opt/retropie/libretrocores/lr-picodrive/picodrive_libretro.so --config /opt/retropie/configs/megadrive/retroarch.cfg /home/vbs/RetroPie/roms/megadrive/0-E/16\ Tiles\ Mahjong\ \(Unl\)\ \[c\].zip 
            RetroArch [INFO] :: Redirecting save file to "/home/vbs/RetroPie/roms/megadrive/0-E/16 Tiles Mahjong (Unl) [c].srm".
            RetroArch [INFO] :: === Build =======================================
            Capabilities: MMX MMXEXT SSE1 SSE2 SSE3 SSSE3 SSE4 SSE4.2 AVX AES 
            Built: Oct 12 2016
            RetroArch [INFO] :: Version: 1.3.6
            RetroArch [INFO] :: Git: 2fe10a0
            RetroArch [INFO] :: =================================================
            RetroArch [INFO] :: Config: loading config from: /opt/retropie/configs/megadrive/retroarch.cfg.
            RetroArch [ERROR] :: Config: couldn't find config at path: "/opt/retropie/configs/megadrive/retroarch.cfg"
            RetroArch [INFO] :: Resetting undo buffers.
            RetroArch [INFO] :: Loading dynamic libretro core from: "/opt/retropie/libretrocores/lr-picodrive/picodrive_libretro.so"
            RetroArch [INFO] :: [overrides] no core-specific overrides found at /home/vbs/.config/retroarch/config/PicoDrive/PicoDrive.cfg.
            RetroArch [INFO] :: [overrides] no game-specific overrides found at /home/vbs/.config/retroarch/config/PicoDrive/16 Tiles Mahjong (Unl) [c].cfg.
            RetroArch [INFO] :: Shaders: preset directory: /home/vbs/.config/retroarch/shaders/presets
            RetroArch [INFO] :: Shaders: no game-specific preset found at /home/vbs/.config/retroarch/shaders/presets/PicoDrive/16 Tiles Mahjong (Unl) [c].cgp.
            RetroArch [INFO] :: Shaders: no game-specific preset found at /home/vbs/.config/retroarch/shaders/presets/PicoDrive/16 Tiles Mahjong (Unl) [c].glslp.
            RetroArch [INFO] :: Shaders: no core-specific preset found at /home/vbs/.config/retroarch/shaders/presets/PicoDrive/PicoDrive.cgp.
            RetroArch [INFO] :: Shaders: no core-specific preset found at /home/vbs/.config/retroarch/shaders/presets/PicoDrive/PicoDrive.glslp.
            RetroArch [INFO] :: Environ SET_VARIABLES.
            RetroArch [INFO] :: Remaps: remap directory: /home/vbs/.config/retroarch/config/remaps
            RetroArch [INFO] :: Remaps: no game-specific remap found at /home/vbs/.config/retroarch/config/remaps/PicoDrive/16 Tiles Mahjong (Unl) [c].rmp.
            RetroArch [INFO] :: Remaps: no core-specific remap found at /home/vbs/.config/retroarch/config/remaps/PicoDrive/PicoDrive.rmp.
            RetroArch [INFO] :: Redirecting save file to "/home/vbs/RetroPie/roms/megadrive/0-E/16 Tiles Mahjong (Unl) [c].srm".
            RetroArch [INFO] :: Environ PERFORMANCE_LEVEL: 0.
            RetroArch [INFO] :: Environ GET_LOG_INTERFACE.
            RetroArch [INFO] :: Environ SET_DISK_CONTROL_INTERFACE.
            RetroArch [INFO] :: Environ GET_VARIABLE picodrive_input1:
            RetroArch [INFO] :: 	3 button pad
            RetroArch [INFO] :: Environ GET_VARIABLE picodrive_input2:
            RetroArch [INFO] :: 	3 button pad
            RetroArch [INFO] :: Environ GET_VARIABLE picodrive_sprlim:
            RetroArch [INFO] :: 	disabled
            RetroArch [INFO] :: Environ GET_VARIABLE picodrive_ramcart:
            RetroArch [INFO] :: 	disabled
            RetroArch [INFO] :: Environ GET_VARIABLE picodrive_region:
            RetroArch [INFO] :: 	Auto
            RetroArch [INFO] :: Environ GET_VARIABLE picodrive_region_fps:
            RetroArch [INFO] :: 	Auto
            RetroArch [INFO] :: Environ GET_VARIABLE picodrive_aspect:
            RetroArch [INFO] :: 	PAR
            RetroArch [INFO] :: Content loading skipped. Implementation will load it on its own.
            RetroArch [INFO] :: Environ SET_PIXEL_FORMAT: RGB565.
            RetroArch [WARN] :: SYSTEM DIR is empty, assume CONTENT DIR /home/vbs/RetroPie/roms/megadrive/0-E/16 Tiles Mahjong (Unl) [c].zip
            RetroArch [INFO] :: Environ SYSTEM_DIRECTORY: "/home/vbs/RetroPie/roms/megadrive/0-E/".
            RetroArch [libretro INFO] :: 00000:000: couldn't open carthw.cfg!
            RetroArch [libretro INFO] :: 00000:000: sram: 200000 - 203fff; eeprom: 0
            RetroArch [INFO] :: Environ SET_INPUT_DESCRIPTORS:
            RetroArch [INFO] :: 	RetroPad, User 1, Button "B (bottom)" => "B"
            RetroArch [INFO] :: 	RetroPad, User 1, Button "Y (left)" => "A"
            RetroArch [INFO] :: 	RetroPad, User 1, Button "Select" => "Mode"
            RetroArch [INFO] :: 	RetroPad, User 1, Button "Start" => "Start"
            RetroArch [INFO] :: 	RetroPad, User 1, Button "D-Pad Up" => "D-Pad Up"
            RetroArch [INFO] :: 	RetroPad, User 1, Button "D-Pad Down" => "D-Pad Down"
            RetroArch [INFO] :: 	RetroPad, User 1, Button "D-Pad Left" => "D-Pad Left"
            RetroArch [INFO] :: 	RetroPad, User 1, Button "D-Pad Right" => "D-Pad Right"
            RetroArch [INFO] :: 	RetroPad, User 1, Button "A (right)" => "C"
            RetroArch [INFO] :: 	RetroPad, User 1, Button "X (up)" => "Y"
            RetroArch [INFO] :: 	RetroPad, User 1, Button "L" => "X"
            RetroArch [INFO] :: 	RetroPad, User 1, Button "R" => "Z"
            RetroArch [INFO] :: 	RetroPad, User 2, Button "B (bottom)" => "B"
            RetroArch [INFO] :: 	RetroPad, User 2, Button "Y (left)" => "A"
            RetroArch [INFO] :: 	RetroPad, User 2, Button "Select" => "Mode"
            RetroArch [INFO] :: 	RetroPad, User 2, Button "Start" => "Start"
            RetroArch [INFO] :: 	RetroPad, User 2, Button "D-Pad Up" => "D-Pad Up"
            RetroArch [INFO] :: 	RetroPad, User 2, Button "D-Pad Down" => "D-Pad Down"
            RetroArch [INFO] :: 	RetroPad, User 2, Button "D-Pad Left" => "D-Pad Left"
            RetroArch [INFO] :: 	RetroPad, User 2, Button "D-Pad Right" => "D-Pad Right"
            RetroArch [INFO] :: 	RetroPad, User 2, Button "A (right)" => "C"
            RetroArch [INFO] :: 	RetroPad, User 2, Button "X (up)" => "Y"
            RetroArch [INFO] :: 	RetroPad, User 2, Button "L" => "X"
            RetroArch [INFO] :: 	RetroPad, User 2, Button "R" => "Z"
            Failed to open /home/vbs/RetroPie/roms/megadrive/0-E/16 Tiles Mahjong (Unl) [c].srm: No such file or directory
            RetroArch [INFO] :: Skipping SRAM load..
            RetroArch [INFO] :: Version of libretro API: 1
            RetroArch [INFO] :: Compiled against API: 1
            RetroArch [INFO] :: Set audio input rate to: 44100.00 Hz.
            RetroArch [INFO] :: Timings deviate too much. Will not adjust. (Display = 59.94 Hz, Game = 50.00 Hz)
            RetroArch [INFO] :: Video @ 960x720
            RetroArch [ERROR] :: Failed to connect to Wayland server.
            RetroArch [INFO] :: Found GL context: x
            RetroArch [INFO] :: Detecting screen resolution 1920x1080.
            RetroArch [INFO] :: [GLX]: X = 0, Y = 0, W = 960, H = 720.
            RetroArch [INFO] :: [GLX]: Found swap function: glXSwapIntervalMESA.
            RetroArch [INFO] :: [GLX]: glXSwapInterval(1)
            RetroArch [INFO] :: [GL]: Vendor: Intel Open Source Technology Center, Renderer: Mesa DRI Intel(R) Haswell Mobile .
            RetroArch [INFO] :: [GL]: Version: 3.0 Mesa 11.2.0.
            RetroArch [INFO] :: GL: Using resolution 960x720
            RetroArch [INFO] :: [GL]: Default shader backend found: glsl.
            RetroArch [INFO] :: [Shader driver]: Using GLSL shader backend.
            RetroArch [INFO] :: Checking GLSL shader support ...
            RetroArch [WARN] :: [GL]: Stock GLSL shaders will be used.
            RetroArch [INFO] :: Found GLSL vertex shader.
            RetroArch [INFO] :: Found GLSL fragment shader.
            RetroArch [INFO] :: Linking GLSL program.
            RetroArch [INFO] :: Found GLSL vertex shader.
            RetroArch [INFO] :: Found GLSL fragment shader.
            RetroArch [INFO] :: Linking GLSL program.
            RetroArch [INFO] :: Found GLSL vertex shader.
            RetroArch [INFO] :: Found GLSL fragment shader.
            RetroArch [INFO] :: Linking GLSL program.
            RetroArch [INFO] :: Found GLSL vertex shader.
            RetroArch [INFO] :: Found GLSL fragment shader.
            RetroArch [INFO] :: Linking GLSL program.
            RetroArch [INFO] :: Found GLSL vertex shader.
            RetroArch [INFO] :: Found GLSL fragment shader.
            RetroArch [INFO] :: Linking GLSL program.
            RetroArch [INFO] :: [GL]: Using 4 textures.
            RetroArch [INFO] :: [GL]: Loaded 1 program(s).
            RetroArch [INFO] :: [GL]: Using GL_RGB565 for texture uploads.
            RetroArch [INFO] :: [udev]: Plugged pad: Xbox 360 Wireless Receiver (XBOX) (1118:657) on port #0.
            RetroArch [INFO] :: Autodetect: 0 profiles found
            RetroArch [INFO] :: Autodetect: no profiles found for Xbox 360 Wireless Receiver (XBOX) (1118/657)
            RetroArch [INFO] :: [udev]: Pad #0 (/dev/input/event7) supports force feedback.
            RetroArch [INFO] :: [udev]: Pad #0 (/dev/input/event7) supports 16 force feedback effects.
            RetroArch [INFO] :: Found joypad driver: "udev".
            RetroArch [INFO] :: Using font rendering backend: freetype.
            RetroArch [ERROR] :: [DBus]: Failed to suspend screensaver via DBus.
            RetroArch [INFO] :: Suspending screensaver (X11, xdg-screensaver).
            RetroArch [WARN] :: Could not suspend screen saver.
            RetroArch [INFO] :: ALSA: Using signed 16-bit format.
            RetroArch [INFO] :: ALSA: Period size: 768 frames
            RetroArch [INFO] :: ALSA: Buffer size: 3072 frames
            RetroArch [INFO] :: ALSA: Can pause: yes.
            RetroArch [INFO] :: Found menu display driver: "menu_display_gl".
            RetroArch [ERROR] :: Failed to create rendering backend: freetype.
            Failed to open /home/vbs/.config/retroarch/assets/xmb/monochrome/font.ttf: No such file or directory
            RetroArch [ERROR] :: Failed to create rendering backend: stb.
            RetroArch [INFO] :: Using font rendering backend: bitmap.
            RetroArch [ERROR] :: Failed saving config to "/opt/retropie/configs/megadrive/retroarch.cfg".
            RetroArch [ERROR] :: Failed to create rendering backend: freetype.
            Failed to open /home/vbs/.config/retroarch/assets/xmb/monochrome/font.ttf: No such file or directory
            RetroArch [ERROR] :: Failed to create rendering backend: stb.
            RetroArch [INFO] :: Using font rendering backend: bitmap.
            RetroArch [INFO] :: Loading history file: [].
            RetroArch [INFO] :: Loading history file: [].
            RetroArch [INFO] :: Loading history file: [].
            RetroArch [INFO] :: Loading history file: [].
            RetroArch [INFO] :: [GL]: VSync => on
            RetroArch [INFO] :: [GLX]: glXSwapInterval(1)
            RetroArch [INFO] :: Trying to write to playlist file: 
            RetroArch [ERROR] :: Failed to write to playlist file: 
            RetroArch [INFO] :: Environ SET_GEOMETRY.
            RetroArch [INFO] :: SET_GEOMETRY: 320x224, aspect: 1.429.
            RetroArch [libretro INFO] :: 00001:000: 68k z80 read with no bus! [a00008] @ 000310
            RetroArch [libretro INFO] :: 00001:000: 68k z80 read with no bus! [a0000a] @ 000310
            RetroArch [libretro INFO] :: 00001:006: 68k z80 read with no bus! [a0000c] @ 00031a
            RetroArch [INFO] :: Paused.
            ^CRetroArch [ERROR] :: Failed saving config to "/opt/retropie/configs/megadrive/retroarch.cfg".
            RetroArch [INFO] :: Resetting undo buffers.
            RetroArch [INFO] :: Trying to write to playlist file: 
            RetroArch [ERROR] :: Failed to write to playlist file: 
            RetroArch [INFO] :: Trying to write to playlist file: 
            RetroArch [ERROR] :: Failed to write to playlist file: 
            RetroArch [INFO] :: Trying to write to playlist file: 
            RetroArch [ERROR] :: Failed to write to playlist file: 
            RetroArch [INFO] :: Trying to write to playlist file: 
            RetroArch [ERROR] :: Failed to write to playlist file: 
            RetroArch [INFO] :: Average audio buffer saturation: 75.51 %, standard deviation (percentage points): 13.60 %.
            RetroArch [INFO] :: Amount of time spent close to underrun: 0.00 %. Close to blocking: 57.24 %.
            RetroArch [INFO] :: [X11]: Xinerama version: 1.1.
            RetroArch [INFO] :: [X11]: Xinerama screens: 1.
            RetroArch [INFO] :: [X11]: Saved monitor #0.
            RetroArch [INFO] :: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
            RetroArch [INFO] :: Removing temporary content file: /home/vbs/RetroPie/roms/megadrive/0-E/16 Tiles Mahjong (Unl) [c].bin.
            RetroArch [INFO] :: Average audio buffer saturation: 75.51 %, standard deviation (percentage points): 13.60 %.
            RetroArch [INFO] :: Amount of time spent close to underrun: 0.00 %. Close to blocking: 57.24 %.
            RetroArch [INFO] :: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
            vbs@wz-retro:~$ 
            

            I have to run now, will try more later! Thanks again!

            1 Reply Last reply Reply Quote 1
            • vbsV
              vbs
              last edited by vbs

              Tested a bit: Retroarch saves the config on startup if the option rgui_show_start_screen is either true or not set. If it is not set (and the saving takes place) then it will be created with value false so Retroarch will not save the config on the following starts.

              This is beyond my understanding currently. :(

              Saving the config on exit is another story, but probably less mysterious since hopefully just triggered by save_config_on_exit.

              Well, found the code that triggers config saving when start screen is enabled. Still does not make more sense to me (menu_driver.c:181):

              if (settings->menu_show_start_screen)
              {
                 menu_dialog_push_pending(true, MENU_DIALOG_WELCOME);
                 settings->menu_show_start_screen   = false;
                 command_event(CMD_EVENT_MENU_SAVE_CURRENT_CONFIG, NULL);
              }
              
              BuZzB 1 Reply Last reply Reply Quote 0
              • dankcushionsD
                dankcushions Global Moderator
                last edited by

                this is the sort of area where retroarch regularly gets broken with updates. it's very possible either the retroarch in the current retropie image has an issue, or if you've update to a later version of retroarch then that might be it.

                you could update to the latest retroarch via source and see if it's fixed there?

                meleuM 1 Reply Last reply Reply Quote 0
                • meleuM
                  meleu @dankcushions
                  last edited by meleu

                  @dankcushions he is using the x86 RetroPie, it means he installed RetroArch from source.

                  @vbs the comments I've found in the retroarch.cfg skelleton

                  # Show startup screen in menu.
                  # Is automatically set to false when seen for the first time.
                  # This is only updated in config if config_save_on_exit is set to true, however.
                  # rgui_show_start_screen = true
                  
                  • Useful topics
                  • joystick-selection tool
                  • rpie-art tool
                  • achievements I made
                  1 Reply Last reply Reply Quote 0
                  • vbsV
                    vbs
                    last edited by vbs

                    @dankcushions
                    I just tested that on commit a800ab68eefef700053d20b282cdf20b093d34d9 which is the latest commit on master branch.

                    I really don't see the point why showing the start screen should be related to dumping the config in any way :(

                    EDIT:
                    Hm, also happens on tag v1.3.6

                    meleuM 1 Reply Last reply Reply Quote 1
                    • meleuM
                      meleu @vbs
                      last edited by meleu

                      @vbs was your problem solved? (that non-expected dumping into the system retroarch.cfg file)

                      • Useful topics
                      • joystick-selection tool
                      • rpie-art tool
                      • achievements I made
                      vbsV 1 Reply Last reply Reply Quote 0
                      • vbsV
                        vbs @meleu
                        last edited by vbs

                        @meleu
                        Well, "solved" is a big word :) I think I could workaround it by resetting all retroarch configs and inserting rgui_show_start_screen = falsein the global retroarch.cfg before starting any core for the first time (which would be ok for me now). But I am usually also interested to make Retropie more stable in the long term. So I think it would still be great if someone more knowledgeable could join in with an explanation (is it a bug? is it a feature?) or a good idea.

                        EDIT:
                        Maybe rgui_show_start_screen = false should be added to the retroarch.cfg default config that Retropie is shipping (if this behavior of saving is intended by Retroarch)?

                        meleuM BuZzB 2 Replies Last reply Reply Quote 1
                        • dankcushionsD
                          dankcushions Global Moderator
                          last edited by

                          i think retroarch devs would probably suggest we move away from core overrides via -appendconfig and instead use their new built-in core override system. i think this issue shouldn't happen there, but i think it would be a big change for retropie.

                          1 Reply Last reply Reply Quote 0
                          • meleuM
                            meleu @vbs
                            last edited by

                            @vbs said

                            Maybe rgui_show_start_screen = false should be added to the retroarch.cfg default config that Retropie is shipping (if this behavior of saving is intended by Retroarch)?

                            I think it would be a "workaround" too, but you can try to request it (if you want to make a PR, this is the file: retroarch.sh)

                            It would be better yet if you also open an issue on the RetroArch issue tracker detailing what happens and the steps to reproduce it. It would help if you mention that menu_driver.c part.

                            • Useful topics
                            • joystick-selection tool
                            • rpie-art tool
                            • achievements I made
                            1 Reply Last reply Reply Quote 0
                            • BuZzB
                              BuZz administrators @vbs
                              last edited by

                              @vbs said in Swap Buttons A and B in RetroArch RGUI only:

                              EDIT:
                              Maybe rgui_show_start_screen = false should be added to the retroarch.cfg default config that Retropie is shipping (if this behavior of saving is intended by Retroarch)?

                              The problem should be debugged first and taken up with retroarch if suspected it is a retroarch issue and not related to retropie configs.

                              To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                              vbsV 1 Reply Last reply Reply Quote 0
                              • BuZzB
                                BuZz administrators @vbs
                                last edited by

                                @vbs said in Swap Buttons A and B in RetroArch RGUI only:

                                Tested a bit: Retroarch saves the config on startup if the option rgui_show_start_screen is either true or not set. If it is not set (and the saving takes place) then it will be created with value false so Retroarch will not save the config on the following starts.

                                This is beyond my understanding currently. :(

                                Saving the config on exit is another story, but probably less mysterious since hopefully just triggered by save_config_on_exit.

                                Well, found the code that triggers config saving when start screen is enabled. Still does not make more sense to me (menu_driver.c:181):

                                if (settings->menu_show_start_screen)
                                {
                                   menu_dialog_push_pending(true, MENU_DIALOG_WELCOME);
                                   settings->menu_show_start_screen   = false;
                                   command_event(CMD_EVENT_MENU_SAVE_CURRENT_CONFIG, NULL);
                                }
                                

                                I think the problem is the function used to only save config when save config on exit was on. So before it was a NOOP - now CMD_EVENT_MENU_SAVE_CURRENT_CONFIG will always save (a fix for another issue). This just needs some logic added I guess to only save the config if save config on exit is on.

                                To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                                1 Reply Last reply Reply Quote 0
                                • BuZzB
                                  BuZz administrators
                                  last edited by

                                  See https://github.com/libretro/RetroArch/issues/3605

                                  To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                                  1 Reply Last reply Reply Quote 0
                                  • vbsV
                                    vbs @BuZz
                                    last edited by vbs

                                    @BuZz
                                    Yes I did that already. The stuff I posted today was done on my regular Linux machine (no Retropie at all). I cloned Retroarch, compiled it and started it on the command line. Quite clean test setup IMO, no Retropie involved, used empty config file just with that single config option.

                                    The question for me really is if that behavior is intended by Retroarch. If not, then they could fix it. If yes, then Retropie IMO needs a way to cope with it (maybe using that mentioned config option in the shipped retroarch.cfg).

                                    EDIT:
                                    Yes I read that issue. Sounds very similar but important parts seemed different (save on exit?), not sure if its the same. Most importantly: its not fixed :)

                                    1 Reply Last reply Reply Quote 0
                                    • BuZzB
                                      BuZz administrators
                                      last edited by

                                      I will submit a PR

                                      To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                                      1 Reply Last reply Reply Quote 0
                                      • BuZzB
                                        BuZz administrators
                                        last edited by

                                        That issue introduced the problem - since the event would have not done anything before but now will.

                                        To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                                        vbsV 1 Reply Last reply Reply Quote 0
                                        • vbsV
                                          vbs @BuZz
                                          last edited by

                                          @BuZz said in Swap Buttons A and B in RetroArch RGUI only:

                                          That issue introduced the problem - since the event would have not done anything before but now will.

                                          Hm not so sure, I also reproduced that issue on tag v1.3.6 (if I did not mess anything up) which is ~3 months old, but the issue you linked is just about 30 days old?

                                          1 Reply Last reply Reply Quote 0
                                          • BuZzB
                                            BuZz administrators
                                            last edited by

                                            I don't think 1.3.6 can have the issue, so please double check that.

                                            To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                                            vbsV 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            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.