I read the following on a random web site about Selphs Scraper...
Why are there two included scrapers? Why does it take so damned long?
Emulation Station needs two things to look its best: boxart for each game, and a ‘gamelist.xml’ full of metadata for each system. ES has a built-in-scraper, but that uses your roms’ filenames to identify them. That method can be pretty unpredictable.
It’s a better idea to use the included “Steven Selph” scraper in the Retropie textual menus, as it uses rom hashes to provide much more accurate results.
But it takes forever.
To fix:
Note that you can’t use the Selph scraper if Emulation Station is open, or its work will be overwritten. Quit from ES before scraping (If you’re logged in remotely: “killall emulationstation“) then get busy:
sudo ~/RetroPie-Setup/retropie_setup.sh
setup/tools
scraper
The scraper will first download all your images in one big queue, and you can watch as things happen in the terminal. This takes about five minutes. Then, at the end of your queue, everything will freeze…or will appear to. For HOURS. Don’t break out of it. Let it sit and ‘do nothing’. Even though there is no visual feedback, the current system’s gamelist.xml is being generated. A recent scrape of ~120 Genesis roms took about three ---smurfing--- hours, conservatively.
The only setting I’d really change from the defaults is to disable “Thumbnails Only”. When I left that enabled I ended up with a bunch of low-res blurry upscales.
I agree, this slow scraping thing sucks because it’s probably one of the first things you’ll do when you set up your RetroPie install, and during this whole time you can’t play anything. Let it run overnight.
As nice as it is to look at and use, Emulation Station seems to have been abandoned by its author with no updates in over a year. The reliance on huge, slow-to-process XML files was one of the things he had hoped to have fixed before he eventually lost interest in the project. This might get fixed someday, but for now it’s best to limit your romsets to a couple hundred, rather than a couple thousand, just to keep EmulationStation running smoothly.