Emulation Shader recommendations

The place for all discussion on gaming hardware
User avatar
SNK-NEO-GEO
Posts: 541
Joined: Sat Feb 07, 2015 2:58 pm
Location: zip code 20151 USA

Re: Emulation Shader recommendations

Post by SNK-NEO-GEO »

Chocograph wrote:I've looked at the PI models because I wanted one of those too but I was just checking prices on ebay. I have zero clue how to set it up and I can only speculate (or google) about the input lag. Input lag is a huge deal for me. It's why I got the framemeister so I could put away the crt. I might get a PI one day. It's got cool cases.
Maybe this link will help a bit..
https://www.arcade-projects.com/forums/ ... er-device/
The Future Is Now
fernan1234
Posts: 2175
Joined: Mon Aug 14, 2017 8:34 pm

Re: Emulation Shader recommendations

Post by fernan1234 »

I spent a lot of time looking into this thinking I could ditch a real BVM (the answer was no, but still nice to have this option). For the perfect BVM look nothing else comes close to the Kurozumi preset CRT Royale. Here's a few tips that I learned through annoying trial-and-error:

1. Confusingly, you won't find the Kurozumi-crt-royale shader in the CRT folder along with the base crt-royale shader, but instead in the folder called "presets".
2. Don't use the .glsl version, since it is glitched. Instead, use the .slang version (.cg shaders are deprecated now, but you can try that if you're on nvidia and nothing else works).
3. To use .slang you need to switch your video driver in Retroarch from GL to Vulkan.
4. If you're using a 4K display, open the .slang file with a text editor and look for the setting called "Mask_triad_size_desired", and change its value from the default 1 to 0 (or you can also try 3). This is very important because it allows to emulate the extremely fine aperture grill of a BVM of around 900/1000 lines. It looks even better on a 5K display if you have one. The setting of 1 is a left over from when 1080p displays were the norm.
5. This all assumes you're running Retroarch on Windows (and you don't need a super powerful machine for this to run smoothly). Vulkan is not available on Mac and the GL shader does not work.

You can find more info on this amazing shader here:

https://forums.libretro.com/t/crt-royal ... p/3909/300
Patrickbot
Posts: 19
Joined: Sat Sep 01, 2018 4:23 pm

Re: Emulation Shader recommendations

Post by Patrickbot »

fernan1234 wrote:I spent a lot of time looking into this thinking I could ditch a real BVM (the answer was no, but still nice to have this option). For the perfect BVM look nothing else comes close to the Kurozumi preset CRT Royale. Here's a few tips that I learned through annoying trial-and-error:

1. Confusingly, you won't find the Kurozumi-crt-royale shader in the CRT folder along with the base crt-royale shader, but instead in the folder called "presets".
2. Don't use the .glsl version, since it is glitched. Instead, use the .slang version (.cg shaders are deprecated now, but you can try that if you're on nvidia and nothing else works).
3. To use .slang you need to switch your video driver in Retroarch from GL to Vulkan.
4. If you're using a 4K display, open the .slang file with a text editor and look for the setting called "Mask_triad_size_desired", and change its value from the default 1 to 0 (or you can also try 3). This is very important because it allows to emulate the extremely fine aperture grill of a BVM of around 900/1000 lines. It looks even better on a 5K display if you have one. The setting of 1 is a left over from when 1080p displays were the norm.
5. This all assumes you're running Retroarch on Windows (and you don't need a super powerful machine for this to run smoothly). Vulkan is not available on Mac and the GL shader does not work.

You can find more info on this amazing shader here:

https://forums.libretro.com/t/crt-royal ... p/3909/300
Although I appreciate the immense effort that goes into such shaders as Kurozumi, I question the goal and motivation. Why are we trying to replicate every single feature of a CRT? Do we REALLY need every simulated phosphor to have a slight red tinge at one end just because that's how it was on a BVM (for example)? I'm more interested in replicating the aspects of the CRT that enhanced the objective image quality, and most of that you can't do that with shaders. I'm talking about the lack of motion blur and the superior viewing angles, primarily.

It is now possible to get better objective picture quality than what one gets on a BVM with an unlimited budget and the right display settings, but it takes a very good display- OLED is a must, in order to have sufficient brightness to do black frame insertion and 1:1 scanlines. Even then, you still have display lag to contend with. Potentially, this could be eliminated via something called "scanline beam racing" in the future.
Last edited by Patrickbot on Wed Mar 13, 2019 10:54 pm, edited 1 time in total.
fernan1234
Posts: 2175
Joined: Mon Aug 14, 2017 8:34 pm

Re: Emulation Shader recommendations

Post by fernan1234 »

Patrickbot wrote:
Although I appreciate the immense effort that goes into such shaders as Kurozumi, I question the goal and motivation. Why are we trying to replicate every single feature of a CRT? Do we REALLY need every simulated phosphor to have a slight red tinge at one end just because that's how it was on a BVM (for example)? How are we justified in saying that "this particular CRT represents the absolute pinnacle in objective picture quality for 240p content?" IMO we are never justified in making such a claim, it's arbitrary and somewhat silly. Trying to replicate everything a CRT does isn't desirable from the standpoint of picture quality, and it comes with a very high performance cost. A better approach is to start by asking "What is a CRT doing to the image, fundamentally? What qualities of the CRT actually enhance the objective picture quality?" and proceed from there. Personally, I don't understand the need for CRTs any more now that there's 0 input lag in Retroarch. You can get better objective picture quality than any CRT if you have a 1440p display with HDR (or better yet, 4k), along with the right shader settings (see my previous post). Then again, I'm not interested in replicating CRT artifacts like color bleed, only the aspects that improve the image. Nostalgia and "authenticity" aren't important factors for me.

It is now possible to get better objective picture quality than what one gets on a BVM with the right display and the right shader settings, but it takes a very good display- at least 1440p resolution and HDR are required. Of course, CRTs still have better viewing angles and non-existent motion blur, but in terms of contrast, color, brightness, and image uniformity- the right display with the right settings blows away a BVM.

I agree that it's unnecessary to replicate the slight convergence imperfection that the shader's author seems to favor, but you can easily change those settings to 0 to get the picture of a theoretically 100% perfect convergence CRT (in my case that's what I chose to do in the end too).

There's really no performance cost issue at all with any recent PC I would say. I could run the shader perfectly on a 2017 iMac running Windows, so people with gaming PC setups would not even need to think about it.

I will disagree with the statement that options that "blow away" a CRT BVM are available, at least for people who don't have 20,000 bucks to blow on an OLED BVM. I've tried a lot of things precisely because I do not want to need a CRT, but always end up concluding that sadly the options are just not there. Resolution is important, but 1440p will not cut it. 4K barely does, but we will need at least 8K to really emulate a CRT perfectly. In terms of picture quality for SD content (i.e. most of what we play), I've never seen an LCD of any kind that comes even close to a CRT BVM. An OLED 4K does beat CRT in several picture quality aspects, but when it comes to replicating these old games (where HDR does not factor into the equation in the first place), it's actually a shame that such a great technology still falls short on things that matter so much for gaming, mainly motion resolution (and black frame insertion can only do so much, we're still at least a decade away from the refresh rate that will be needed to match CRTs). In terms of overall picture quality, the only things I could see right now beating a CRT BVM are other BVMs (perhaps the Trimaster LCD ones, and most certainly the newer true RGB OLED ones), though even these would have the limitations inherent to sample-and-hold displays.

In any case, having tried both options side by side, I do think that a currently available consumer WRGB OLED display using the Kurozumi shader (with some values changed as mentioned before) can be a very satisfactory (but not superior) alternative to a CRT BVM.
DatMonkey
Posts: 28
Joined: Mon Aug 13, 2018 9:13 am

Re: Emulation Shader recommendations

Post by DatMonkey »

Patrickbot wrote:You can get better objective picture quality than any CRT if you have a 1440p display with HDR (or better yet, 4k), along with the right shader settings (see my previous post). Then again, I'm not interested in replicating CRT artifacts like color bleed, only the aspects that improve the image. Nostalgia and "authenticity" aren't important factors for me.

It is now possible to get better objective picture quality than what one gets on a BVM with the right display and the right shader settings, but it takes a very good display- at least 1440p resolution and HDR are required. Of course, CRTs still have better viewing angles and non-existent motion blur, but in terms of contrast, color, brightness, and image uniformity- the right display with the right settings blows away a BVM.
When it comes to 240p content, there is no such thing as "better objective picture quality", it all comes down to preference. Some people love how high-end BVMs handle 240p content, others don't. No one is right or wrong here. The Kurozumi shader is fantastic when it comes to replicating that BVM-look, and is a really good alternative if you don't want to shell out 1K$+ for a BVM.
Patrickbot wrote:contrary to some sources, ideal scanlines are closer to a 2:1 ratio than a 1:1 ratio
Again, this is a subjective opinion, not an objective one.

I happen to own a BVM and a 4K OLED. The picture quality of 240p on the BVM is both sharper and brighter than Kurozumi running on the OLED. The BVM also has zero input lag. The OLED can't compete with that, even when running Retroarch's low latency function. I prefer the BVM, but the Kurozumi is still amazing. Will this change when we in 5-8 years have access to 8K OLED's with zero input lag (fingers crossed) and higher brightness? I don't know, maybe, but as nostalgia and "authenticity" are important to me I will probably still prefer the BVM.
Patrickbot
Posts: 19
Joined: Sat Sep 01, 2018 4:23 pm

Re: Emulation Shader recommendations

Post by Patrickbot »

EDITED
When it comes to 240p content, there is no such thing as "better objective picture quality", it all comes down to preference. Some people love how high-end BVMs handle 240p content, others don't. No one is right or wrong here. The Kurozumi shader is fantastic when it comes to replicating that BVM-look, and is a really good alternative if you don't want to shell out 1K$+ for a BVM.
When I say "objective picture quality" I just mean displaying the image in a way that resembles the native display environment as closely as possible while introducing as few artifacts as possible. At a minimum, this requires scanlines and some slight blur since CRTs were less sharp than LCDs even when displaying the same resolution, as a result of the CRT's gaussian beam profile. Since LCDs introduce their own blur when things are in motion, you really just need to add scanlines when on an LCD.

Patrickbot wrote:contrary to some sources, ideal scanlines are closer to a 2:1 ratio than a 1:1 ratio
Again, this is a subjective opinion, not an objective one.

Edit: I stand corrected; “perfect” scanlines, such as would appear on a hypothetically perfect CRT, are in fact 1:1 when discussing *objective* brightness. Each visible line being twice as objectively bright results in them being *perceived* as 1.4 times as bright. Either way, both objective and perceived brightness should be the same for 240p vs 480i.
I happen to own a BVM and a 4K OLED. The picture quality of 240p on the BVM is both sharper and brighter than Kurozumi running on the OLED. The BVM also has zero input lag. The OLED can't compete with that, even when running Retroarch's low latency function. I prefer the BVM, but the Kurozumi is still amazing. Will this change when we in 5-8 years have access to 8K OLED's with zero input lag (fingers crossed) and higher brightness? I don't know, maybe, but as nostalgia and "authenticity" are important to me I will probably still prefer the BVM.
I wonder if your display has HDR, and if you're actually using it when running the emulator. AFAIK there is no way for the user to call on HDR manually, except through Windows, and that's still less than ideal. Theoretically, a display with HDR is orders of magnitude brighter than a CRT.

I believe you that Kurozumi on the OLED isn't as sharp as the BVM, because almost all shaders add blur. The solution is to always use nearest neighbor and integer scaling. You lose the perfect 4:3 AR, but you can still get pretty close to 4:3, and CRTs never had perfect geometry, anyway. Unless there's blur being added somewhere, a digital display should always be sharper than a CRT displaying the same resolution as a result of the natural gaussian blur of the CRT and the phosphor structure of the CRT.

Retroarch in 2018 is capable of lower input latency than the actual hardware, using the "run ahead" feature, but it's still not perfect.
Last edited by Patrickbot on Wed Mar 13, 2019 10:06 pm, edited 9 times in total.
Patrickbot
Posts: 19
Joined: Sat Sep 01, 2018 4:23 pm

Re: Emulation Shader recommendations

Post by Patrickbot »

fernan1234 wrote:
There's really no performance cost issue at all with any recent PC I would say. I could run the shader perfectly on a 2017 iMac running Windows, so people with gaming PC setups would not even need to think about it.
I'm thinking of Raspberry Pis, Intel NUCs, phones, and such. There are a lot of devices that people run emulators on these days besides gaming PCs.
In terms of picture quality for SD content (i.e. most of what we play), I've never seen an LCD of any kind that comes even close to a CRT BVM. An OLED 4K does beat CRT in several picture quality aspects, but when it comes to replicating these old games (where HDR does not factor into the equation in the first place), it's actually a shame that such a great technology still falls short on things that matter so much for gaming, mainly motion resolution (and black frame insertion can only do so much, we're still at least a decade away from the refresh rate that will be needed to match CRTs).

In terms of overall picture quality, the only things I could see right now beating a CRT BVM are other BVMs (perhaps the Trimaster LCD ones, and most certainly the newer true RGB OLED ones), though even these would have the limitations inherent to sample-and-hold displays.
I agree that motion resolution is still a significant hurdle for current display tech, and an area where CRTs still reign supreme. However, it's an objective fact that most LCDs these days have superior black levels, contrast, and overall luminance. Luminance is actually still a limiting factor in CRT emulation, because of how much brightness is lost from scanlines (50%), but most current gaming displays have sufficient brightness to compensate. However, if you add scanlines, then you don't have enough brightness left on an LED-lit LCD to compensate for black frame insertion. OLED should be bright enough, though.

At this point, the only reason I'm still hanging on to my CRT monitor is the motion blur on LED-lit LCDs, and the superior viewing angles, especially compared to low-lag TN panels. I'm guessing it will be at least 10-20 years before we start seeing used OLED gaming monitors on Craigslist that are as cheap as used CRTs are now.
Last edited by Patrickbot on Wed Mar 13, 2019 10:56 pm, edited 2 times in total.
fernan1234
Posts: 2175
Joined: Mon Aug 14, 2017 8:34 pm

Re: Emulation Shader recommendations

Post by fernan1234 »

The idea that I feel most sure about is that what the best display is, among what is available now, depends on the type of content to be displayed.

I can actually display 4K content on both a 1000-line widescreen BVM and a consumer HD CRT and let me tell you, it looks fantastic on both, but it definitely looks better on a 4K OLED. If I were to actually play HDR 4K content it may look better on some respects (there are multiple advantages to downconverting HDR to SDR), but of course you would lose all the punch of HDR by being limited to the 100 nits of an SDR display. 1080p content is kind of a tossup, but anything 1080i, 720p and below invariably looks better on a CRT BVM than on the OLED (there is no need to talk about LCD because OLED beats it on everything besides peak brightness, which is irrelevant for SDR content).

That said, I highly encourage people to try out the Kurozumi shader with the convergence and triad size tweaks on a 4K display, or, better, on a 5K one. Combining this shader with a 4K OLED + black frame insertion (by the TV, not by Retroarch) actually produces amazing results that may convince some to ditch their CRTs forever. On my 5K display it actually looks like an idealized BVM, only falling short in sharpness compared to a D24, and of course you would also have to tolerate motion blur, but for games with little motion it could arguably be considered a real alternative to the best BVM ever made.

edit: of course you should also select integer scaling on the Retroarch settings, cores usually do a good job at using the right AR for a 4:3 look
Patrickbot
Posts: 19
Joined: Sat Sep 01, 2018 4:23 pm

Re: Emulation Shader recommendations

Post by Patrickbot »

fernan1234 wrote: 1080p content is kind of a tossup, but anything 1080i, 720p and below invariably looks better on a CRT BVM than on the OLED (there is no need to talk about LCD because OLED beats it on everything besides peak brightness, which is irrelevant for SDR content).
Are we talking with or without shaders? If you mean without shaders, then I agree that the CRT is hands-down the better option. If you mean with the right shader settings applied, I think it's debatable. The CRT is still superior in terms of motion resolution, but the OLED is superior in terms of contrast, black level, sharpness, screen uniformity, and peak brightness. So I think it may be most accurate to say that there is no single display type that is superior in all categories for all types of content. Everything is a compromise; ce la vie.

Also, peak brightness isn't entirely irrelevant for SDR content. If you're trying to do accurate CRT emulation, it can still be a limiting factor on many modern displays.
That said, I highly encourage people to try out the Kurozumi shader with the convergence and triad size tweaks on a 4K display, or, better, on a 5K one. Combining this shader with a 4K OLED + black frame insertion (by the TV, not by Retroarch) actually produces amazing results that may convince some to ditch their CRTs forever. On my 5K display it actually looks like an idealized BVM, only falling short in sharpness compared to a D24, and of course you would also have to tolerate motion blur, but for games with little motion it could arguably be considered a real alternative to the best BVM ever made.

edit: of course you should also select integer scaling on the Retroarch settings, cores usually do a good job at using the right AR for a 4:3 look
Photos, please!

I'd love to give this a try, if only I had the hardware.

For a "lightweight" approach that will look good at 1080p and run on almost anything, I've just been using scanline-fract plus the image-adjustment shader for gamma correction. At 5x scale, scanlines 3 pixels wide set to 80% strength results in perfect "1:1" scanlines. I don't add any blur and use nearest neighbor scaling to get the best motion clarity possible on an LCD.
Last edited by Patrickbot on Wed Mar 13, 2019 11:00 pm, edited 4 times in total.
fernan1234
Posts: 2175
Joined: Mon Aug 14, 2017 8:34 pm

Re: Emulation Shader recommendations

Post by fernan1234 »

Sure, here are some pics. Make sure you see them in their original resolution (warning, huge pictures in spoiler tags):


@ 5K resolution direct screen captures (iMac IPS Panel) / 3 Pictures
Spoiler
Image

Image

Image
@ 4K resolution OLED TV via phone camera / 2 Pictures
Spoiler
Image
Image
4K, 5K, or 1000-line CRT? Which one is which? / 3 Pictures (these are probably best seen resized in the album)
Spoiler
Image

Image

Image

You can also see the pictures (resized) in the imgur album: https://imgur.com/a/3kd4WYI
User avatar
SNK-NEO-GEO
Posts: 541
Joined: Sat Feb 07, 2015 2:58 pm
Location: zip code 20151 USA

Re: Emulation Shader recommendations

Post by SNK-NEO-GEO »

@fernan1234 - I have an OLED LG TV and would like to test this out.. would you mind sharing the shader file with the config that you are using on the OLED.. thanks
The Future Is Now
fernan1234
Posts: 2175
Joined: Mon Aug 14, 2017 8:34 pm

Re: Emulation Shader recommendations

Post by fernan1234 »

This shader is included with Retroarch, you just need to make at least one small change in the shader file to get the super fine aperture grille effect on a 4K display (to my eye it looks like a ~800 line BVM on 4K, about ~900 lines on 5K). Without this change the scanned lines (not the blank lines) will look solid, like when you use an OSSC with 100% "scanlines".

Just make sure you have updated the shaders through Retroarch. Then on Windows you can navigate to your Retroarch folder location, then follow this folder path: Retroarch > shaders > shaders_slang > presets > crt-royale-kurozumi.slangp

Open up that .slangp file with a text editor, look for the settings "mask_triad_size_desired" and change it from 1 to 3. If you want, also change all the "convergence_offset" settings that are not 0 to 0. Then save your changes, or save as a separate .slangp file to keep the original as a backup.

On Retroarch load your modified slang shader (you must have chosen Vulkan as your video driver on Retroarch to use slang shaders). You could also modify and use the .cgp version of the shader if you have to stick to the GL driver, but you may encounter a bug discussed here:
https://forums.libretro.com/t/crt-royal ... p/3909/293

There's more tweaks that can be done for stuff like diffusion and halation, but I never messed around with those. The author posted about it here:
https://forums.libretro.com/t/crt-royal ... p/3909/301
User avatar
SNK-NEO-GEO
Posts: 541
Joined: Sat Feb 07, 2015 2:58 pm
Location: zip code 20151 USA

Re: Emulation Shader recommendations

Post by SNK-NEO-GEO »

Cool,,thank you!
The Future Is Now
Patrickbot
Posts: 19
Joined: Sat Sep 01, 2018 4:23 pm

Re: Emulation Shader recommendations

Post by Patrickbot »

fernan1234 wrote:Sure, here are some pics. Make sure you see them in their original resolution (warning, huge pictures in spoiler tags):


snip
Wow, those do look pretty great! That 5K screen looks amazing; very BVM-like.


which one is the 1000 line CRT:
Spoiler
Top: 4K
Middle: CRT
Bottom: 5K

:D
Last edited by Patrickbot on Wed Mar 13, 2019 11:01 pm, edited 2 times in total.
fernan1234
Posts: 2175
Joined: Mon Aug 14, 2017 8:34 pm

Re: Emulation Shader recommendations

Post by fernan1234 »

Yep you got it right. All zoomed-in like that it's pretty obvious because you can recognize each panel's pixel structure, but in person and from a normal viewing distance they are remarkably similar, especially the 5K monitor and the BVM. Of course once things start moving it's a whole different story. I'm optimistic about the future though.

You can probably make all those tweaks you would like by modifying settings in the shader file.

Someone also made an XM29-like shader, which may be closer to your preferences, but I haven't tested it so I can't speak to its quality.
User avatar
Ed Oscuro
Posts: 18654
Joined: Thu Dec 08, 2005 4:13 pm
Location: uoıʇɐɹnƃıɟuoɔ ɯǝʇsʎs

Re: Emulation Shader recommendations

Post by Ed Oscuro »

Patrickbot wrote:In double strike mode (aka 240p), each visible line is drawn twice and then a line is skipped.
That's not correct. Each visible line is still only drawn once; the only difference is 240p does not alternate fields as 480i does, so every field is even or odd, instead of alternating. This accomplishes the effect of drawing every line on the same physical space of the tube. I am interested in how you derived your numbers, though (1.4 times and 30%), as they seem plausible. 2:1 ratio of scanline to "empty" space seems about right.

I think a precise calculation on brightness would have to incorporate Pi to estimate the falloff at the edges of a typical raster. I'm not a mathematician though.
Patrickbot
Posts: 19
Joined: Sat Sep 01, 2018 4:23 pm

Re: Emulation Shader recommendations

Post by Patrickbot »

Ed Oscuro wrote:
Patrickbot wrote:In double strike mode (aka 240p), each visible line is drawn twice and then a line is skipped.
That's not correct. Each visible line is still only drawn once; the only difference is 240p does not alternate fields as 480i does, so every field is even or odd, instead of alternating. This accomplishes the effect of drawing every line on the same physical space of the tube. I am interested in how you derived your numbers, though (1.4 times and 30%), as they seem plausible. 2:1 ratio of scanline to "empty" space seems about right.

I think a precise calculation on brightness would have to incorporate Pi to estimate the falloff at the edges of a typical raster. I'm not a mathematician though.
You're right- I should retract that statement altogether. Brightness is a very confusing topic to talk about, and that statement was based on a misunderstanding of the following post:

"From a purely photometric standpoint, each scanline of 240p (called "double strike" mode in purported Nintendo documents) probably emits exactly twice as much light power as each scanline of 480i. The reason it appears less than twice as bright is because as programmers, we're used to "twice as bright" meaning "twice as much voltage". But twice as much voltage produces roughly four times as much power, as power is the square of voltage for a given impedance. (It's not so simple in CRTs, as the gamma is slightly greater than 2.0 for various reasons.) Under this power-law assumption that perceived brightness is the square root of light power, the individual lines are as bright probably closer to 1.4 times as bright."

(https://forums.nesdev.com/viewtopic.php ... b&start=60)

"Perfect" scanlines are indeed 1:1, with each visible line having roughly twice the objective brightness. With perceived brightness being the square root of objective brightness, this results in each visible line being *perceived* as roughly 1.4 times as bright. The result is that 240p is the same objective brightness as 480i.
Last edited by Patrickbot on Wed Mar 13, 2019 9:33 pm, edited 3 times in total.
Patrickbot
Posts: 19
Joined: Sat Sep 01, 2018 4:23 pm

Re: Emulation Shader recommendations

Post by Patrickbot »

fernan1234 wrote:Yep you got it right. All zoomed-in like that it's pretty obvious because you can recognize each panel's pixel structure, but in person and from a normal viewing distance they are remarkably similar, especially the 5K monitor and the BVM. Of course once things start moving it's a whole different story. I'm optimistic about the future though.

You can probably make all those tweaks you would like by modifying settings in the shader file.

Someone also made an XM29-like shader, which may be closer to your preferences, but I haven't tested it so I can't speak to its quality.
Yeah, that 5K screen looks incredible. I'd like to see what it looks like with just 1:1 scanlines, though.

snip

Do you happen to know what that XM29 shader is called? I'd like to check that out. :)
Last edited by Patrickbot on Wed Mar 13, 2019 11:02 pm, edited 1 time in total.
fernan1234
Posts: 2175
Joined: Mon Aug 14, 2017 8:34 pm

Re: Emulation Shader recommendations

Post by fernan1234 »

That does look pretty nice even if it does not look like any CRT I've seen. There's definitely a gain going from 4K to 5K with these shaders. Makes me wonder what they would look like on one of these 8K monitors!
https://www.bhphotovideo.com/c/product/ ... ultra.html

Probably would look like the sharpest CRT BVM that never was. 5K @ 27 inches is noticeably not as sharp as a D24, a 24 inch display may get closer, but I think an 8K one even at 31 inches may surpass it!

The XM29 shader was included in this Analog Shader Pack. I don't know if it's still being maintained though, but you can check out the thread here, they have a lot of other CRT shaders you may like: https://forums.libretro.com/t/analog-sh ... -here/5493
Patrickbot
Posts: 19
Joined: Sat Sep 01, 2018 4:23 pm

Re: Emulation Shader recommendations

Post by Patrickbot »

fernan1234 wrote:That does look pretty nice even if it does not look like any CRT I've seen. There's definitely a gain going from 4K to 5K with these shaders. Makes me wonder what they would look like on one of these 8K monitors!
https://www.bhphotovideo.com/c/product/ ... ultra.html

Probably would look like the sharpest CRT BVM that never was. 5K @ 27 inches is noticeably not as sharp as a D24, a 24 inch display may get closer, but I think an 8K one even at 31 inches may surpass it!

The XM29 shader was included in this Analog Shader Pack. I don't know if it's still being maintained though, but you can check out the thread here, they have a lot of other CRT shaders you may like: https://forums.libretro.com/t/analog-sh ... -here/5493
Just for kicks, here's the max emulated TVL for each resolution if using an emulated aperture grille. For a digital display, it's always (vertical resolution / 3 = emulated TVL)

1080p- 360 TVL.
1440p- 480 TVL
4K- 720 TVL
5K- 960 TVL
8K- 1440 TVL

So 1080p is similar to a 20" TV from the 80s or 90s; 1440p is similar to an "entry level" PVM; 4K is similar to a high-end PVM; 5K is similar to a BVM; and 8K is higher TVL than any CRT that ever existed, and would look the same as 1440p without the mask.

Looks like that 8K screen lacks HDR, which would definitely be a limiting factor for mask accuracy; just something to be wary of. HDR is a must-have for my next display.
Last edited by Patrickbot on Wed Mar 13, 2019 11:04 pm, edited 1 time in total.
energizerfellow‌
Posts: 208
Joined: Thu Sep 27, 2018 1:04 am

Re: Emulation Shader recommendations

Post by energizerfellow‌ »

Patrickbot wrote: So 1080p is similar to a 20" TV from the 80s or 90s; 1440p is similar to an "entry level" PVM; 4K is similar to a high-end PVM; 5K is similar to a BVM; and 8K is higher TVL than any CRT that ever existed, and would look the same as 1440p without the mask.

Looks like that 8K screen lacks HDR, which would definitely be a limiting factor for mask accuracy; just something to be wary of. HDR is a must-have for my next display.
We're arguably already there with the 2018+ LG OLED UHD TVs that have black frame insertion. 60 hz OLED w/ BFI is arguably getting into "good enough" territory for brightness over delta time to emulate the brightness pulse and decay of a CRT, though 120hz w/ BFI would be even better (2019+ LG OLEDs w/ 120 hz BFI and VRR via HDMI 2.1?). The current LG OLEDs will do a bit over 400 cd/m² continuously with a SDR signal, which should be enough for the color calibration standard of 120 cd/m² with double brightness needed for black frame insertion, then add another 30-50% for scanlines. A usable brightness of 150 cd/m² should be doable, which should be comparable to a CRT PC monitor, if memory serves. You also have the 2160p resolution to work with.

It's interesting to compare Journal of Vision's historical CRT vs OLED paper with Rting's 2018 LG C8 OLED review:
https://jov.arvojournals.org/article.as ... id=2194081
https://www.rtings.com/tv/reviews/lg/c8

If you want some more information straight from a former Sony engineer on PVM/BVM CRT variations/similarities, check our RetroRGB's interview with savon-pat:
https://www.youtube.com/watch?v=KVA35W9ICKQ
karmeck
Posts: 114
Joined: Thu Oct 05, 2017 7:52 pm

Re: Emulation Shader recommendations

Post by karmeck »

So let's say now you found a grate shader (crt-royale-kurozumi) and now you want to pair it with a nice looking overlay. How to do that with out the shader geting crammed together.

https://forums.libretro.com/t/exodus-cr ... pport/9192
The overlays found here adds pixels to the top and bottom that you have to fit the game image into. But this makes the scanlines uneven and crate a kind of wave pattern.

Is there a way to fix this? The simple solution is to not use an overlay that adds anything except on the sides of the image.
Patrickbot
Posts: 19
Joined: Sat Sep 01, 2018 4:23 pm

Re: Emulation Shader recommendations

Post by Patrickbot »

EDITED
energizerfellow‌ wrote:
Patrickbot wrote: So 1080p is similar to a 20" TV from the 80s or 90s; 1440p is similar to an "entry level" PVM; 4K is similar to a high-end PVM; 5K is similar to a BVM; and 8K is higher TVL than any CRT that ever existed, and would look the same as 1440p without the mask.

Looks like that 8K screen lacks HDR, which would definitely be a limiting factor for mask accuracy; just something to be wary of. HDR is a must-have for my next display.
We're arguably already there with the 2018+ LG OLED UHD TVs that have black frame insertion. 60 hz OLED w/ BFI is arguably getting into "good enough" territory for brightness over delta time to emulate the brightness pulse and decay of a CRT, though 120hz w/ BFI would be even better (2019+ LG OLEDs w/ 120 hz BFI and VRR via HDMI 2.1?). The current LG OLEDs will do a bit over 400 cd/m² continuously with a SDR signal, which should be enough for the color calibration standard of 120 cd/m² with double brightness needed for black frame insertion, then add another 30-50% for scanlines. A usable brightness of 150 cd/m² should be doable, which should be comparable to a CRT PC monitor, if memory serves. You also have the 2160p resolution to work with.

It's interesting to compare Journal of Vision's historical CRT vs OLED paper with Rting's 2018 LG C8 OLED review:
https://jov.arvojournals.org/article.as ... id=2194081
https://www.rtings.com/tv/reviews/lg/c8

If you want some more information straight from a former Sony engineer on PVM/BVM CRT variations/similarities, check our RetroRGB's interview with savon-pat:
https://www.youtube.com/watch?v=KVA35W9ICKQ
thanks for the links- very interesting stuff, even if most of it flies right over my head! :D

Actually, I'm not sure 400 cd/m2 will cut it. My display (an ASUS VG248QE) reaches around 400 cd/m2 with the brightness and contrast maxed out, and it's still not bright enough to compensate for scanlines AND black frame insertion. I'd have to increase the backlight by 400%, and since the calibrated setting is 35%, it's impossible. I have to reduce the strength of the scanlines when doing BFI or the image is too dim.
Last edited by Patrickbot on Wed Mar 13, 2019 11:07 pm, edited 1 time in total.
User avatar
SNK-NEO-GEO
Posts: 541
Joined: Sat Feb 07, 2015 2:58 pm
Location: zip code 20151 USA

Re: Emulation Shader recommendations

Post by SNK-NEO-GEO »

@Fernan1234 - on the LG OLED TV and Retroarch.. how do I tell if the game is being run at 4K. I Flowed your instructions but I don't think that I am running the game in Mame at 4K. It looks like 720p b cause the game does not look sharp.. also is the supposed to run at 4K with HDR? Or just 4K? Thank for the feedback.

Vulkan changed on video and made the changed to 3 on the shader files.
The Future Is Now
fernan1234
Posts: 2175
Joined: Mon Aug 14, 2017 8:34 pm

Re: Emulation Shader recommendations

Post by fernan1234 »

SNK-NEO-GEO wrote:@Fernan1234 - on the LG OLED TV and Retroarch.. how do I tell if the game is being run at 4K. I Flowed your instructions but I don't think that I am running the game in Mame at 4K. It looks like 720p b cause the game does not look sharp.. also is the supposed to run at 4K with HDR? Or just 4K? Thank for the feedback.

Vulkan changed on video and made the changed to 3 on the shader files.

Retroarch should use the same resolution set for the OLED as an external display on Windows. Windows usually defaults to the best resolution of your display, so it should be doing 4K. Did you confirm its 3840 x 2160 on the Windows display settings? You should also check that it's doing 60Hz. If not, it could be that the cable going from your computer to the OLED. I've had problems using low quality mDP to HDMI cables, they passed 4K but only at 30Hz. If you're using HDMI to HDMI cables they may not have enough bandwidth?
User avatar
SNK-NEO-GEO
Posts: 541
Joined: Sat Feb 07, 2015 2:58 pm
Location: zip code 20151 USA

Re: Emulation Shader recommendations

Post by SNK-NEO-GEO »

@fernan1234 - that chader is the stuff "crt-royale-kurozumi.slangp".. I am running at 4k and enabled HDR on my OLED.. My take - the crt-royale-karozumi.slangp is the best settings on MAME that i have ever seen and I will use it moving forward. on the 55" OLED for me it will not work because, I need to be 7 feet away for things to look good and the resolution is not sharp enough, at 8k OLED 55" might be a different story or a 32' OLED @ 4 or 5k.

a few questions - RetroArch - is the MAME build core the latest or up to date to the regular MAME build?
Is there a way to use crt-royale-kurozumi.slangp with the up to date MAME or GroovyMAME? I want to use the shader with an up to date MAME on a PC CRT monitor, RetroArch looks very cool but when I scanned my MAME roms, it did not find all the games.... thanks
The Future Is Now
energizerfellow‌
Posts: 208
Joined: Thu Sep 27, 2018 1:04 am

Re: Emulation Shader recommendations

Post by energizerfellow‌ »

SNK-NEO-GEO wrote:I don't think that I am running the game in Mame at 4K. It looks like 720p b cause the game does not look sharp
By default MAME doesn't integer scale, but there were integer scaling options added to mainline MAME by Calamity from GroovyMAME back in 2016 for MAME 0.172. I'm partial to the unevenstretchx option that is integer scaled in the vertical and interpolated in the horizontal for correct aspect ratio and an acceptable CRT-like slight smoothing effect.

Search for "Calamity" in the changelogs for details:
https://www.mamedev.org/releases/whatsnew_0172.txt
https://www.mamedev.org/releases/whatsnew_0173.txt
https://www.mamedev.org/releases/whatsnew_0177.txt
fernan1234
Posts: 2175
Joined: Mon Aug 14, 2017 8:34 pm

Re: Emulation Shader recommendations

Post by fernan1234 »

SNK-NEO-GEO wrote:@fernan1234 - that chader is the stuff "crt-royale-kurozumi.slangp".. I am running at 4k and enabled HDR on my OLED.. My take - the crt-royale-karozumi.slangp is the best settings on MAME that i have ever seen and I will use it moving forward. on the 55" OLED for me it will not work because, I need to be 7 feet away for things to look good and the resolution is not sharp enough, at 8k OLED 55" might be a different story or a 32' OLED @ 4 or 5k.

a few questions - RetroArch - is the MAME build core the latest or up to date to the regular MAME build?
Is there a way to use crt-royale-kurozumi.slangp with the up to date MAME or GroovyMAME? I want to use the shader with an up to date MAME on a PC CRT monitor, RetroArch looks very cool but when I scanned my MAME roms, it did not find all the games.... thanks
One more thing: Have you turned off bilinear filter on Retroarch? It's turned on by default for some strange reason. Turning it off makes 240p look nice and sharp.

Also I don't think HDR on the display side will make any difference since Retroarch doesn't have HDR output as far as I know.
karmeck
Posts: 114
Joined: Thu Oct 05, 2017 7:52 pm

Re: Emulation Shader recommendations

Post by karmeck »

SNK-NEO-GEO wrote:@fernan1234 - that chader is the stuff "crt-royale-kurozumi.slangp".. I am running at 4k and enabled HDR on my OLED.. My take - the crt-royale-karozumi.slangp is the best settings on MAME that i have ever seen and I will use it moving forward. on the 55" OLED for me it will not work because, I need to be 7 feet away for things to look good and the resolution is not sharp enough, at 8k OLED 55" might be a different story or a 32' OLED @ 4 or 5k.

a few questions - RetroArch - is the MAME build core the latest or up to date to the regular MAME build?
Is there a way to use crt-royale-kurozumi.slangp with the up to date MAME or GroovyMAME? I want to use the shader with an up to date MAME on a PC CRT monitor, RetroArch looks very cool but when I scanned my MAME roms, it did not find all the games.... thanks
Regarding mame
https://www.libretro.com/index.php/intr ... -emulator/
User avatar
SNK-NEO-GEO
Posts: 541
Joined: Sat Feb 07, 2015 2:58 pm
Location: zip code 20151 USA

Re: Emulation Shader recommendations

Post by SNK-NEO-GEO »

@fernan1234 - thanks I will check on that.
@energizerfellow - thanks for the link
@Karmeck - I have to look into that.. I do see that MAME build with a label of test or something like that. I guess that we have to give it time.


back to one of my questions - Are you guys saying that "crt-royale-kurozumi.slangp" does not work on current MAME build because it MAME does not do integer scaling like the MAME build in RetroArch that can scale at 4k and such?

how about running current MAME on a PC CRT 31khz monitor? what is the best MAME build that can utilize "crt-royale-kurozumi.slangp" or equivalent? I have used MAME HLS but the scanline settings on the slider Menu just do not seem pleasing to my eyes and I think that something like royale shader is what I need, royale scanline effects really looks good.
The Future Is Now
Post Reply