[$470] Support MAME-style backdrop, screen, bezel, overlay "artwork"

After looking around, on how to enable this, i found the settings in:
(Linux Mint 19.2 Cinnamon - libretro testing PPA)

Settings -> Onscreen Display -> Video Layout

The default path is

retroarch/layouts/

I don’t know if *.zip files are working, in my case (frogger artwork) i had to extract the files
Now i was able to load my games with the frogger artwork.

[First Impression] Performance is so much better than in mame_libretro with native artworks.
On my low-end laptop it changes from nearly unplayable (~15fps) to normal (60fps +)

That’s correct, yeah. Zips worked fine for me but maybe there’s something else involved.

*.zip Browse Archive or Load Archive?

Load results in a crash and browse doesn’t show the *.lay file

command line: segmentation fault

log:

[ERROR] Frontend is built for dynamic libretro cores, but path is not set. Cannot continue.
[ERROR] Fatal error received in: "init_libretro_symbols()"
[ERROR] failed_to_start_audio_driver

wut? I don’t get either of those. I just get a list of files that include the zip and if I select it just plops it right in.

In 1 hour i can test on my windows machine, to see if it is a linux problem.

May i ask for a screenshot of your loading dialog :

1 Like

1 Like

Tested on windows7 - AMD Radeon HD 6800 Series:
Zip loads fine and game starts, but screen remains black (sound is present, so game is running)

  1. *.zip in linux doesn’t load, but *.lay is working. game plays with visible artworks
  2. *.zip and *.lay in windows is loading, game plays but screen remains black (graphic card/driver too old?)

Nothing found in *.log file. Everything looks normal there

I have an AMD GPU in my work machine (win10) and it black-screens, as well. @Tatsuya79 tested in Windows and didn’t have any problems, though, so possibly something GPU-specific there. And yeah, nothing helpful in the log.

I was able to load a zip in linux (ubuntu) on my home laptop. /shrug

from .config/retroarch/layouts or a path without the dot?
I had problems with the mame.ini to make plugins work with dot paths, so maybe the problem lies there?
Unfortunately i can test this not until tomorrow.

I believe I used the default location (~/.config/retroarch/layouts)

1 Like

[UPDATE]

The problem crash on *.zip load was caused by disabling Filter unknow extensions in
Settings -> File Browser
or in retroarch.cfg
menu_navigation_browser_filter_supported_extensions_enable = "false"

This way RA has tried to load the *.zip as game.


About the black screen nothing new.
All systems i tested have ATI/AMD cards, but only the AMD Radeon HD 6800 goes dark.
On Radeon HD 7600G & Radeon HD 5400 it works as expected.
i know, not the newest cards :wink:

I finally got it to work by reverting to a (verry, verry) old graphics driver.
Now other programs doesn’t work anymore, so this is not a valid solution.

This is really sad, bacause i was super excited to see this being developed, but now it seems to be abandoned. (?)

It’s not abandoned. It only just got enabled lol

Maybe abandoned was the wrong wording.
I saw that huwpascoe (i presume the original developer of this feature) wasn’t active since May.
So i thought this feature will remain “as it is”

Sorry if this was misinterpreted by me

yeah, they fulfilled the bounty and then vanished, which is unfortunate but to be expected to happen sometimes. We haven’t reached out to see whether they would be open to bugfixing.

The real hope is that someone will take this working feature and run with it, polishing it up for things like automatic loading by filename match, extending it to other video drivers, etc.

2 Likes

Im just testing this here as well and i cant get the bezels to show period. Windows 10 64bit, Ryzen 7 1700x, GTX 1060 6GB. I have set the MAME core driver to GL but i cant get bezels to show. The game shows just fine, just no bezel.

This was with my daily install, so i downloaded a completely fresh 1.8.0 to test there and i get exactly the same results as my daily build, any ideas?

If it’s not black-screening, is it scaling the screen like it should? to make room for the artwork?

OK i have been doing some more testing with a different game, and i can get it to sort of work. I tested with 1941 and pointed to my 1941.zip bezel. I also unzipped my 1941 bezel to check its contents. i have 9 different bezels in the zip.

Retroarch shows that there are multiple different bezels in the UI, it goes up to 8. However only bezel “4” actually shows in game, and that is in fact a bezel made up of 3 seperate images named inst_1, inst_2 and inst_3, as seen in my first image, and here it is working as bezel 4. So it seems to be ignoring all the other bezels in the zip for some reason even though it see’s them as demonstrated by the UI going up to 8. The previous game i was testing was Guwange, with which i have four images in the bezel zip, but none of those will show for me, the UI shows “4” but none actually show when cycling through them.

2 Likes

Just been notified about this by hizzlekizzle on github.

Please could you send me a link to that 1941 bezel? I’d like to test it.

This is working well for me on a Ubuntu Nvidia GTX960 system, validated against a couple of MAME layouts (puckman, invaders). Thank you!

I recognize that this was developed for the gl driver, but was wondering if it is a heavy lift to extend it to glcore? Could glcore be enabled with some ifdef changes, or is it significantly different from the regular gl driver? I’m not sure how close the drivers are from a code perspective.

The reason I ask is that I would like combine official MAME artwork with RetroArch shaders. However, I find that many glsl shaders fail to work reliably, but their slang counterparts work fine. Unfortunately, using slang on Linux requires glcore (to the best of my knowledge). Im guess I’m trying to have the best of most worlds!

Regardless, this feature is great - thanks again!