Using CRT shader on a real CRT Monitor


Wow, you’re a ninja wizard :laughing: and thanks!


Awesome! :grinning: I’ll give this a shot later.


@hunterk It looks beautiful :slight_smile: .

@Nesguy I’d just let the core not stretching if it’s not gonna be integer until CRT-Switchres is mature enough. I tell you this, because I don’t think it’s possible to feed interlacing.glsl some fractional scale and expect it to draw even scanlines.


The Displayport to VGA adapter this machine uses is just awful. I can add 1920x480 as a custom resolution but the driver always forces the aspect ratio no matter what, so it gets stretched way outside the borders of the screen and the CRT’s horizontal/vertical adjustments aren’t enough to compensate. At this point I’ve tried every option in the graphics card control panel.

So, looks like I’m making a trip to Goodwill tomorrow to pick up a 10 year old desktop, lol.

Do you think an old Intel Dual Core system would be sufficient to run this shader preset plus hard gpu sync at 0 frames for NES, SNES, Genesis? I’m fine with hard gpu sync 1 frame for anything more demanding.


Can you post a picture of this?


First image looks correct, second image is with H size and H position at 50% (the default), and you can see the horizontal refresh rate has changed. Third image is with H size at 25% and H position at 100%. Fourth image is when I right click desktop -> display settings -> advanced display settings -> display adapter properties -> adapter tab -> list all modes -> select “1920x480 @ 60 Hz”


On that third image, are you able to use your hardware controls to get the desktop to fit on the screen? If so, that’s looking pretty close to right. You’ll want to switch your menu driver to RGUI, as it scales properly to ultrawide resolutions instead of getting all weird and skinny like XMB.


unfortunately, the third image is as good as I can get it using the hardware controls. Horizontal position is at 100% so I can’t get it to display any more of the image than that :frowning:

If I use Intel graphics control panel to switch resolutions, you get the first image, which looks correct. If I use Windows display adapter properties to change resolutions it stretches the screen (I think its keeping the aspect ratio instead of scaling it to the screen). Same thing happens when I launch RA. Seems like there’s maybe a conflict between the Intel control panel and Intel’s Windows drivers, and that RA is calling on the Windows driver? Anyway, I’m off to my local thrift shop to see if I can’t score a decent old desktop with VGA. I remember having no problems at all sending custom resolutions to a CRT when I was using a 10 year old Dell Optiplex 360 for this.


SUCCESS! (sort of)

I deleted the custom resolution that I created in the Intel Graphics control panel and created a new custom [email protected] resolution using Custom Resolution Utility.

Not really sure why this works, but whatever! It’s weird that the custom resolution displayed correctly when selected via the Intel control panel, but seemed to always force the aspect ratio when selected via Windows display properties or when automatically switching modes when launching RA. Somehow, adding the custom resolution via CRU solves this. Time to try out some shaders!


w00t, looks awesome! That should be a much nicer setup for you, not having to worry about any horizontal scaling shenanigans.


It’s Saturday night and we’re gonna be partying all night long, baby.


When you say “added to the repo” does that mean I can just use RA’s online updater to update GLSL shaders and it’ll be there?

edit: I really should already know this by now. :sweat_smile:


Yep, if they are in the repo you can just update the shaders in retroarch.

Edit: I follow this repo for updates,


Looks incredible; the sharpness adjustment works perfectly! Not only that, but it seems to also adjust the scanline beam width variability(?) The scanlines definitely look more dynamic now. This preset does everything you could want when connected to a CRT. Thanks again, you guys rock!


whew, yeah, that’s pretty awesome :open_mouth:

I don’t know why the beam dynamics would look any different… I guess the horizontal blurring makes them look rounder, but it sure looks like there’s more variability in the dark/light width, too. Looks great, whatever’s going on!


Now that I think about it, the increased beam width variability is probably the result of the slower horizontal scan rate (30kHz) of the custom resolution, compared to the standard resolution I was previously using (60kHz). At [email protected], this monitor is practically identical to an LCD using the interlacing shader + nearest neighbor.

I should get a comparison shot up but I’m lazy/too busy 240p gaming on this sweet CRT monitor. I’ve gotten very little sleep the past couple nights :dizzy_face: