HSM Mega Bezel Reflection Shader! - Feedback and Updates

Hey @HyperspaceMadness, I’m trying to get better image quality with vertical resolutions. I’m using a custom resolution for W747 x H995, but the result is never as good compared to 4:3.

I do not have the proper alignment of the lines and there are some dark, circular bands on the tube

What is the best setting for this resolution type?

EDIT: Reducing the width to 746 corrected.

Is there any way to know the correct ratio and thus avoid creating resolutions out of scale?

1 Like

Hi @soqueroeu, glad you seem to have gotten it to work the way you wanted.

To avoid as much moire pattern artifacts as possible it’s best to try to use integer scale. With lower resolutions integer scale vs non-integer scale has a big impact in how much artifacting you see. The moire artifacting is always related to the screen curvature, without any screen curvature the moire will go away, although I really like the curvature, so I don’t usually want to keep using it

I find the integer scale snap setting is useful for figuring out whether integer scale can help in a particular situation. To do this you can increase the snapping percentage, then adjust the non integer scale to see how far you are away from the closest integer scale multiple, or keep non-integer scale the same, and increase the snapping percentage until it snaps to an integer multiple.

Could you post a before and after images so I can understand exactly what the issue was?

1 Like

OK! @HyperspaceMadness,

The image on the left shows how it was before the adjustment. The resolution was W747 x H995.

In the image on the right, I just reduced the width to 746. Obviously I made some additional adjustments to the reflections and corners that are noticeable in bezel:

1 Like

Great project!! I am new to this and i am testing this on my laptop i5 10th gen. But it runs slow on my laptop… is this normal? Do you need a high end pc for this shader? Thanks! Gr Domien

1 Like


It could be, do you have a discrete graphics card in the laptop, or is it running on intel graphics?

If you have a lower power machine you can try using one of the reflection only presets and setting the retroarch video aspect ratio to 4:3 (which will cut off the shader at the left and right of the screen)

Hey everyone, I’ve got an update on the development of the shader.

The latest work I’ve been doing is adding management of the layering of the images and generated graphics. This includes support for backdrop and colored gel type of effects – the fancy Space Invaders cabinet is a good example. The different layers can be scaled and followed the screen scaling if desired as well as have layer ordering changed.

The general functionality is similar to the mame layouts but it’s not completely generic as mame layouts are. Although on the other hand you can tune and adjust things interactively instead of changing text files then reloading them. :smiley:

@Duimon and I have been working closely on this new functionality and he has put in a lot of time & effort to help drive the feature details and test it out so we can make sure it fits most users needs, so a huge thanks to him as it will be a much better feature set with his input. :smiling_face_with_three_hearts:

All this functionality means a bunch more parameters.

There are some technical limitations I’m running into with having so many parameters. The first is the way shader presets currently work all the parameters need to be spelled or in one long string of characters. Our current development has maxed out the length of this string, so values for the parameters at the end of the parameter list don’t get applied. :grimacing:

Also if you can believe it I’m starting to hit the new parameter limit. :roll_eyes:

The solutions to these problems are to change some things in retroarch itself. This means that I’ll have to fix them, get them approved and merged into the github repo then wait for the next release of retroarch to release the updated shader, so this might be a little while :frowning:

If you still really really want to try the super alpha versions @Duimon is working with you can get the latest from my Github at the top of this thread. Stuff on Github will likely be added & removed and change function rapidly, YOU WERE WARNED!!! :skull_and_crossbones:

Here’s Tron, the red striped image inside is the bezel image :slight_smile:

@Duimon has done a bunch of cool work with the in progress shader, which you can see here:

OK, end of PSA :exploding_head:


I’m super excited to see the result. Thank you guys for putting so much time on this. It’s actually super interesting to read the progress and difference this plugin is making.


You’re welcome! It’s a fun project and it will be great to make something flexible enough for most people’s needs.

:slight_smile: I’m glad the technical stuff is interesting, I wanted to give context on where we are and the path forward.


Hi guys! Can you tell me the color values of this bezel screen (TV screen) ? I’m colorblind and don’t want spend hours for manual tests. Hope you understand my English :wink:

1 Like

If you mean the HSV of the bezel and frame

H = 240

S = 100

V = 16

1 Like

Thank you, it’s OK for me now :wink: HSM shaders are so great but I’ve just one problem. Impossible to have a vertical game running correctly.

What am I doing wrong? I’m trying all HSM shaders and still the same.


That’s odd, the background graphic should never rotate like that. Did you make any changes to you desktop rotation or RA video aspect?

What you need is to have the vertical version of the graphic set as your vertical background image, the shader will take care of the rotation as long as you have aspect set to auto in the parameters.

It seems like maybe you are using a vertical aspect in the RA Video Settings, e.g. 3:4

For this sort of setup it’s probably best to have your RA Video settings set to 16:9 so the background goes all the way across the screen.

I still think there might be a bug in the screen scaling though, regardless of if you are in landscape or portrait the bezel/screen aspect ratio is wrong. In the shader are you using the integer scale option in this parameter?: [ SCALING ] Int Scale Mode - OFF, ShortAxis, BothAxes

Well… I’ve this with video/scaling/aspect ratio : 16/9 and No integer scale, integer scale is OFF.

Shader settings :

Really don’t understand…

Try loading hsm_megabezel_0_guest-drVenom and still the same :

Is this FBNeo or MAME? Try using the core’s rotation feature.

I think that is just the problem. The only time I have seen anything like this is with flycast. When a core has an manual rotation feature it messes with the auto rotate/aspect modes of the shader.

If this is with the MAME core then I’m certain it is a settings problem.

If you let me know the core and rom I will see if I can duplicate it and solve your problem.:grin:

1 Like

Thanks @c9f5fdda06, I think this is exactly the problem. I think with the Mega Bezel you will want to turn off the core rotation. I think this means you need to turn OFF core rotation in the core options.

Then you can use the Mega Bezel parameters to rotate the tube/screen.

Thanks guys!

It was in the core option as you say and after rotate CRT tube all is OK! Too happy!


On Galaga, what is your setting in phosphor persistence? - 0.20, less or more?