Mega Bezel CRT Simulator
This thread is about the Mega Bezel Reflection Shader for Retroarch! Here you can tell me what’s working for you and what could be better.
If you are wondering “What is this thing?” here’s a nice little overview up sharing our ideas around the Mega Bezel project and some of its features: RetroArch – Introducing the Mega Bezel Reflection Shader – Libretro
This shader package is meant for you to experiment with and make your own creations if you like. Try adjusting the shader parameters to change the look, as most things are adjustable for personal taste.
The base package is now part of the Libretro repo but there are also updates periodically which may get a release on Github before they go into the main repo.
!!IMPORTANT!!! Please follow the Installation and Setup instructions below
Intro Animation Can be customized and turned off
Mega Bezel Night Preset with awesome graphics from @duimon
SEE BOTTOM OF POST FOR MORE EXAMPLES
SHADER FEATURES
- Auto-Generated Bezel around the tube area
- Dynamic Reflections on the Bezel
- Images can be added for background, LEDs, PVMs etc
- Easily scale the game screen, including integer scale
- Crop edges of the the game image
- Dual screen support for emulated systems like Nintendo 3DS (Emulated by Citra) or Nintendo DS (NDS)
- And lots more
- Also Runs on Xbox Series S, Xbox Series X and Steam Deck
HERE ARE THE LINKS!
INSTALLING THE BASE MEGA BEZEL PACKAGE
- You MUST use Retroarch Version 1.15.0 or Later (It will fail to load on earlier versions)
-
If you want to use the default Mega Bezel included with Retroarch:
- Use Online Updater -> Update Slang Shaders to update the shaders, the shaders will be added here
Retroarch/shaders/shaders_slang/bezel/Mega_Bezel
- Use Online Updater -> Update Slang Shaders to update the shaders, the shaders will be added here
-
If you want to install from a zipped release from the link above:
- If the
shaders/shaders_slang/bezel/Mega_Bezel
folder exists delete it - Inside the .zip is a Mega_Bezel folder. Copy the Mega_Bezel folder into your
Retroarch/shaders/shaders_slang/bezel
folder (If the bezel folder isn’t there you can create it) - The final path to the Mega bezel should be
Retroarch/shaders/shaders_slang/bezel/Mega_Bezel
- If the
RETROARCH SETUP
-
Do all of the following before loading content
-
Set the Video Driver
- Set video driver to Vulkan or GLCore if Vulkan is not available
- It will run in GLCore but seems faster in Vulkan
- D3D IS NOT RECOMMENDED. If it loads in D3D it has a VERY slow load time
- Restart Retroarch after changing the video driver
-
Set the Video Driver
-
Video Scaling
- Open the Settings Menu and Set:
- User Interface / Show Advanced Settings to ON
-
Video / Scaling / Aspect Ratio to Full
- This will match your monitor aspect aspect ratio
- Video / Scaling / Integer Scale to OFF
- Video / Output / Video Rotation to Normal
- Core / Allow Rotation to OFF – Important for FB Neo and MAME Current
- Open the Settings Menu and Set:
-
Core Setup
- For FB Neo
- Go to Quick Menu > Core Options and turn vertical mode to OFF
-
MAME Current
- Go to Quick Menu > Core Options and set Rotation Mode to internal
-
Swanstation (and possibly other 3D cores)
- Set Quick Menu / Core Options / Enhancement Settings / GPU Renderer to Vulkan or GLCore if Vulkan is not available
- For FB Neo
LOADING AND SAVING PRESETS
-
Load a preset in the shaders menu.
- The Mega Bezel shader presets are found in:
Retroarch/shaders/shaders_slang/bezel/Mega_Bezel/Presets
- The Mega Bezel shader presets are found in:
-
IMPORTANT!! When saving a preset make sure you have the Simple Presets feature set to ON
- This will save a preset with a reference to the preset you loaded plus whatever parameter changes you made
- This keeps your presets loading properly when the shader updates in the future
WHAT DOES EACH PRESET DO?
- Try this preset to start:
Mega_Bezel/Presets/MBZ__3__STD.slangp
- Presets are named and organized based on capability and performance
- The most performance heavy presets’ names start with MBZ__0__SMOOTH-ADV and then lighter presets have higher numbers, ending in MBZ__5__POTATO
- For details see the README here https://github.com/HyperspaceMadness/Mega_Bezel
EDITING PRESETS
- You can then open this Simple Preset file and add other parameter adjustments or set textures as you see fit. E.G. add the following lines to change the background image:
BackgroundImage = "MyImage.jpg"
- Or change the path indicated on the
#reference
line to point at a different base preset
INSTALLING ADDITIONAL PRESET/GRAPHIC COLLECTIONS
- Create a folder named
Mega_Bezel_Packs
in the root of the shaders folder, the final path of this should be `Retroarch/shaders/Mega_Bezel_Packs - Place any of the additional collections inside this folder
- For example the final path to the examples pack should be
Retroarch/shaders/Mega_Bezel_Packs/HSM_Mega_Bezel_Examples
LOADING THE SHADER CRASHES RETROARCH, WHAT’S GOING ON?
- If loading the shader crashes Retroarch, your core resolution is probably too high and this is maxing out the GPU Memory to avoid this you can try:
- Using the core’s Native Res
- Changing to the GLCore Video Driver
- Using one of the DREZ presets which reduce the resolution in the first pass.
BUG REPORTING:
- When you report a bug, it is VERY IMPORTANT to post images of the issue. This helps communicate the issue better & quicker, even if the issue seems simple.
- If you have a laptop which has a discrete GPU, make sure it is being used rather than the integrated graphics
- Please make sure you are using the latest version of the shader
-
To help you we need:
- What is the Preset filename?
- Which Core?
- Core Internal Res, 1x, 2x etc?
- If the shader not loading or crashing you MUST INCLUDE A LOG for us to help you.
-
How to Generate a Log:
- Go to Settings
- Enter Logging
- Activate Logging Verbosity
- Adjust Frontend Logging Level to 0 (Debug)
- Activate Log to File
ALPHA DEVELOPMENT:
- If you want to follow the raw bleeding edge of development or want an older version you can take a look at my github repo:
CURRENTLY INTEGRATED CRT SHADERS:
- Guest-Advanced (GDV) - Official Default of the Mega Bezel!!!
- Megatron (Requires high brightness display)
- Easymode
- LCD Grid V2
SPECIAL THANKS TO MY PARTNERS ON THIS PROJECT:
I want to thank @Duimon who is one of the contributors on this project creating great graphics. His testing, pushing the system and recommending features to improve and simplify has been a great help . He has put in SO MANY hours and attention to this project which have helped it become what it is now. Thanks @Duimon!!! . Links to Duimon’s work are below in the Resources section.
@TheNamec has also really helped push the shader system and experimented in how to organize and leverage references of shaders as well as make beautiful graphics.
THANKS TO THE SHADER WRITERS!
The Mega Bezel uses a number of shaders written by awesome shader writers from the community:
- Guest.r (Guest-Advanced crt shader)
- Hyllian (Super-XBR & Checkerboard DeDither)
- Sp00kyFox (Scalefx & MDAPT DeDither)
- EasyMode
- CGCW (LCD Grid)
- DariusG (GDV Mini)
- Dogway (Grade Color Correction)
- aliaspider (GTU)
- Trogglemonkey (Royale 3D Curvature)
- Flyguy (Text Shadertoy)
- A special thanks to hunterk for porting a number of these and helping me with his expertise along the way!
RESOURCES:
@Duimon: Awesome graphics and presets for the different historical consoles & computers::
- Releases · Duimon/Duimon-Mega-Bezel (github.com)
- Duimon - HSM Mega Bezel Graphics and Presets - Feedback and Updates
@TheNamec: Really amazing graphics for the Commodore & Amiga systems and PVMs:
- Releases · TheNamec/megabezel-commodore-pack (github.com)
- TheNamec - Mega Bezel Packs Amiga, Commodore 64, VIC20, CRTgaming soon
@soqueroeu: Great pack of console branded TV graphics which are looking awesome.
@p3st has been doing some really creative things with the Mega Bezel and has some great stuff available. He has been working on a Launchbox Big Box theme centered around a crt look.
@Orionsangel has been doing great overlays here for years! He has been using the Mega Bezel for some of his recent work My Realistic Arcade Bezels
SURVEY
Results of the last survey completed Aug 1 2022:
EXAMPLES
Adaptive for different monitor aspects
Glass Preset
Dual Screen
Nintendo DS (NDS) Dual Screen graphics by @duimon
Nintendo 3DS Dual Screen - Horizontal Layout graphics by @duimon
Debug Scaling Info & Downres Core Output
Blend that Waterfall!!! De-Dithering with MDAPT
No blending of dithering
Blended dithering
Contour Smoothing Scale-FX smooths the shapes in SMOOTH-ADV presets
No Smoothing
Smoothed