Viewing Issue Advanced Details
|ID||Category [?]||Severity [?]||Reproducibility||Date Submitted||Last Update|
|08272||Crash/Freeze||Major||Always||Mar 26, 2022, 07:18||Apr 16, 2022, 20:30|
|Tester||tomsam||View Status||Public||Platform||MAME (Official Binary)|
|Assigned To||Resolution||Fixed||OS||Linux (64-bit)|
|Version||0.241||Fixed in Version||0.242||Build||64-bit|
|Fixed in Git Commit||Github Pull Request #|
|Summary||08272: Mame reports missing BGFX files and crashes (arch linux only)|
After 0.240-1 has been replaced by 0.241-1 on my up-to-date arch system, it doesn't start anymore and reports missing BGFX files.
I therefore submitted a bug to the corresponding arch maintainers, but they claimed that this is not a problem with their packaging, and thus "upstream" aka the MAME developers should be contacted.
I don't know which MAME version the arch packager used, so I selected "MAME official"
The link to the bug report
The initial text
Until the previous version, mame worked fine on my usually updated Arch system.
Linux warp 5.16.15-arch1-1 #1 SMP PREEMPT Thu, 17 Mar 2022 00:30:09 +0000 x86_64 GNU/Linux
Now with version
it displays the text
Unable to open effect file bgfx/effects/gui_opaque.json
Unable to open effect file bgfx/effects/gui_blend.json
Unable to open effect file bgfx/effects/gui_multiply.json
Unable to open effect file bgfx/effects/gui_add.json
Unable to open effect file bgfx/effects/screen_opaque.json
Unable to open effect file bgfx/effects/screen_blend.json
Unable to open effect file bgfx/effects/screen_multiply.json
Unable to open effect file bgfx/effects/screen_add.json
Ignoring MAME exception: BGFX: Unable to load required shaders. Please check and reinstall the bgfx folder
Fatal error: BGFX: Unable to load required shaders. Please check and reinstall the bgfx folder
Reinstallation of the package, and removing the mame.ini file, did not help.
The question is: Is this a bug or is there just a new config option missing
The bgfx files (from the package) seems to be installed
find /usr/lib/mame/bgfx/ -ls | wc -l
find /usr/lib/mame/artwork/bgfx -ls | wc -l
ls -l /usr/share/doc/mame/source/advanced/bgfx.rst
-rw-r--r-- 1 root root 7868 23. Feb 21:17 /usr/share/doc/mame/source/advanced/bgfx.rst
I.e. 1462 file with bgfx in it, just like in the files list.
The files (here shown for the files with opaque in the name)
mame claimed not to be able to find are also there:
find /usr/lib/mame/bgfx/ -ls | grep opaque
36707782 4 -rw-r--r-- 1 root root 599 Feb 23 21:17 /usr/lib/mame/bgfx/effects/gui_opaque.json
36707786 4 -rw-r--r-- 1 root root 677 Feb 23 21:17 /usr/lib/mame/bgfx/effects/screen_opaque.json
If you need more information about my system, let me know.
* package version(s)
* config and/or log files etc.
* link to upstream bug report, if any
Steps to reproduce:
|Steps To Reproduce||Start mame 0.241-1|
As can be seen in the arch bug report, downgrading to 0.240-1 worked,
so it's likely that the new executable has caused this issue.
|Affected Sets / Systems|
|There are no relationship linked to this issue.|
Mar 27, 2022, 19:18
I now compiled the 0.241-1 sources (by make -j 4), and the resulting non-stripped executable worked.
However, if that executable got stripped (by strip mame), the resulting executable crashes as described above.
IMHO, an executable should not crash wether it contains full symbols or not.
Mar 28, 2022, 04:06
|What compiler and version are you using?|
Mar 28, 2022, 06:04
$ gcc --version
gcc (GCC) 11.2.0
Mar 28, 2022, 06:08
Btw: While the non-stripped version creates a $HOME/.mame and a ui.ini
in case there is no $HOME/.mame, the stripped version does not (i.e. it
crashes before it can create them)
Mar 28, 2022, 11:20
This issue has been around for a time. It has now been exposed on 0.241 version because of this commit:
In short, MAME crashed if bgfx_path is not found. You can workaround it by modifying your mame.ini:
Anyway it is fixed here:
Mar 29, 2022, 06:57
|Thanks, I will recompile it, and then forward that information to the package maintainer.|
Apr 15, 2022, 18:32
Presumably, this is fixed for OP from the source end, anyway.
If it continues to be an issue, please comment.
Apr 16, 2022, 20:30
Perhaps this bgfx_path issue was fixed in 0.242 but not by me.
In other words, https://github.com/mamedev/mame/commit/d3829a0932bc1b12e92ee8079a97e7150a96b274 is not related, this one fixed a problem with renderer autodetection.