RGUI cannot be used to change core specific settings. If we enable save_config_on_exit configs/all/retroarch.cfg will be overridden with core specific settings like libretto core, key bindings and shader settings. configs/<emulator>/retroarch.cfg will not be changed.
Some changes are necessary to save only the core specific tetrarch.cfg:
add #include "$rootdir/configs/all/retroarch.cfg"
to every configs/<emulator>/retroarch.cfg
Change..
COMMAND=$rootdir/supplementary/runcommand/runcommand.sh 4 "$rootdir/emulators/RetroArch/installdir/bin/retroarch -L
find $rootdir/emulatorcores/pocketsnes-libretro/ -name “*libretro*.so” | head -1--config $rootdir/configs/all/retroarch.cfg --appendconfig $rootdir/configs/snes/retroarch.cfg $__tmpnetplaymode$__tmpnetplayhostip_cfile $__tmpnetplayport$__tmpnetplayframes %ROM%"
..to..
COMMAND=$rootdir/supplementary/runcommand/runcommand.sh 4 "$rootdir/emulators/RetroArch/installdir/bin/retroarch -L
find $rootdir/emulatorcores/pocketsnes-libretro/ -name “*libretro*.so” | head -1--config $rootdir/configs/snes/retroarch.cfg $__tmpnetplaymode$__tmpnetplayhostip_cfile $__tmpnetplayport$__tmpnetplayframes %ROM%"
..and enable save_config_on_exit.