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.5k 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.
    • 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
                                          • 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
                                            • 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.