I ended up writing my own simple (~30 line) scripts.

For MAME and FBA roms it utilizes local text files that have associations between the rom names and their actual names (ghouls -> Ghouls and Ghosts). It will create the gamelist.xml (just like ES-scraper), but does it entirely locally, so it only takes a couple seconds to process a couple thousand roms. It will even make image references in the xml file if you have png files in the rom directory with the same names as your roms.

There are much faster ways to automatically fetch appropriately sized and named rom png files. I used the EmuMovies automated downloader, which is a Windows app. To grab the images you just point the program at your roms directory and it will take care of everything in a couple minutes. Then they just needed to be transferred to the appropriate rom directory on the pi.

I also have a similar script for console games, but it doesn’t have the name association file so the roms need to be named in the same way you want them displayed. There are already lots of solutions for renaming rom files.

The scripts don’t populate descriptions, but honestly I never felt the ES-scraper descriptions were of any real benefit.

If there’s lots of interest I can post the scripts somewhere, but I’d want to clean them up and do some consolidation before they are shared.