I will use this post as collector for any further improvements that we see in the MAME (current) RetroArch core.
Update 9 May 2026 - with the tremendous help of a community member, I now understand that MAME (current) still supports the .lay files of MAME official. However, due to the limitations of the RetroArch implementation, you will only need this for very special topics, but not for classical bezel artwork.
If I am not mistaken, there is no documentation of this setup anywhere - so here you are.
Very long time ago, I did a deep dive into the logic of a MAME .lay file:
With a highly capable shader such as koko-aio, there is no longer the need for such .lay file in RetroArch. However, there are things that a MAME .lay file is still valuable in RetroArch:
Configuration in the RetroArch shader, such as koko-aio:
- Arcade machine artwork
- Bezel configuration in every single detail
- most Backdrops
What's left for a configuration in the MAME .lay file:
- Screen overlays for colorizing pixels
 |
| The colorization of the pixles is done with an overlay in the MAME .lay file |
 |
| In comparison without the overlay |
- Dual screen setups, like in certain Game & Watch handheld games
 |
| The alignment of the two screens is done in the MAME .lay file |
- Backdrops, like those of Game & Watch handhelds, only look good if configured in a MAME .lay file
 |
| Grass, hens and wood is in a MAME .lay file as backdrop, not in koko-aio |
The apparent challenge is that you need to be absolutely sure what you need in the MAME .lay file and what not. Have a look into the two Game & Watch examples, that should help.
Installation of MAME lay files
Like in MAME official, the relevant file are compressed into a .zip file having the name of the game. In the .zip file, the layout file is called default.lay, and it contains the references to the other files in this .zip file.
Installation path in RetroArch:
RetroArch/system/mame/artwork
For your orientation, the system folder is the folder that contains all other system data, such as bios files of consoles. Inside of this folder the mame subdirectory is written in small letters, as well as the artwork directory. Same as in official standalone MAME.
I hope that this information helps, it is incredibly hidden in the Internet. Cheers.
Update 4 August 2025 - just briefly an overdue update on easier highscore support in MAME (current) for RetroArch, which I can confirm as working (done with newest MAME version 0.279)
Preparatory steps:
- Step 1: have the MAME (current) core installed
- Step 2: verify that you have the following directory: $HOME/Documents/RetroArch/system/mame - if not, then create it
- Step 3: download the entire master file from github as a zip file: https://github.com/libretro/mame and extract it
- Step 4: move the following directories into the mame directory according to Step 2: hash and plugins
Activating Highscore Support from within MAME (current):
- launch a game in MAME (current), enter Quick Menu, and in the Core Options/System, enable "Boot to OSD"
- Completely close RetroArch, launch it again and launch a game (horizontal monitor!) in MAME (current) -> the OSD appears
- With (TAB), jump to the General Settings of the MAME OSD, go to Plugins and activate "Hiscore Support" - don't forget to save the settings in the MAME OSD.
- After this, disable "Boot do OSD" in the Core Options and completely close RetroArch again.
- MAME has now generated the necessary ini files in $HOME/Documents/RetroArch/system/mame/ini
From now on, games should save highscores in $HOME/Documents/RetroArch/system/mame/hiscore. Play any game and get a hiscore, and it should create this directory and save hiscores into it.
Very good news: In my tests, I could successfully move all hiscores from MAME official to MAME (current) in RetroArch! The solution now seems compatible and stable enough.
Still a bit clumsy, but far better than before.
Reminder: samples for very old MAME games need to be here as well - $HOME/Documents/RetroArch/system/mame/samples