Yeah if frame_delay can't work with BGFX - or if it can but there's still incompressible lag left when using that mode anyway - and if mamedev keep making changes that break it, then it might indeed be a deperate struggle.
If ppl want BGFX with smooth correct refresh scrollings and no lag; they have to use a VRR setup, in which case Groovy doesn't offer much else vs mainline MAME in terms of features, aside from saving the main UI sliders, intoverscan (and the multimonitor specifics maybe?)
Groovy's smooth correct refreshes and frame_delay lag reduction work on flat panels, either partially or completely depending on the display's compatibility (unknown without testing)
AND that limits usage to the backends Calamity specified.
Therefore HLSL and GLSL for CRT look simulation.
[crt shader rant]
TBH I think what ppl have always been lacking for those CRT shaders to get more popular are good presets working for most display resolutions and orientations.
BGFX mode does provide a number of presets (some very questionable producing a blurry run-down crt look) so that's why ppl want to use it.
But IMO from the beginning when those shaders have been introduced, and without waiting for BGFX, MAME should have come bundled with ready generic clean RGB CRT presets broadly compatible with resolutions for use with HLSL and GLSL immediately.
The process of figuring what those shader settings do one by one to achieve an optimal effect is borderline unfeasible (plus the non-saving UI sliders and some mismatched settings names in the .ini and dealing with ini hierarchy after you finally figure that you have to delete the raster.ini to be free, dont help also), and being disappointed at settings other ppl share has also been commonplace since them too don't master it and have their own personal taste and hardware biases. That's already it for HLSL, and while I haven't used GLSL I've seen that it requires to figure out how to even make it work at all, so in short from the beginning the problem has been the same old MAME has been marred with: accessibility and user-friendliness.
Personally it took me a very long time to find even just generic settings for HLSL, not great but working anyway for most games I play and at whatever monitor resolution I commonly use (1080 & 1440) and now I think I could make it work for anything.
But I had to go through the five stages of denial, anger, bargaining, depression and acceptance that I would never manage to make it look good-enough and all i can afford to make work is a simplistic scanlined shadow mask with a bit of bloom and variation.
In short I can only use like maximum 10~15% out of the over 80 lines of settings found in the mame.ini dedicated to CRT simulation, only to achieve that simplistic but working basic effect.
I so wish we have had capable ppl who have made and implemented that feature, enlighten and guide, and share the best they could do with their own baby for the common good, and certainly for the good of MAME as a whole.
No surprise seeing the shaders feature of RetroArch, that the latter's become so dramatically popular in comparison, as it has long been way ahead in that department, the only thing it can boast about.