New CRTSwitchRes v2.0 for RetroArch

Yes, of course. Just a question: now i have this modeline in my config.txt: hdmi_timings=320 1 5 30 45 240 1 5 3 19 0 0 0 60 0 6400000 1

do I have to change this line with 1920, or add another modeline or wath?

NO you don’t need to change it.

What method are you using to output 240p. GERT VGA or HDMI to VGA?


@Alphanu yyyyyyeeeessss it work! Thannnks :star_struck: Can i centre the screen with overscan option? (in Os or in RA?)


You should be able to use x center option. You’ll need to find it in the cfg until the menu options are available.

The values are -3 to 3.

really nice to see some progress on the CRT front. i will try with latest lakka (2.3.1 for x64) with ati 5450 and VGA->to->RBG SCART Cable. with having an CRT-switchres-Ready Lakka finally a dream comes true!!! Thank you very much for your efforts Alphanu !!!

1 Like

Sorry… I still need your help :innocent: these are the only configuration lines I can see on my retroarch.cfg: crt_switch_center_adjust = “1” crt_switch_resolution = “1” crt_switch_resolution_super = “1920” crt_switch_resolution_use_custom_refresh_rate = “false” crt_video_refresh_rate = “60.000000”

I tried to edit crt_switch_center_adjust = “1” in “-3” but nothing…

Hello, I’m using LAKKA 2.3.1 on Raspberry Pi 4. I have a Gert VGA666, a VGA>SCART cable and a couple of questions:

  1. Does CRTSwitchRes work on Raspberry Pi 4?
  2. Does it provide a pixel-perfect video mode per game/ROM like AdvanceMAME?
  3. Beside setting the VGA666 overlay in RPi config.txt, which row in retroarch.cfg enable the CRTSwitchRes feature?

Thank you very much!

@Alphanu @hunterk I have enabled CRTSwitchRes on Raspberry Pi 4 (Lakka 2.3.1, VGA666) and it works perfectly with different console titles (Sega Genesis Streets of Rage 3, Sonic 2) and arcade (Neogeo Art of Fighting, CPS-1 Final Fight, Irem M-92 Undercover Cops). Combined with the Run-ahead options to minimize input lag, this is a truly exceptional pairing!

I am experiencing however some graphic issues with Shadow Force (jagged lines on vertical scrolling) so I would like to ask: are there any known problems for CRTSwitchRes on RPi 4? if yes, what are they due? If these are at firmware level, maybe we could open an “issue request” for Raspberry developers.

Thank you!

1 Like

Any chance you could get a picture of the issue?

@scandy Are you using native or super resolution? The RPI4 has an open pixel clock so native resolutions are supported.

@Alphanu how can I check these options (native/super)?

I’m using the official LAKKA image (Lakka-RPi2.RPi4.arm-2.3.1.img) for my Raspberry Pi 4. I’m also using a Gert’s VGA666 and this VGA-SCART cable (usb-powered) connected to my CRT TV.

I only enabled the VGA666 overlay in distroconfig.txt using the modeline suggested here and the options you specified for CRTSwitchRes in retroarch.cfg, loaded Art of Fighting and Final Fight in Final Burn Neo and everything worked like a charm (excluding Shadow Force with jagged lines on items with vertical scrolling).

@hunterk sure, I will take pictures as soon as I get home.

P.S. Only a doubt: I don’t see the video “switch” as seen in this video (I only get the refresh rate message) but picture is pixel-perfect with Art of Fighting (Neogeo), Final Fight (CPS-1), Undercover Cops (Irem M-92), Streets of Rage 3 (Megadrive), Shinobi III (Megadrive).

UPDATE: This is an example of jagged (diagonal) lines of pixels in Shadow Force.

hello, i tried with lakka 2.3.1 and the latest nightlies for x64/x86. The CRTswitchres-Options are not shown in the option menu. I have tried to put the needed lines in the retroarch.cfg but nothing works. No Clue about RPi-System but i think the feature is maybe not fully implemented yet.

@scandy There is another CRT option in the retroarch.cfg which is crt_switch_superresolution = 2560 or similar, the values are as follows:

0 = native resolution 1 = dynamic superwidth 1920 = 1920 superwidth 2560 = 2560 superwidth 3840 = 3840 superwidth

1 Like

@Alphanu @hunterk

So I’m in “1920 superwidth”.

This is my retroarch.cfg:

And this is my distroconfig.txt:

Thank you

That looks to me like you might have the wrong height somewhere, possibly in your ‘crop overscan’ settings? Are the artifacts only present while scrolling vertically or do they just not stand out as much normally?

@shakalakka I think the options just aren’t showing up in Lakka because it’s not fulfilling one or more of the conditionals to show up in the menu, despite having the capability. That is, you can try enabling options through the cfg and it should work, even if the options aren’t accessible in the GUI menu.

@hunterk the artifacts are always present, even on static images, in Shadow Force. Crop overscan is set to “on”. Correct height shouldn’t be set automatically by CRTSwitchRes? :thinking:

It sets the correct height for the operating system based on what the core reports, but there’s still a possibility for some other options to mess things up.

It looks like it should be a standard 320x240 game, according to this:

So unless it’s getting an incorrect modeline somehow…

@hunterk @Alphanu I’ve done some tests.

Setting crt_switch_superresolution to 0 gives a very, very, very narrow picture in width (like a “pillar”) and the UI is unreadable.

With crt_switch_superresolution 1 I still get a narrower picture, incorrect but better than the previous option.

I also noticed these strange behaviors:

  • I do NOT see a real video “switch” (like changing channel) after loading a ROM so I wonder if CRTSwitchRes is not working at all on RPi4… ?!?
  • Shadow Force USA and Shadow Force JAP behave differently, despite being two versions of the same game: JAP version behaves like all other titles (pillar boxing etc.) while USA version regardless of the CRTSwitchRes options it always has the correct width.

What other tests should I do? There is a way to check if modeline (and emulator informations) are correct?

Thank you very much.

You need to use the RGUI menu and set a custom aspect ratio, integer scaling on, and a very wide custom width (like 6x+) to stretch the UI out to match the ultrawide screen.