Swap Buttons A and B in RetroArch RGUI only
-
@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. -
@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.
-
@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) .
-
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!)? :/
-
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/ -
@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? -
@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.cfg
with 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). -
@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):
- delete all your picodrive system specific retroarch.cfg files (I think it is megadrive, mastersystem and sega32x).
- get those
.rp-dist
files using the following command:
sudo ~/RetroPie-Setup/retropie_packages.sh lr-picodrive configure
- make sure that you have that RetroPie default small retroarch.cfg file before invoking RetroArch (rename
retroarch.cfg.rp-dist
toretroarch.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. - delete (or just rename) the
-
@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!
-
Tested a bit: Retroarch saves the config on startup if the option
rgui_show_start_screen
is eithertrue
or not set. If it is not set (and the saving takes place) then it will be created with valuefalse
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); }
-
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?
-
@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
-
@dankcushions
I just tested that on commita800ab68eefef700053d20b282cdf20b093d34d9
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 -
@vbs was your problem solved? (that non-expected dumping into the system retroarch.cfg file)
-
@meleu
Well, "solved" is a big word :) I think I could workaround it by resetting all retroarch configs and insertingrgui_show_start_screen = false
in 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:
Maybergui_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 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.
-
@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.
-
@vbs said in Swap Buttons A and B in RetroArch RGUI only:
EDIT:
Maybergui_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.
-
@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 eithertrue
or not set. If it is not set (and the saving takes place) then it will be created with valuefalse
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.
-
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.