Folder names, file naming, multi-disc playlists, and box art — the parts of ROM organization that silently break a launcher.
Almost every "my games aren't showing up" or "there's no box art" problem traces back to one of a few naming mistakes, not a broken emulator. Launchers like ES-DE, muOS, and the various OnionOS/GarlicOS forks are matching folder names, file names, and art files against internal lookup tables — get the name slightly wrong and the match silently fails instead of erroring. This covers the ROM side; for BIOS placement specifically, see the RetroArch setup piece.
Most firmwares expect a specific top-level folder (commonly Roms) containing one subfolder per system, and that subfolder name has to match an internal system code exactly — not the console's actual name. A folder called "Super Nintendo" will show up empty even if it's full of valid SNES ROMs, because the launcher was looking for a specific short code.
Exact codes vary by firmware — check your specific launcher's documentation rather than assuming these match yours. The pattern to remember is: it's a code, not a description, and it has to match exactly.
On my RG35XX's stock GarlicOS-based firmware, the SNES folder is actually Roms/SFC, not Roms/SNES — I lost a few minutes to that exact mismatch before I found the real code list buried in the firmware's own documentation.
Scrapers that pull box art and metadata match against a ROM's filename, usually against No-Intro or Redump naming conventions. A file named Chrono Trigger (USA).sfc matches cleanly; a file you renamed to chrono trigger FINAL good copy.sfc usually won't, even though the game runs identically either way. If art isn't showing up for one specific game while everything around it works fine, a mismatched filename is the first thing to check — not a broken scraper.
Multi-disc PS1 games will run from a single disc's file, but without a playlist, the emulator has no way to know a swap is coming when the game asks for disc 2 — you'll get prompted to browse for it manually mid-game. A .m3u file listing each disc, sitting next to them, fixes this: the core reads it and handles disc swaps at the right moment automatically.
I use the scraper built into GarlicOS itself, which pulls from ScreenScraper — it's convenient because it runs right on the device, but it still occasionally matches a Japan-only release's art to a US ROM with a similar-enough name. Worth a manual once-over on anything obscure rather than trusting the batch run blindly.