CRT Switchres not quite feeling right on CRT arcade monitor


Anyone knows why mastersystem is mapped at 2560x200? I think core is 256x192…


Most GPUs can’t go below 200 lines, so Master System is padded up to that. You should be able to run it in integer scale with borders, I think. I’m not sure why it’s mapped to a super resolution but it shouldn’t hurt anything anyway.

Thx @hunterk. The difference mastersystem with retroarch and groovymame are borders, i activated in core options and it’s ok.

Another question, ¿it’s possible to run reicast at 640x240p? I don’t see it in options, i think it’s the better resolution for a tv crt (640x480i to much and 320x240 to low…)


The native resolution for most games on the dreamcast was 480i. I’m sure tgere were a few 240p games. But the core has the resolution locked @480i ATM

If we can get a list of games together that are defiantly 240p we can create an issue on Github and have 240p internal resolution added. It maybe the case that it already is so well need to test these games too.


Thank you very much @Alphanu

I tested 320x240p on core options and it’s more arcade feeling but 640x240p it’s better on my experience running demul or pcsx2 for example.

Nice work with retroarch crt.


How exactly do you select to use native res switching instead of super resolutions? I’m using Windows 10, with a lot of native resolutions modelines already installed and it’s not clear to me how to choose native res instead of super res.

In the CRT switch menu options. You can change between native, 1920, 2560 and 3840

1 Like

The only option available in the latest Retroarch version about CRT SwitchRes inside the video settings menu is “Use Custom Refresh Rate”. Am I missing something? Do I need to directly edit the retroarch.cfg file?

If so, which option bellow do I need to change to allow native resolutions switch only?

crt_switch_center_adjust = “0” crt_switch_resolution = “0” crt_switch_resolution_super = “2560” crt_switch_resolution_use_custom_refresh_rate = “false” crt_video_refresh_rate = “59.940060”

EDIT: I turned on “Show Advanced Settings” and now I can see what you are talking about. I will give a try… Thanks.

It should be. I’m running super resolution, but after I load a Dreamcast game, I go into Settings>Video>Resolution and there’s a list of modelines you have installed. Then you can pick the 240p one.

It’s not an ideal ‘final’ solutions as it’s manual, but you can play DC games at 240p that way. Capcom vs. SNK looks amazing :smiley:

Thx! but custom aspect ratio height still’s at 480(1x)…i don’t know how do you change that without affect scaling…if i change to native my crt sync out…

My alternative is use redream with 640x240 desktop resolution and it’s fine, but i prefer retroarch if it’s possible.

I’m also interested in this, but what I do at this moment is just resizing vertically, it’s like half a super-sampling anti-aliasing(?). The quickest and easiest way to do it is to use reicast resolution: 640x480, screen resolution: 640x240 and bilinear. glslp, at that screen resolution, that shader won’t blur horizontally.

It sounds like you have a slightly different configuration than me. I would use Core Provided or 4:3 for the aspect ratio to get my method to work. Custom isn’t going to let you go lower than 1x.

Hi all, I’m a longtime reader of these forums but a first time poster. All of the advice shared and community here is so great!

I’m adding to this topic to see if I can get some help with my RetroArch setup, specifically with CRT SwitchRes and super resolutions.

I’ve been posting over on BYOAC on getting RetroArch to work with CRT Emudriver and my PVM:,161099.0.html?PHPSESSID=33j59obp3764irl8g0g73167q0. The forum there is excellent and Calamity himself (the creator of CRT Emudriver) was gracious enough to chime in.

I’m having some difficulty getting 480i to work on my RX 570 to PVM setup. I’m using 2560 as the desktop resolution of the PVM and as the CRT SwitchRes super resolution setting, but when I run native 480i content there’s a black screen or it’s squished vertically.

Calamity has mentioned that with newer, non-analog cards a desktop resolution of 640x480i may not be possible due to dot clock limitations of the HDMI port (from which I’m running a DAC to BNC plugs on the PVM). To get around that, I’ve made the desktop resolution 2560x240 which seems to work OK.

What’s weird is how integer scaling is behaving with SwitchRes. Leaving it off gives me a perfect screen-to-screen picture. When I try to run 480i content (N64/Dreamcast) I get a squished screen–turning integer scaling on fixes that but then shrinks 240p content to a tiny screen. Other 480i content doesn’t run at all (PSX BIOS + most PSX games/Gamecube/Naomi). Handheld content is also a black screen (Gameboy/Lynx/WS/Game Gear).

Any thoughts on where to go from here to get 480i content working properly in SwitchRes with my setup? Could it be I need to install more modelines? I’ve installed the stock ones outlined in the RetroArch documentation but do I need to add more like NiggelMyNiggel listed earlier?

Thank you all!

Do you have interlaced modelines created and working elsewhere? Like, can you set your desktop to 480i?

It’s been a while since I did any work with Switchres but I’ve encountered all the issues you discuss (except the tiny screen with integer scale) and every time the issue was the modelines. You need to make sure you have all the correct ones and that they are getting installed properly. From my experience the ones put on the retroarch documentation isn’t enough (the ones posted by NiggelMyNiggel worked for me).

Thanks for the suggestions, really great to see you here hunterk…your posts were really helpful when I was in my shaders phase :grin:. I feel like just getting a non-analog AMD card to work was tricky enough and now this super-resolution to 480i thing is my next challenge.

Right now, just using the provided modelines from RetroArch shows 640x480i in my desktop resolutions menu within Windows display settings but selecting it produces a garbled screen on the PVM–I’m not sure if that’s a symptom of the dot clock limitations over HDMI or if I didn’t install the modelines correctly (or not enough of them). I’ll try the modelines from Niggel and report back.

How should I handle the modelines from GroovyMAME, though? Is it worth installing them as well for the MAME core?

Also, is integer scaling always meant to be turned off in SwitchRes? hunterk, I remember from your posts on shaders a while back that integer scaling ensures 1:1 pixel reproduction making shaders look their best–not sure if it has a role to play here in SwitchRes?

Thank you!

I’m actually not sure if you need integer scaling enabled or not. I don’t think it matters with native, but with super-res, it’s probably good to have it on.

Spent some time noodling and figured out the main issue (which of course has been touched on here before but can’t be stressed enough): RetroArch must be set as the main monitor and that monitor (the CRT/PVM) must be set to a progressive resolution (in my case 2560x240).

I wasn’t able to get switching to work any other way. I’m using a dual monitor setup with a flat panel running LaunchBox and a PVM running RetroArch. In PSX (Mednafen Beetle HW), the driver needs to be set to D3D11 and on the ‘software’ mode–the rest of my setup is GL so I just made a core override for PSX.

I’ve been chiming in on another thread–seems like many are experiencing this issue and Alphanu is aware of it: RetroArch, CRT SwitchRes & Multiple Monitor Issue

I went with a modified version of Niggel’s modelines and added a few new ones I created from the native resolution set on the wiki changing the first number to “2560” (e.g. 320x240 became 2560x240).

Everything seems to be working great except handhelds–they’re either blank (e.g. Game Boy, Wonderswan) or weirdly stretched (e.g. DS, PSP). I was reading that there’s a limit on super resolutions, anything under 200 won’t work? What are you guys using for super resolutions on those?


1 Like

Yeah you can’t go any lower than that on a 15khz screen. There’s a lower limit and any lower and you end up with a black area to fill out the remainder. With handheld cores you’ll just have to put up with them not being fullscreen, or stretch them out and use bilinear filtering.

So I ended up finding workaround…install all the suggested RetroArch super resolution modelines + the Groovymame ones and set your desktop to 320x240 (progressive). Then, within RetroArch, set SwitchRes to 2560, Integer Scaling on…presto, full screen 240p handhelds!

Now I just need to solve SwitchRes not working unless the desktop resolution is progressive… :wink: