RetroArch CrtSwitchRes 15khz auto setup script

I created this script for myself. It was needed as I have had to install reinstall many versions of Linux to make sure thing work.

It will setup a 15khz desktop resolution. This resolution is persistent, it will be there on every boot. Download all dependencies needed to compile. Then it will compile, install and load up RetroArch.

All of this is automated with only the need to enter your password and video output ID - connected devices are displayed on the screen to help. Once these two steps have been done, you can sit back and relax.

This is only designed for all flavours of debian. I would suggest using Lubuntu as it seems the best one for CrtSwitchRes. But I’ll leave that decision to you guys.

Also MME4CRT now supports all types of video output IDs. I have created a pull request to merge, However, there are a lot of changes and tones of new files. This is due to the Raspberry PI implementation. So it may take a while to merge.

You can find the script here. Place the in your home folder “/home/username” load up a terminal windows and just type “bash”

It takes around 15 minutes to start playing games. Under 10 minutes if you have an SSD.

Here is a video of the whole process.


That’s pretty amazing! It’s been a long while since I have done anything on Linux, and with RA being the main thing pulling me back this makes the transition seem like it will be less of a headache.

Hi mate,

Can you tell me what exact settings need to beset after your script runs as i cannot clearly make it up from your small tut-video I install latest lubuntu and your script ran fine and retroarch can be started, i was able to change to rgui and downloaded the core “Mame Arcade” ( i think this is the latest mame 0.206 ?) I then tried launching a game (samurai shodown) and the resolution indicated when you press “TAB” is indeed the game resolution but the actual resolution the game runs in is the desktop resolution I hope you can help as your script seems great!

You need to change the menu options for CRT switch.

Enable advanced options in user interface.

Make sure aspect ratio is set to core provided.

Then go to the CRT switch menu. Choose your resolution native, 1920, 2560, 3840. Don’t use native is you don’t have an ATI card.

The turn CRTSwitchRes on. Press right not left. As you have the choice of 15khz and 31khz.

I will try this tomorrow after work as soon as i get in ! i hope it works, as i really love the functionality of retroarch and especially now people are putting in the effort to have it working on crt with native game res

thanks so much I want you to know i appreciate the hard work you put into this! :slight_smile:

1 Like

Let me know if / what issue you get.

Hi mate,

So, i took the day off today to fiddle with this :smiley:

i can launch a game but i see no scanline awesomeness yet that indicate the native game res is working when i exit the game (legend of hero Tonma) it says "cannot find mode “CRT1 320x240_60.00” My settings are: core provided aspect ratio integer scale on crt switchres: 15khz CRT Super resolution Native (i have an ATI HD8750 with atom15 flashed into it) X-axis entering 0 Use custom refresh rate: off start in fullscreen mode : ON When i press F1 in game, i go to options, it says resolution 640x480 (?)

not sure what i am missing …

How many screens do you have connected?

Have you tried changing the monitor index in video settings?

Also type xrandr In a terminal windows. What is the I’d of your connected screen/s? Can you upload an image if the outputs please

Also what output us your CRT plugged into?

I have suffered the same problem in linuxmint 18.3.But when I use old CRT SwitchRes version,it does work well.

Hi Alphanu

I got a little closer yesterday but had not much time to test I did get it to work but some games the centering was off like for r-type and legend of hero tonma Now, i know these irem games are known for their odd resolutions I noticed in the video something ,you used 2 screens, one LCD and one TV, i reinstalled Lubuntu and took the same approach and then when i properly selected the monitor index i got it to work with RGUI, the output is on DVI-1 for the TV and DVI-0 is my LCD screen. This weekend i should be able to test some more games

Hi Alphanu

i did some more testing this time with fb alpha core and it seems to work although i have serious horizonal overscan on both native and super resultion-settings Also, i tried to play some vertical games on my horizontal and that seems to not work yet as it switches to small screen top left interlaced, the interlaced is good however as i do have that behavior on groovymame too but there fullscreen. What i like about this retroarch on crt is that you can apply shaders as some games like neogeo appear still to pixelated for my taste but when applying shaders it becomes almost like the real deal. Another i cannot wrap my head around is the dual monitor setup i have going on here I would like to keep a lcd desktop displaying the lubuntu desktop while the game runs on the tv At the moment, i can start a terminal on lcd, type retroarch to start and it will autoswitch retroarch to the TV but at the same time it blanks out my LCD on which i do not see anything anymore then, i would like to keep the display on the lubuntu side When i exit retroarch, the terminal window is displayed on the TV and the LCD is saying cannot display this video mode

ok, i solved the screen problem…

now however i see that on the tv the resolution is to 700x480 @ 30hz(29.9705HZ) When i try to set it to 640x480 @ 59.9405Hz my tv does not sync to it?

Yes, [email protected] is the 15khz mode that was install with the script. if you are trying to set any other pre-installed resolution it will be 31khz.

I am still trying to fix the interlaced bug here as it is installed as a 60hz resolution.

Please come alone to the CRTSwitchRes forum (MME4CRT). were are slowly building up issues, knowledge base and support.

Tried the install script today with lubuntu 18.10 x64. Results:

  • Desktop resolution does not persist. Need to do bash .xprofile manually after boot, then the right resolution is set. Otherwise the script ran fine.
  • Interlaced parts of a game are way too slow (for example ps bios), I guess that’s what you mean with the interlaced bug?
  • It seems that when using your script games are being centered better than with my groovyarcade setup. Also with groovyarcade I sometimes need to enable or disable overscan in the core options depending on the game to make it look best (otherwise a wide black vertical border is seen on one of the edges). This seems not to be the case with the few games I tried on lubuntu in combination with your script. However, interlaced does work fine on groovyarcade 2018 out of the box (I mentioned this also in the original crt thread).

What I could not test is if switchres 2.0 was already implemented (because interlaced being so slow). Will all changes you make in your repositories eventually be merged back to the original libretro ones?

The issue with interlaced is that in runs at half the refresh rate. It is something currently being looked into. A work around is to disable VSYNC and Audio sync and enable 1.0x max run run speed in throttle options. Yes, this will introduce a small ammount judder and possible tearing vut as tge refresh rate is very close to the original it’s not that bad.

The issue with the .xprofile is new though. It have been working fine for people.

Is it in your home directory?

Can you check what the permissions are for the file? Just right click and choose properties.

Could you paste the contents of the file so I can see if there are any issue?

There is an issue section on the MME4CRT forum. I would appreciate it if you could open this issue here.

Yes, MME4CRT does get merged into mainstream RetroArch. However, There can be weeks or even months before merges happen. If you want to stay on the bleeding edge of MME4CRT you’ll want to keep with MME4CRT instead of RA until a merge is announced.

-rwxrwxrwx .xprofile*


Icon theme "breeze-dark" not found.
Icon theme "breeze-dark" not found.
Fcitx seems is not running
Warning: The X11 connection broke (error 1). Did the X11 server die?
The X11 connection broke (error 1). Did the X11 server die?
The X11 connection broke: I/O error (code 1)
XIO:  fatal IO error 2 (No such file or directory) on X server ":0"
      after 429 requests (429 known processed) with 0 events remaining.
Xsession: X session started

Hi everybody I’m new to crtswitchres and I would like to know if it would be possible to achieve 15khz using a gtx 1080 to a Sony pvm (8042q) I had planned to use a vga to BNC cable. Would I need to use super resolutions or can I just do native 240p? My pvm does not support anything above 480i.

I have had CRTSwitchRes working with a NVIDIA GTX 1050ti. So it should work but you will need to pick a super resolution. Super resolutions are still 240p/480i but they are supper wide.

How do I do that? And I have a display port to vga converter. Will that work or do I need something else? In a few days I have an r7 240 coming but for the meantime how can I get it to work? I’ve never used Linux a day in my life.

Before you turn on CRTSwitchRes, Choose the super resolution. By default it is set to 2560 you’ll need to check which one works best for you. 1920,2560 or 3840.

I have not used a DPORT to VGA adaptor before so I can not conform. However, on my 1050ti I used a HDMI to VGA adaptor with a VGA to SCASRT lead