New CRTSwitchRes v2.0 for RetroArch


So I have had a small break from this scene for a while. I have some great news for all you CRT Fans.

I now bring you CRTSwitchRes v2.0(beta) there are many improvements as well as new features.

Change log:

- New switching method. This improves switching speed for Linux. **
- New multi display support. Currently fully implemented on Linux, windows is in the works.
- New porch algorithm for Linux. Better and more centered.
- Added support for Raspberry PI. ***
- Multi display method works though the built in monitor index options. ****
- New desktop restore resolution for windows. You can now have any desktop refresh or resolution.
- Threaded switching has been implemented. This will help prevent audio stutter when switching . *****

** This has not been fully implemented yet most of the ground work is there but still some to do, Hence (beta).

*** Currently this prevents a merge to mainstream. A new Video display server needs implementing. I hope either @Twinaphex or @bparker can help with this?

**** You can choose auto to switch all connected displays or an index to witch whichever one you wish.

***** This is currently hard set on. However, it will be tied into threaded video by release.

Here is a quick video on the multi monitor display feature.

And here is a reminder of the raspberry PI Implementation for those of you who may not of seen it.

@hunterk How are we doing on the setting that removes the CRT menu options for Raspberry PI in 1.7.5, is it still there?

If any one wishes to test this they can compile from or I can upload the binary executable.


So, if I understand this correctly, this is making it so you no longer have to set your CRT as the primary monitor for CRTSwitchRes to kick in on that screen, right? I’m on Windows, and I’ve ‘been’ using a program called “MakePrimaryMonitor” that I keep on my taskbar, I just click it and it switches the primary monitor back and forth. Not having to do that step would be really awesome as it moves my frontend and icons and all that around lol

As always though, your magic is very very appreciated. Thank you for all your hard work.

This seems great but I had no issue before with this, so is there any major changes? Assume this would still need a compatible Radeon to work correctly on PC?

It’s a lot more polished overall. There’s no reason to stick to an older version over this but yes, it seems the best experience would be with an older radeon card. Some intel chipsets work too, YMMV.

If your running in super resolution you can you any video card. All Card handle super resolutions differently so for argument same. Intel works best with 1920 whereas Nvidia works better in 3840 or 2560.

Of course is you want native resolutions, radeon is you best option. Although, if you use the 31khz option you can get native resolutions with most video cards.

The bit implement is adding RPi support and choosing your monitor. However, with the new switch method on Linux things are smoother.

Makes sense. Just to clarify I assume you’d still need Calamity’s emudrivers, and any idea what intel choosers are supported?

Tested this build (compiled from source on GroovyArcade 2018 on sony pvm 14m2e, native resolution (0):

mednafen (beetle) psx:

chrono cross:

  • sound stutter is almost completely gone. only very minor and only sometimes an audio glitch happens when switching from and to menu in-game. also a very very slight stutter is heard right at the start of the white bios screen (this happens not only with this game).
  • the screen switching is improved as well. when entering the menu, you can see the upcoming menu screen squeezed and then it jumps into place. however, this now goes a lot faster and a with lot less shocking than before. leaving the menu is as good as perfect now as it’s stutter free.

jumping flash:

  • somehow when using native resolution in switchres v1, the image in jumping flash 1 and 2 was squashed horizontally leaving wide black vertical bars on both the left and right. This is now much better, albeit that the image is not perfectly centered and a bit shifted to the right. but no big deal, this might be even the same on real hardware.

final fantasy vii and viii

  • when using native mode in switchres v1 there was video and audio stutter when entering the menu in-game (even though the menu is also a progressive image, but a different resolution). This is now a LOT better and almost neglectable. The audio stutter is gone.

bsnes accuracy

  • switching between pal (50hz) and ntsc games (60hz) now can be done endlessly without the screen being resized wrongly or without games running at the wrong speed. note that the content has to be closed each time to encounter no problems when switching between pal and ntsc.

So, a great improvement! Awesome job Alphanu :grinning:

note: remove or rename retroarch.cfg as the old one seems not compatible with this build. when changing menu driver to rgui I got a black screen and switchres resolutions could not be changed (was stuck on 3840) so use a new config (automatically created when retroarch is started and no retroarch.cfg is present).


Thanks for the detailed information in your test @rainbowroad I am glad to hear things are working much better. what OS is this? I know ArcadeVGA ia a modded ATi video card. However, I assume this is a Linux distro you are talking about?

My bad. I’ve tested it with GroovyArcade 2018 (archlinux) with an ati radeon hd6450. I’ve tested switchres v1 also with an arcadevga 5000 (ati hd5450) I guess that’s why I made the mistake.

Post the binaries please. x64.

Head over to for more information, support and downloads.

Hi @Alphanu, some news for CRTSwitchRes for Lakka (Raspberry version)???

He’s waiting on us to expose the options on RPi, AFAIK.

Ok, right, but… is it so difficult what you have to do? This post is from January… Do you think it could speed up a little? :drooling_face:

Pull requests are always welcome.

The ability is already built in. You can follow a guide to get into terminal and edit the retroarch CFG to turn on CRTSwitchRes if you want.

@hunterk as soon as the options are available for RPI it will work straight away. At least for RPI2/3, maybe a few issue with RPI4 to fix though.


I haveRPI 3B with lakka and with reatroarch 1.7.8; are you telling me that if i enable crtswitchres on retroarch.cfg this will work???

@hunterk you’re right but unfortunately i am not a programmer/coder :frowning: However the request has already been made:

well in that case, what’s left to be done? I assume it’s still not showing, even after that?