errors saving config in retroarch, needing help with settings
-
@dankcushions Yes, I have read and re-read the docs several times, but there's nothing there that walks through the Retroarch MENUS, plain and simple.
Again, all I really wanted to do was to follow the docs to get my trackball and spinner working for specific games. I feel like the docs take an "all or nothing" approach to adding spinner and trackball support via mouse input. It doesn't really detail very well how to add it PER ROM.
Where it talks about the:
3 main ways to configure input for RetroArch:
Autoconfigurations - made in EmulationStation
(this won't work because it's not part of this "retropad" concept)
Hardcoded Configurations - made by editing retroarch.cfg file(s)
(this won't work because it takes the "all or nothing" approach mentioned above)
Core Input Remapping - an easy way to do specific control configurations for specific cores, made in the RetroArch RGUI
(and here is where I find myself, desparately trying to re-find the place where you can save out a rom.cfg file but getting warned because I'm treading too deep into Retroarch menus)
SOMEWHERE buried deep within the docs is a couple lines about how to save out and edit the config PER ROM. I feel like I read it once and now can't find it again. This really shouldn't be this hard, and I would argue that ES really needs to just add an option to add the spinner and the trackball in the inputs there to make it JUST as easy as the gamepads and joysticks and buttons are. -
@hoeveler said in errors saving config in retroarch, needing help with settings:
@dankcushions Yes, I have read and re-read the docs several times, but there's nothing there that walks through the Retroarch MENUS, plain and simple.
there’s sections to walk through the retroarch menu in the above doc, where appropriate, but note that for the retropie config hierarchy to maintain integrity it’s not always possible to do it via retroarch menus.
Again, all I really wanted to do was to follow the docs to get my trackball and spinner working for specific games. I feel like the docs take an "all or nothing" approach to adding spinner and trackball support via mouse input. It doesn't really detail very well how to add it PER ROM.
i don’t use a spinner/trackball but i presume to add it to a particular rom you would follow the guide here, but when it refers to updating cfg files, you’d instead create and update the per game rom cfg as per here - just add the relevant line(s) to that. also note that when the spinners doc talks about setting core options it links to here where it links to the core options doc which explains how to set them per rom/game
This really shouldn't be this hard
if you can think of a better way to document please update the docs :)
-
@dankcushions Thanks for the help. I forgot that the docs are in github, so I think I will throw my hat in the ring to writeup a step-by-step guide specifically for lr-mame2003 / lr-mame2003-plus. My problem is simply because of my own ignorance, I'm wading through a bunch of information about capabilities and code examples from 4-5 different sections of the docs, spread out over 3-4 different cores, but as a new user it's hard to understand exactly HOW to do it.
Another part of my confusion has been the mental model of how everything works together. With so many layers to how inputs go through the system (Pi > ES > Retroarch > MAME), and because the menus in Retroarch look a lot like the menus in MAME, at first I was having a hard time knowing where I was. -
@hoeveler said in errors saving config in retroarch, needing help with settings:
that worked with the exception of two errors:
...Not sure how permissions got changed there, on Linux (RetroPie included) you should not use
sudo
/su
/ theroot
account except for system related functions. The excessive use ofsudo
can break permissions and will cause - sometimes subtle - issues. If something doesn't work, magically usingsudo
is not a solution - most likely you'll end up with garbled permissions and errors caused by it.For normal RetroPie operations (editing/adding config files for games, adding new games, copying/removing saves, etc.) you don't need any special permissions.
Thanks again - can you recommend a walkthrough of the settings in Retroarch as it pertains to a RetroPie setup?
What is particular to RetroPie are 2 main things:
-
the config hierarchy explained in the RetroArch controller page. If you're just looking to change the input configuration though, you can safely use the core remaps directly from the Controls menu' and you don't have to edit any configuration files.
-
the Configuration Editor that can be used to change a few RetroArch parameters globally or per-system. This includes the menu driver (interface) - you can switch here from the RetroPie default to
xmb
or the more modernozone
UI.
Other than that, the complexity comes mainly from RetroArch's own plethora of knobs and options. My advice would be (adding to @dankcushions's post):
-
don't enable Save on Exit, but instead save a conf override for the game / core / folder. What works for one system/game may not work for the other.
-
For the input settings - use the RetroArch's menus to change it using the Controls menu, test it and then save a remap (again, for core/game/folder). Input settings regarding the controller are not saved to the configuration file.
-
Shaders have their own configuration menu, with separate saving options (they're not saved by saving the configuration file).
-
if you need to change something globally and that option it's not part of the Configuration Editor, then start RetroArch from the RetroPie system and do the changes, this will be applied globally to all systems and cores. Options related to RetroAchievements, Netplay, Notifications, etc.
-
-
@mitu Well, I definitely learn things by breaking things, which is why I love the Pi - I can learn and learn and then re-flash if I get into too much trouble.
Which brings me to my next question - given all that I've learned recently about the right way to do things, but also knowing that this time around I didn't just delete config files at random but have tried to be very careful in what I'm editing - should I (for the 3rd time) reflash retropie to the defaults and start all over again? I mean... things are working fine now with the exception of thelv10: Error finding/creating FileData for "/home/pi/RetroPie/roms/arcade/mame2003-plus", skipping.
that we never quite fixed. -
@hoeveler said in errors saving config in retroarch, needing help with settings:
I mean... things are working fine now with the exception of the lv10: Error finding/creating FileData for "/home/pi/RetroPie/roms/arcade/mame2003-plus", skipping. that we never quite fixed.
Is this another permission issue ? Does that folder exist and it's accessible by the
pi
user ? -
@mitu I tried the same pi user chmod command on that but it didn't make the error go away.
-
@hoeveler I'd just re-flash the image again, do an update and then proceed from there with the configuration.
-
@mitu Indeed. I'm doing just that with a brand new 128GB microSD card. AND I'm happy to report that the keyboard timeout issue has gone away since I replaced the 2A 5V power supply with the CanaKit 3.5A 5.1V PSU! :)
-
@hoeveler NOW what's going on?! I reflashed, updated packages, raspi-config, installed the pimoroni picadeHat (all this via command line, haven't opened ES yet, always hit F4 to quit to command line) but now upon my first use of ES, when I select anything in the retropie menu and it fades out ES UI (like when I'm going to ES themes for example) but the screen is now faded and nothing will bring me back to the ES interface. The only way I can get control is to use the shutdown button on my picade hat, which shows the command line shutdown process. So why is my screen fading out and the system seemingly unresponsive?
EDIT: I just hit F4 and the screen quit out of ES but didn't go to the command line. This is even worse than I had things before I reflashed - is this 128GB card too big now? LOL
Maybe this??
On Debian Jessie addconsoleblank=0
to the existing line in/boot/cmdline.txt
(with a space before it so it's an additional parameter). This prevents the screenblanker kicking in. With it, runcommand dialog is always displayed.
No, I checked and it's already there... Hmm -
@hoeveler not sure whether fsck may identify "fake" Flash Media, but as they seem to have become a major problem during the pandemic and harware-shortage: Have you tried testing the the card with F3 (aka "Fight Flash Fraud or Fight Fake Flash" *nix) or H2testw (windows)?
-
@Ashpool No! I've never heard of this. I'll check it out.
EDIT: I might have just fixed the issue automatically by running an arcade ROM. Now the retropie menu items work properly. Maybe running a ROM and having that process refresh the HDMI and/or audio outputs fixed something? -
@dankcushions @mitu I have another question about how things work... while doing more RTFM ;) I learned that libretro mame 2003 plus actually reads metadata about the game ROMset with regards to controls and labels, etc.
https://docs.libretro.com/library/mame2003_plus/#input-system-controls-and-options
Here it even mentions, "By default, mice/trackballs and analog sticks (the left one, for controllers with 2) are supported in games that would have them, or equivalents. For example, Centipede supports the mouse/trackball, and Afterburner supports the stick."
https://docs.libretro.com/library/mame2003_plus/#mouse-and-trackball-support
So, why doesn't it actually work this way in RetroPie? Why do I have to get into all this manual configuration if these docs SEEM to indicate that this all could be just simple plug-n-play? -
@hoeveler i'm afraid mame2003 plus is not something i'm familiar with (although perhaps a similar method is in place for mame2003 vanilla since i stopped working on it years ago)
in any case, you're looking at the libretro docs (not ours), although they seem to have lifted this section from our docs: https://retropie.org.uk/docs/lr-mame2003/#mousetrackballanalog-controller-support which i wrote and are (or at least at the time of writing) correct - if you have analog stick set on your retropad, it's used where appropriate by default. mouse is a little trickier as you may have to point it to the right mouse device (several gamepads/keyboards/etc will add mouse devices to your system), but yes it is used when it's needed.
so yeah i don't know why you're setting things up 'per game' as you would seem to be busywork. just set it up per core in the configuration editor. probably could even add it to your entire retroarch but again i don't use mice/etc so I can't say what ramifications that would have on all cores.
-
@dankcushions OK, so with this fresh new install, where I have NOT yet tainted anything through my cat-like curiosity, I should be able to open marble madness and it will automatically sense my trackball and activate it? That wasn't my experience the first time around but let's see if that's different now...
EDIT: WHAAT?! aside from my confusion about why Centipede wasn't included in the ROMset collection I made for this... it DOES automatically work for Marble Madness, and Akanoid worked with my spinner. I have no idea why it didn't work the first time(s) around. I guess 3rd time is a charm! -
@hoeveler said in errors saving config in retroarch, needing help with settings:
@dankcushions Thanks for the help. I forgot that the docs are in github, so I think I will throw my hat in the ring to writeup a step-by-step guide specifically for lr-mame2003 / lr-mame2003-plus.
@dankcushions I think my guide might be the shortest in history:
- install RetroPie
- connect your spinner and trackball
- don't mess with anything and just let RetroPie set things up
-
-
@mitu I don't know why I keep having troubles... but now my different collections (arcade, macintosh, daphne) aren't showing up on my ES options, and the last time I rebooted, ES even told me that no gamepads are configured, as though I had first used RetroPie. I quit then rebooted and now it's back to just missing my collections. The only change I made recently was added ROMs to arcade and daphne and macintosh, and run skyscraper, being sure to run the second process that generates the game list. Then rebooted, but now everything is missing.
EDIT: I rebooted and everything is back again. Hopefully this doesn't happen often.
So back to the point of this post, and the reason why I added more ROMs - so that I could test if centipede would automatically recognize my trackball, and it can't.
So unfortunately in the docs, where it says "For example, Centipede supports the mouse/trackball, and Afterburner supports the stick." it might support the trackball but it doesn't automatically recognize it as that makes it sound, at least not with the default settings. However Marble Madness DID auto detect the trackball. So how can I fix this without delving into the config files which is what got me into trouble in the first place? :)
EDIT 2: https://retropie.org.uk/docs/RetroArch-Core-Options/#setting-core-options-per-rom says "You may prefer to apply Core Options to a specific ROM, and not for all ROMs within that core. To do so, follow the above instructions, but instead of exiting the RGUI at the end, select Manage Core Options ▶ Save Game Options at the top of the Options menu."
Except that there is no "Options" menu in the retroarch menus that I could find. OH wait... I just found "CORE Options". I think that's what the docs meant to say? Syntax is very important for new users otherwise we get into the weeds and start selecting the wrong config files, LOL
EDIT 3: here's the runcommand.log: https://pastebin.com/CkcQGjWJ
Strangely, when I logged in via SSH the first time after selecting centipede then hitting hotkey-X to start with verbose logging to generate the log file, it didn't find anything in the /dev/shm directory! Then I tried again, same process, and it found the log. Odd. -
So back to the point of this post, and the reason why I added more ROMs - so that I could test if centipede would automatically recognize my trackball, and it can't.
So unfortunately in the docs, where it says "For example, Centipede supports the mouse/trackball, and Afterburner supports the stick." it might support the trackball but it doesn't automatically recognize it as that makes it sound, at least not with the default settings. However Marble Madness DID auto detect the trackball. So how can I fix this without delving into the config files which is what got me into trouble in the first place? :)Trackballs are identified as mouse devices, if you have multiple devices you need to change the mouse device # from the Controls menu. See if that works, then you can save a game remap.
EDIT 2: https://retropie.org.uk/docs/RetroArch-Core-Options/#setting-core-options-per-rom says "You may prefer to apply Core Options to a specific ROM, and not for all ROMs within that core. To do so, follow the above instructions, but instead of exiting the RGUI at the end, select Manage Core Options ▶ Save Game Options at the top of the Options menu."
Except that there is no "Options" menu in the retroarch menus that I could find. OH wait... I just found "CORE Options". I think that's what the docs meant to say? Syntax is very important for new users otherwise we get into the weeds and start selecting the wrong config files, LOLRetroArch has changed the menu name from Options to Core Options, but the location is the same. Since we only recently updated to the latest version, we haven't changed the docs, since most users will not have this new update.
EDIT 3: here's the runcommand.log: https://pastebin.com/CkcQGjWJ
Strangely, when I logged in via SSH the first time after selecting centipede then hitting hotkey-X to start with verbose logging to generate the log file, it didn't find anything in the /dev/shm directory! Then I tried again, same process, and it found the log. Odd.The
/dev/shm
folder is created in RAM, if you rebooted after running a game and you've looked there after the boot, there won't be anyruncommand.log
. There's nothing special in the log file, I see all mice detected. The core doesn't print which mouse device is trying to use, so we can't see why the trackball is not working.[INFO] [udev]: Mouse #0: "PixArt USB Optical Mouse" (REL) /dev/input/event0 [INFO] [udev]: Mouse #1: "Ultimarc SpinTrak" (REL) /dev/input/event6 [INFO] [udev]: Mouse #2: "Ultimarc UltraStik Ultimarc Ultra-Stik Player 1" (REL) /dev/input/event8 [INFO] [udev]: Mouse #3: "HID 1241:1122" (REL) /dev/input/event5
I'm starting to wonder if your issues are not from an under-powered system, this kind of situation always yields weird errors which are difficult to diagnose.
-
@mitu Well, as always thanks for the help. I don't think it's underpowered given my new 3.5a CanaKit PSU made specifically for the Pi4 and it's a powered USB hub. But I can't rule out an unseated cable or something because now it's back to working correctly. I'm going to keep the USB HDD connected directly to the Pi, since if that isn't seen on boot, then it won't have access to the romsets which explains why they wouldn't show up, and if the USB cable to the hub got jostled then that would also explain why the gamepad wasn't detected.
#OccamsRazor
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.