CyberLab Megatron miniLED @1080p!
Hi @Cyber,
First of all, let me say that I really enjoy your shaders. I do have some questions though! Iām currently using the Computer-Monitor-Sharp shader. Iām playing on an OLED nLG C2 TV and Iāve noticed that the games canāt go completely black. Iām guessing you are emulating the glow of an CRT, but Iām wondering if that is something that I can change in the parameters without butchering the overall image. Iāve taken a screenshot of what I mean:
As you can see, the gameās image is much more gray than the black borders around it (Iāve disabled the bezel). It feels like I might not be taking full advantage of my OLED tv because of it. Iām wondering if you can provide some insight!
It looks completely black on my miniLED TV under bright lighting but I was able to see very very slightly raised black on my AMOLED phone but only after zooming in, raising the brightness and looking very carefully.
Perhaps your TVās Black Level is set to Auto instead of Low? LG is always playing around with Black Levels between firmware updates.
Other than that, are you sure youāre using Mega Bezel Reflection Shader v1.14.0?
Not necessarily the glow but CRTās didnāt have true black levels like an OLED TV.
Your OLED TVās job is to accurately display the content fed into it. I wouldnāt say that you may not be taking full advantage of it because itās not displaying something in the way that you like but rather is displaying it accurately to the source.
With that said, I probably havenāt used those particular presets in a very very long time. So Iāll load it up and take a look at the output as well as any parameters which may affect black levels just to make sure.
I reiterate though, be sure that youāre using Mega Bezel Reflection Shader v1.14.0 with version 1.14.0 of my CyberLab Mega Bezel Death To Pixels Shader Preset Pack not version 1.17.2.
I also invite and encourage you to try many other presets and preset packs I have created, for example my Mega Bezel HDR Ready Presets and also, my CyberLab Neo-GX presets, then there are my Uborder, Sony Megatron and miniLED preset packs.
Youāre missing out on a lot if you donāt sample the variety and especially the new stuff
miniLED or W420M doesnāt mean you need miniLED TV to enjoy and appreciate the preset. They just refer to what type of display they were created on not necessarily exclusively for.
Incorrect Mega Bezel 1.17.2 output:
Correct Mega Bezel Reflection Shader v1.14.0 output:
From the first post as well as the readme.txt:
Yes, but youāre going to have to work with me especially since I donāt really use my presets on my cellphone that much so not much testing has been or is being done in that regard.
I have 4 shader preset packs which use the Sony Megatron Color Video Monitor shader so it might help if you also state which preset pack you got which shader preset pack from and use the entire filename for ease of identification.
- CyberLab Megatron NX Death To Pixels 4K HDR Shader Preset Pack
- CyberLab Megatron NX W420M Death To Pixels 4K Shader Preset Pack
- CyberLab Megatron miniLED Death To Pixels 4K HDR Shader Preset Pack
- CyberLab Megatron Death To Pixels 4K HDR Shader Preset Pack
For mobile I currently only use my first CyberLab Megatron Death To Pixels 4K HDR Shader Preset Pack as the presets in that one tend to be lighter on resources which make them more suitable for my device. The NES_N64_Saturn presets are only 3 passes so theyāre very light on resources.
I donāt have much experience dealing with those uneven scanlines at 1080p but what Iāve observed from my testing at 4K is that custom integer scaling/aspect ratio can work wonders.
For each combination of console/emulator core, CRT Mask Type, TVL and possibly scanline settings there are vertical scaling settings that work best and other that look less than perfect.
Iāve not been able to use all of the scaling settings on the older version of RetroArch I was using before and Iāve now switched over to a newer one and still trying to get familiar with it, but definitely try to adjust the scaling either upward or downward slightly and see if it makes a difference.
For 1080p Aperture Grille presets might be the most flexible.
If you provide more information about the preset used so I can test it, Iāll be happy to share my findings but my device might choke with those presets though.
OK, so Iām using the Death to Pixels 4K HDR shader, the bottom one in that list without NX on it.
The preset Iām using specifically is: CyberLab Megatron 4K HDR Game SNES Sharp Fine.slangp. The only changes I make when configuring it is switching HDR off, and setting it to 1080p. Everything else is stock.
I have also used Cyberlab Megatron 4K HDR Game NES Composite Slot Mask.slangp, again with the only above settings changed. This is the result that it gives me.
So far none of the shaders themselves have given me any performance issues, at least.
Thanks for the added detail. What core are you using?
I see it looks like thereās a bit of black border on the top and bottom.
Some Cores have auto aspect ratio. You can experiment with it on or off and also the overscan settings in the SettingsāĀ»VideoāĀ»Scaling Menu but what should ultimately resolve this is finding the Integer Scaling/Aspect Ratio sweet spot for this preset. So just make sure Integer Scaling is set to On and also set integer scale Overscale to X + Y and you can experiment with Smart, Overscale or underscale and it might give you the results youāre looking for automatically or you can manually set a Custom Aspect ratio and adjust the X and Y values until the uneven scanlines disappear. You can try positive values first and if that doesnāt work or you run out of space to scale upward, then try lower values.
You can let me know if it works, other than that you can try a different CRT Mask Type and/or a higher TVL.
The is Snes9x, havenāt tried any others.
For aspect ratio I have been using 8:7 with integer, Iāve been using underscale as I didnāt want to crop any of the image if I can avoid it. I may have been being an idiot though. Will X+Y make a difference? Iāve only been running it off Y, or whatever the default isā¦
Donāt use 8:7 with SNES please. Although the system technically outputs an 8:7 resolution, on a real CRT that image is always stretched horizontally to 4:3 producing non-square pixels.
I doubt that.
X+Y can help things to be better aligned in the horizontal direction as well, for example the CRT Mask. Particularly the Shadow Mask Presets, they sometimes benefit from horizontal integer scaling, producing less moirƩ patterns.
Since my W420M Presets where I experimented heavily with Custom Aspect Ratios to get the Shadow Mask Presets looking good, Iāve stuck with some of the things I learned.
This may be the only way to maintain the proper aspect ratio when adjusting the vertical scale to arbitrary levels but I just stick with integer scale on X + Y and try to get it as close as possible. At least thatās what Iām doing these days.
I play on a large screen but Iāve noticed that bigger isnāt always better when it comes to image quality and all elements of the CRT emulation aligning and coming together,
Certain scale factors will look better than others, and those sweet spots are a joy to experience. Take a look at the presets where Iāve included recommended CAR values and youāll see what Iām talking about or just do some experimentation on your own.
I know that 8:7 is not how itās supposed to look on a CRT I just find certain games looks so stretched when played at 4:3ā¦well at least I find something like Chrono Trigger does, I know not all games are affected in that way.
I need to investigate more into this X and Y scaling. Only scaling on Y might have been the cause of my troubles.
Can I ask, when testing more generic shaders (I appreciate that many of yours included a specific option for OLED) there is the option of BGR or RGB, will those shaders even display correctly? My RP5 uses the same pixel layout I believed as most AMOLED phones of this era.
Also, for the installation for these packs, like the original Megatron 4K HDR pack, not the NX one, will it work properly with the most up to date version of guest shaders, or does it still need to be the ones specifically linked in the post?
Okay.
Probably, or itās probably even simpler than you think. Since performance isnāt an issue, feel free to try out my latest Megatron miniLED Preset Pack.
Thatās not what it is you know. Those are really just notes to reference and remember which TV the presets were designed on. I can understand the confusion but I was hoping users would have at least read the readme. So presets which were designed on a WRGB OLED TV would have OLED in the filename as well as which picture mode was used. If a user is using a similar or identical display, that might be advantageous but that doesnāt mean those settings wonāt work or look good on other displays. In any case users are supposed to be setting their Peak and Paper White Luminance for their individual displays as well as the Displayās Subpixel Layout/Mask Layout and Displayās Resolution and Resolution (TVL) parameters.
Thereās no precise matching subpixel layout in CRT shaders for AMOLED or QDOLED displays so any subpixel setting selected might be equally wrong. With that said, the display is still going to try itās best so you can just use RGB or whichever one looks best to you.
A lot has changed in CRT-Guest-Advanced-NTSC to allow things to be easier to achieve which I personally donāt feel a need for yet so the presets which use some features which have changed may not look as intended with different version of the shader.
This should only affect presets which use NTSC effects though.
For my W420M Preset Pack onward, the requisite CRT-Guest-Advanced-NTSC shader version is included in the pack. from my NX version onwards, the CRT-Guest-Advanced-NTSC Shader has to be installed in itās own standalone folder so it wouldnāt be affected by the Online Updater.
This can be done with my 1st Megatron HDR preset pack as well but I donāt really want to make RetroCrisisā Installation video redundant.
Anyway, you probably donāt need to be playing around with the scaling settings of shader passes. All of my previous scaling tips concern the Settingsā>Videoā>Scaling and most should work fine with just Integer Scale set to On and Aspect Ratio set to Core Provided or 4:3.
So I went ahead and loaded up my latest SNES preset as well as the āoldā one you were playing around with at 1080p desktop resolution and took some screenshots.
Any good way to get thicker black lines in retroarch? Iām particularly trying to get pc98 emulation working with this - i say this to point out most of the things that force 4:3 ratios wont work.
Extra details:
Iām using the megatron shader with reshade on my pc, but wanted to try to get something close to that in retroarch on android. Canāt seem to get anything that really looks quite as sharp on on my 4k hdr phone display (or tv) inside of retroarch using internal shaders.
I really like the reshade method since I can set it once and it works with all my cores dynamically, no tinkering or per core shaders needed, but canāt quite recreate this inside of retroarch either.
Having shaders per core is a choice not a requirement.
I need to see what youāre talking about. Post screenshots and/CRT photos showing what you want in Re-Shade and what youāre been able to achieve in RetroArch and I can see if I can assist you in bridging the gap.
What are your Shader paramaters in both Re-Shade and RetroArch?
Thanks for the help, I ended up tinkering and found just using the megatron shader by itself in retroarch (standard 3 pass hdr one) & that gave me the look I wanted. I had posted some screenshots before but since I linked to other sites Imgur deleted my post - wont be using them anymore! Sorry, iāll need to upload them again somewhere else.
Iām one of the weird people that likes CRT shaders on everything <720p. Iām not sure if youāve experimented with getting shaders like this working with NDS, but it seems like the hybrid view in something like MelonDS DS doesnāt work with any of the shaders Iāve tried out due to the dual screens and one being larger than the other. Itās a real bummer because one screen with shaders full screen looks great, but the effect disappears if you have the secondary screen showing to, and they arenāt the same size
You can just copy/paste pics into messages as you write them here like on Github. Also I love your name, we eat kanji every morning around here and sometimes those spices are just banging!
Hey there. Same boat as you. Iāve tweaked a preset for DS games in hybrid display using whkrmrgks0. You can test it : https://mega.nz/file/WAB2nBzJ#IFF1kpvAn1htU8bAH2Fqsu5PbkoC85B34Sk426p-3x4
Itās for 1080p but you can tweak the mask āphosper sizeā for 4K (). The other key parameter for me was ānumber of scnalineā I had to set to 193 (DS being 192p, and I guess thereās one line of overscan). Thereās still small glitched line on the right but I ddnt look on how to crop that. And IIRC hybrid size must be set to 3 in the core options otherwise itāll break (but this setting lets you get full height for your main screen in 16:9).
I would consider that a workaround. Feel free to post the comparison images and I can try to show you how to better harness the power of the shader to tune to your preference. It could be as simple as increasing the TVL or decreasing the Gamma or NTSC Gamma Compensation.
Imgbb is better for sharing things like this because it preserves the quality of the images while imgur greatly reduces it.
You can also use a tool like IrfanView to compress your images to within a particular file size then just upload them here.
Shots from retroarch w/ external reshade megatron PSX core
PPSSPP core
PCSX2 w/ Reshade
Artemis Streaming to psx core w/ reshade
Inside android retroarch psx core w/ megatron internally. HDR gets washed out in screenshot but colors are good. Scan lines arenāt quite as convincing or pronounced compared to streamed version.Inside android retroarch PPSSPP core w/ megatron internally.
Streaming PPSSPP core; Image is darker due to reshade configuration being optimized for LG G4 Oled screenTesting Obsoleteās shader (thank you!). Performance on my s25 ultra crawled when using it on the hybrid view (difficult and impressive to do on this device ha). I tried tinkering with the phosphor and slot mask style but couldnāt get one to look better than your default. I found it muddied up the picture a bit too much for my liking which is more like an slot mask than an aperture grill from what I was seeing.
My version which only uses the Megatron shader oversaturates (which iād like to fix) but otherwise gives a very clean BVM 1000TVL look. It does absolutely nothing useful in the hybrid mode besides distorting the color a bit. I think it needs to activate based on input pixel instead of trying to do something based on the hybrid pixel count. But I donāt see a parameter option for such a thing
Conclusion:
Itās really difficult to capture how any of this looks in person. Basically Apollo/Artimis HDR streaming looks great on phone or TV, but internal retroarch leaves a bit more to be desired. The scan lines are way thicker w/o being too exaggerated from my gaming PC streaming server (even on my phone), but very thin when running natively on the phone.
LG G4 TV via shield Artemis w/ Reshade Megatron: 10/10
Android s25 Ultra Retroarch w/ Megatron Shader
PPSSPP: 1/10
DS: 7/10 (need to fix saturation & figure out a better hybrid mode option)
SNES,PSX: 8.5/10
Streaming to phone: PPSSPP core (and other cores): 6/10 (Too dark! Need to figure out if i can do cli based launch configurations for reshade)
Unfortunately I thought the CyberLabs ones that I tried were a bit too noisy in artifacts, like a real consumer set, but Iām trying to create, well, a fictional megatron BVM. I welcome any feedback though or how I can try to get things tuned better inside of retroarch. I feel like I got the reshade preset tuned really nicely for my main display, but the retroarch stuff is still rougher.
The Obsolete one added a bit too much noise from the mask style with that shader & wasnāt HDR (?) i think, so didnāt look quite as vibrant. Unfortunately I didnāt see a way to fix the performance burden either when it goes to hybrid.
Some bonus shots from my actual CRTsā. I gave up on owning a BVM after I got the reshade stuff running on my LG G4 as it looks incredible in person. These are from my consumer set. I also have a PC CRT. Both are Trinitrons 19" A440 PC CRT & kv-27fs12 27" set. I mostly use these for PC games and old anime respectively.
Wow! What a post! They really say to be careful what you wish for. lol
Donāt worry, I will go through all of it when I get a chance.
Have you tried my NES_N64 or Sharp presets? Also my 3D Comb Filter and S-Video Presets?
Lastly have you tried my Fine presets? Particularly the new ones in my miniLED Preset Pack? miniLED as in made on a miniLED display not made for miniLED.
Okay, I looked at the images and read the post. Itās not so easy to process based on how the information was presented but I think youāre just looking for a high (1000) TVL PVM/BVM look as youāve stated. I donāt know why you didnāt state that from the beginning.
You said you achieved that using the default Megatron presets, this is not surprising as this is something that can be done well by those presets.
I guess my work here is done.
If streaming these things, you really need to not have any scaling being performed at all. You wonāt get good results if streaming from a device which has a 4K Optimized preset with full strength RGB mask to a device with a 1080p screen for example.
Also, your streaming settings need to be correct. You need to be in RGB 4:4:4 Full colour mode.
Now you can make or use preset which use a BW mask in Megatron which wonāt have this requirement but Iām not sure if that B&W mask still exists in the RetroArch Megatron. Maybe it was left in the ReShade port.
Maybe it should be readded as an option.
In order to get around that limitation, you can probably use the Shadow Mask but it wonāt look the same as an Aperture Grille PVM/BVM Mask.
I donāt see whatās the issue here. If you want a high TVL Aperture Grille Mask you can just Set your Displayās Resolution to your display resolution or 8K then, set the Displayās Subpixel layout to whatever matches your Displayās Subpixel Layout. Then set the CRT Mask to Aperture Grille. Then set the Resolution to 800 or higher.
If your scanline gaps are not large enough, just lower the Beam</>Scanline Size Min and Beam</>Scanline Size Max on the Red, Green and Blue Scanlines. The lower the Min, the narrower the smallest part of the scanlines can become and the wider the scanline gaps can be and the lower the Max the narrower the largest part of the scanlines can be and the larger the scanline gaps can be.
If you want to add blending of transparencies and dithering on top of that you can use the Megatron NTSC preset or one of mine or you can even use one of the Blargg Custom NTSC Video Filter Presets.
Itās been years since Iāve made a PVM or BVM style preset. Maybe itās time for history to run full circle as right now Iāve been cranking up the TVL on my presets.
When you first mentioned thicker black lines I didnāt realize it was the scanline gaps you were referring to, I thought you were speaking about the black outlines of text and sprites.
Those can get distorted when using low TVL masks.
By the way, thanks for these photos. I really appreciate seeing good pictures of real CRTs.
Just added some new high TVL PVM Edition Style Presets to my miniLED preset pack!
Oh I didnt knew you were on mobile for that case. The shader I posted I use on my computer connected to the TV screen, and itās meant for SDR 1080p or 4K. I dont know what to tweak to optimize for HDR tho, although my screen supports it I play mostly on SDR on linux and didnt get the time to configure the HDR support yet. On SDR 1080p it should look like that, properly aligned for DS 192p:
On my phone I play the DS games rotated vertically and use a lighter CRT-Lottes-Fast and nds-color.slang prepended to that, with a screen gap of 40 something for games like Contra 4 (itās impossible to play that game otherwise IMO). I use syncthing on my folder saves for when I play with the big screen on the couch. MelonDS hybrid mode is also too heavy for my phone, and preemptive frames seems out of reach performance-wize.
Your shader looks great, if you want to compensate for the DS colors oversaturation you could maybe try to prepend the nds-color.slang shader and it should do color correction.