@poke I converted most of my arcade mame games to the x86 Batocera package and I wanted to tell you about my experience. It was not one of my game that did'nt run under mame2003 and run under mame2003plus, so I really dont need or used it. I have even the impression that it is somewhere more slow and the warning screen about illegal roms is bringing no advantage in this. 🙂
But, what should be corrected is the handeling for the shader configuration files. This is about all Mame versions and I wrote already about in other threads. And surely not your fault, it seems to me this dates from woodworker times. Beginning with the folder names in .config/retroarch/config/... so mame2003 and MAME 2010 after with core configurations files inside again mame2003.cfg and MAME 2010.cfg, pretty standard 😉
But biggest error, the shader configuration files are created as retroarchcustom.glsglp /share_init/shaders so first, they have nothing to do in /share_init but should be under their name in .config/retroarch/config/mame2003/mame2003.glslp or .config/retroarch/config/MAME 2010/MAME 2010.glslp or,,,,perhaps other emulators folder.
Like this all cores are mixed up in 1 file and anywhere deleted with next update. In Recalbox similar error, just somebody Substring? moved it to the share folder, what resolved the update problem, but not the mixing problem. As should the game override configuration saved as name.cfg and name.glslp under the respective folders.
Some revision could also improve the maintenance job of this emulators.