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 @dankcushions
      last edited by meleu

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

      https://github.com/libretro/retroarch-joypad-autoconfig/issues/207

      The improvement @fr500 mentions in the last comment would be really really cool and useful!! "use retropad labels (or the descriptors for the retropad buttons if available)"

      I hope someone take a look at it soon...

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

        Big thanks gentlemen, that kinda worked:

        menu_ok_btn = "0"
        menu_cancel_btn = "8"
        

        (strange number though, jstest says may A and B buttons on my X360 pad are 0 and 1, dunno where '8' comes from, I used trial and error)

        But I have one more issue with the retroarch config:
        Out-of-the-box there is the /configs/all/retroarch.cfg (with lots of stuff in there) and the /config/<SYSTEM>/retroarch.cfg with only this:

        # Settings made here will only override settings in the global retroarch.cfg if placed above the #include line
        
        input_remapping_directory = "/opt/retropie/configs/arcade/"
        
        #include "/opt/retropie/configs/all/retroarch.cfg"
        

        On first startup of every core it instantly says in the little yellow text something like "Config file saved to /config/<SYSTEM>/retroarch.cfg" (overwriting the tiny default system config). Now this file is huge looking like this:

        <tons of options>
        #include "/opt/retropie/configs/all/retroarch.cfg"
        

        As I have learned libretro uses the first option it finds which means it starts by reading that huge system-config-file (/config/<SYSTEM>/retroarch.cfg) which sets (all?) parameters. Then it includes "/opt/retropie/configs/all/retroarch.cfg" which has no chance to overwrite the already set options anymore.
        I hope I could explain it correctly. I think in the end it means that I cannot set retroarch options globally anymore (in "/opt/retropie/configs/all/retroarch.cfg") since they won't have any effect anymore.

        Is that behavior intended? Am I doing something wrong? Thanks guys!

        dankcushionsD 1 Reply Last reply Reply Quote 0
        • dankcushionsD
          dankcushions Global Moderator @vbs
          last edited by

          @vbs have you set your /all/retroarch.cfg to have config_save_on_exit = true ? in which case it will act like you describe. all the settings in /all/retroarch.cfg will simply migrate to your /system/retroarch.cfgs.

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

            @dankcushions
            No I checked that yesterday already. It is 'false' in all my configs:

            root@wz-retro:/opt/retropie/configs# grep -r config_save *
            all/retroarch.cfg.bak:# This is only updated in config if config_save_on_exit is set to true, however.
            all/retroarch.cfg.bak:config_save_on_exit = "false"
            all/retroarch.cfg.rp-dist:# This is only updated in config if config_save_on_exit is set to true, however.
            all/retroarch.cfg.rp-dist:config_save_on_exit = "false"
            all/retroarch.cfg:# This is only updated in config if config_save_on_exit is set to true, however.
            all/retroarch.cfg:config_save_on_exit = "false"
            atari7800/retroarch.cfg:config_save_on_exit = "false"
            megadrive/retroarch.cfg:config_save_on_exit = "false"
            pcengine/retroarch.cfg:config_save_on_exit = "false"
            psx/retroa_vbs.cfg.bak:config_save_on_exit = "false"
            psx/retroarch.cfg:config_save_on_exit = "false"
            snes/retroarch.cfg:config_save_on_exit = "false"
            

            The strange thing is: it does not even do that on exit but right on startup. After it did that once for a core it does not do that again for that core.

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

              @vbs it seems that you set config_save_on_exit to true sometime in the past and this action "infected" your system specific retroarch.cfg files...

              My suggestion is (pseudo-bash-code):

              if you have "retroarch.cfg.rp-dist" files at each system directory; then
                  rename it to "retroarch.cfg"
              else
                  reinstall the respective libretro core
                  # the step above creates those ".rp-dist" files
                  rename the ".rp-dist" files to "retroarch.cfg"
              fi
              

              (It seems that you're familiar with the shell and I think I can write clearer in pseudo-code than in English. :-) )

              [edit: trying to practice my english a little more and explain to you what's happening.]
              Keep in mind that the RetroArch's config uses the "first match if finds" approach, so if you have options in your system retroarch.cfg and #include the global config in the end, RetroArch ignores all options already taken from the system specific file.

              I hope it's clear enough. :-) Maybe a reading at this post can help to understand a little more (no need to read the entire thread, just the linked post) .

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

                Thanks, I really appreciate your help!

                I read that thread yesterday already and today I tried a couple of things. In the end I deleted whole /opt/retropie, ~/.config/retroarch and ~/Retropie and reinstalled Retropie completely from source (btw did I mention that I am using x86 on Intel NUC?).
                So after reinstalling I configured my gamepad, copied some MegaDrive roms and started a game. The next thing that happens is that I see "Save new config to /opt/retropie/config/megadrive/retroarch.cfg".

                So, a long story cut short, I reinstalled everything but it sill happens :)

                What in hell would trigger dumping the whole config right at startup (but only once!)? :/

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

                  Well, for testing I just started retroarch just like ES does it from the command line and enabled verbose logging:

                  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 [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: /opt/retropie/emulators/retroarch/shader/presets
                  RetroArch [INFO] :: Shaders: no game-specific preset found at /opt/retropie/emulators/retroarch/shader/presets/PicoDrive/16 Tiles Mahjong (Unl) [c].cgp.
                  RetroArch [INFO] :: Shaders: no game-specific preset found at /opt/retropie/emulators/retroarch/shader/presets/PicoDrive/16 Tiles Mahjong (Unl) [c].glslp.
                  RetroArch [INFO] :: Shaders: no core-specific preset found at /opt/retropie/emulators/retroarch/shader/presets/PicoDrive/PicoDrive.cgp.
                  RetroArch [INFO] :: Shaders: no core-specific preset found at /opt/retropie/emulators/retroarch/shader/presets/PicoDrive/PicoDrive.glslp.
                  RetroArch [INFO] :: Environ SET_VARIABLES.
                  RetroArch [INFO] :: Remaps: remap directory: /opt/retropie/configs/megadrive/
                  RetroArch [INFO] :: Remaps: no game-specific remap found at /opt/retropie/configs/megadrive/PicoDrive/16 Tiles Mahjong (Unl) [c].rmp.
                  RetroArch [INFO] :: Remaps: no core-specific remap found at /opt/retropie/configs/megadrive/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 [ERROR] :: Failed to extract content from compressed file: /home/vbs/RetroPie/roms/megadrive/0-E/16 Tiles Mahjong (Unl) [c].zip.
                  RetroArch [INFO] :: Content loading skipped. Implementation will load it on its own.
                  RetroArch [INFO] :: Environ SET_PIXEL_FORMAT: RGB565.
                  RetroArch [INFO] :: Environ SYSTEM_DIRECTORY: "/home/vbs/RetroPie/BIOS".
                  RetroArch [libretro INFO] :: bad MD reset vector, assuming SMS
                  RetroArch [libretro INFO] :: detected SMS ROM
                  RetroArch [INFO] :: Environ SET_INPUT_DESCRIPTORS:
                  RetroArch [INFO] :: 	RetroPad, User 1, Button "B (bottom)" => "Button 1 Start"
                  RetroArch [INFO] :: 	RetroPad, User 1, Button "Start" => "Button Pause"
                  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)" => "Button 2"
                  RetroArch [INFO] :: 	RetroPad, User 2, Button "B (bottom)" => "Button 1 Start"
                  RetroArch [INFO] :: 	RetroPad, User 2, Button "Start" => "Button Pause"
                  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)" => "Button 2"
                  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: 44055.95 Hz.
                  RetroArch [INFO] :: Video @ fullscreen
                  RetroArch [INFO] :: Starting threaded video driver ...
                  RetroArch [ERROR] :: Failed to connect to Wayland server.
                  RetroArch [INFO] :: Found GL context: x
                  RetroArch [INFO] :: Detecting screen resolution 1920x1080.
                  RetroArch [INFO] :: [X11]: Xinerama version: 1.1.
                  RetroArch [INFO] :: [X11]: Xinerama screens: 1.
                  RetroArch [INFO] :: [GLX]: Using Xinerama on screen #0.
                  RetroArch [INFO] :: [GLX]: X = 0, Y = 0, W = 1920, H = 1080.
                  RetroArch [INFO] :: [GLX]: Using windowed fullscreen.
                  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 1920x1080
                  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: 1 profiles found
                  RetroArch [INFO] :: Autodetect: selected configuration: /opt/retropie/configs/all/retroarch-joypads/Xbox360WirelessReceiver(XBOX).cfg
                  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 [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] :: Saved new config to "/opt/retropie/configs/megadrive/retroarch.cfg".
                  RetroArch [INFO] :: Loading history file: [/opt/retropie/configs/megadrive/content_history.lpl].
                  RetroArch [INFO] :: Loading history file: [/opt/retropie/configs/megadrive/content_music_history.lpl].
                  RetroArch [INFO] :: Loading history file: [/opt/retropie/configs/megadrive/content_video_history.lpl].
                  RetroArch [INFO] :: Loading history file: [/opt/retropie/configs/megadrive/content_image_history.lpl].
                  RetroArch [INFO] :: Environ SET_GEOMETRY.
                  RetroArch [INFO] :: SET_GEOMETRY: 256x192, aspect: 1.333.
                  RetroArch [INFO] :: Resetting undo buffers.
                  RetroArch [INFO] :: Trying to write to playlist file: /opt/retropie/configs/megadrive/content_history.lpl
                  RetroArch [INFO] :: Trying to write to playlist file: /opt/retropie/configs/megadrive/content_video_history.lpl
                  RetroArch [INFO] :: Trying to write to playlist file: /opt/retropie/configs/megadrive/content_music_history.lpl
                  RetroArch [INFO] :: Trying to write to playlist file: /opt/retropie/configs/megadrive/content_image_history.lpl
                  RetroArch [INFO] :: Average audio buffer saturation: 79.91 %, standard deviation (percentage points): 10.71 %.
                  RetroArch [INFO] :: Amount of time spent close to underrun: 0.00 %. Close to blocking: 80.60 %.
                  RetroArch [INFO] :: [X11]: Xinerama version: 1.1.
                  RetroArch [INFO] :: [X11]: Xinerama screens: 1.
                  RetroArch [INFO] :: [X11]: Saved monitor #0.
                  RetroArch [INFO] :: Threaded video stats: Frames pushed: 331, Frames dropped: 5.
                  RetroArch [INFO] :: Monitor FPS estimation is disabled for threaded video.
                  RetroArch [INFO] :: Average audio buffer saturation: 79.91 %, standard deviation (percentage points): 10.71 %.
                  RetroArch [INFO] :: Amount of time spent close to underrun: 0.00 %. Close to blocking: 80.60 %.
                  RetroArch [INFO] :: Monitor FPS estimation is disabled for threaded video.
                  

                  There it also just says "RetroArch [INFO] :: Saved new config to "/opt/retropie/configs/megadrive/retroarch.cfg".". I don't understand :(

                  Well, also mentioned here:
                  https://github.com/libretro/RetroArch/issues/2793
                  https://www.reddit.com/r/RetroPie/comments/4wimbd/why_is_retroarch_saving_a_new_config_on_opening_a/

                  meleuM 1 Reply Last reply Reply Quote 1
                  • 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
                                            • 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.