RetroArch - Native CRT Support


I just edited the link in the blog post.


I have the same problem as @Foxhole , after exiting retroarch, the resolution remains the same.

I have W7 with emudriver


@foxhole @murphy10k I will have to look into this. It was not an issue before the merge. I’ll download the latest version and check on my setup. If there are issues I’ll post my findings here.

Please bear with, I have a lot going on ATM.


OK I can confirm the issue. I have located the code problem, which must have happened during the merge. I’ll see if I can sort this and get the PR pushed ASAP

@hunterk can you tweet this issue, just to let people know.


Ok it’s fixed. Code is on my Github if you want to compile. I have created a PR so hopefully it will be in soon.


I can confirm that the PR has been merged. It will be fixed in the next nightly.

@Foxhole @murphy10k

Lagless VSYNC Support (beam raced synchronization) - [$1082 !]

I have created the PR for Linux switching.

Also if needed my git is

@hunterk @markwkidd


Linux version merged! the is 1 thing to note.

There is a prerequisite to install one modeline on boot. In this case its 704x480@60 as this is the current exit res @hizzlekizzle. It obviously would be better with a res detection on the first res change to set the orig_width and orig_height like windows, so we can restore to that. This can be done by creating a .sh making it executable and a startup program.

To be honest this is probably the best res to have for Linux on a CRT anyway.



@Alphanu thanks for this quick fix and for your work.


@Alphanu , with the last nightly the problem continues, in addition, Windows shows an error on close Retroarch.


@murphy10k there were a few changes made when submitting the Linux version.

Can you get a screen capture of the error and maybe run Retroarch in verbose mode.



And in verbose mode I get the same.

The capture is in 2560 because I take it just after exit, but I start the program from the 640x480 resolution of the desktop.


So it seems that after I added Linux support, it kind of messed up one part of windows.

I have fixed it and submitted a PR.

I have also thoroughly tested it on Windows and Linux.


Hi everyone. This is my first post on any forum ever so please bear with me if I goof anything up.

I’m a long time user of emulators but I decided to have a go at outputting to my crt last week. My setup is Win 7, r9 270, crt emudriver, and a pretty crappy, totally un-adjustable, 27" matsui tv.

Started off with groovymame using super resolutions and was blown away by how good it all looked(even on my matsui tv). Had a fair bit of overscan going on but I mucked about with the ‘monitor_specs’ line to get everything more or less fitting on the screen nicely.

Stumbled across this forum as I was trying to figure out how to get Epsxe working with crt emudriver. Turns out that epsxe wasn’t the way to go…! Anyway, so I fired up retroarch, made a few setting changes as per this link from the retroarch website: 15 khz CRT documentation wiki And fired up the following games: Einhander Castlevania SOTN FF9, 8, and 7 Omega Boost

They all ran and displayed perfectly as far as I can tell. Even the res switching ones. I booted up FF9 on my actual PS1 to compare screens and it was identical, although the screen position and overscan was ever so slightly different.

Sorry for the long post. Just really wanted to show some love to Alphanu and the retroarch guys. Amazing work Alphanu, thank you so much. It never ceases to amaze me how selfless and generous people(including yourself) are with their time and expertise. Now I just need to register with a forum that Calamity uses to give him some love also…

Happy to help contribute in some way if you ever need.

Oh and lastly. I too am having that issue where windows stays in super res after closing retroarch. Aaaand finally, i had to change my viewport mode to ‘rgui’ otherwise the screen was unreadable in super res. Not sure if that’s the correct thing to do, but it worked for me - might be worth putting a small bit about that in the’instructions’ link that I referred to earlier.

Cheers all.



Hi @Harrytoons thanks.

It good to hear back from people liking the work. I love it myself, I’m always picking it up and playing Street fighter 3 or Super method.

RGUI if the option you want. It is currently the only menu that scales correctly for 15khz.

As for the current bug you mentioned, I have just fixed it. The PR should get merged pretty quick, so it will be in one of the next nightlys.

You can message Calamity over at arcade controls.,52.0.html


Quick update. The PR is merged so it will be fixed in the nightly.

@murphy10k @Harrytoons


Thanks for this, just compiled and tested - works really nice so far ! On linux, you can’t edit frontporch/backporch and other settings available in windows’s crtemudriver, how can I change these settings under linux using retroarch ?

Asking because without the patch and manually using switchres, the resolutions are ok, but using the patch and letting retroarch switching resolutions (using native resolutions, NOT super resolutions) my CRT does weird things and display is too much extended.

This will be shown at hfsplay’s summer arcade festival this weekend :slight_smile:

Thanks !


Hi @vikbez

I have not been able to test native on Linux my end, I’ve just been using super resolutions. I have not included any options to change porches because this can cause issue for user who aren’t sure on how they work and what they are. So I have created a modeline generator within ReatroArch. It is designed around Arcade 15khz, so there will be some scanning issues on TVs. However a lot of good quality CRT TVs allow you to edit these via hidden options or pots inside the TV.

Now as I mentioned I have not tested native. This is because I’ve not been able to it in Ubuntu, I cant display low pixel clocks.

You mentioned that you compiled from source so if you look here

From line 100 - 218 is the mode line generator. If you feel up for it you can edit the code. You’ll need to edit hfp, hbp, vfp and vbp for the porches, hsp and vsp for the sync pulse. As a guide for you, the higher the number the more porch is drawn. This then draws more of the visible image on the screen. However, only make small changes as you’ll end up with it out of sync.

I have a lot of projects on ATM which I need to finish. I will add some porch options at some point but I will have to make them user proof. This means that there may only be a couple of options for them. I’ll have to think carefully about it.


Thanks for your precise reply. I’m testing on calibrated Sony PVM monitors and also getting a color change when using patch. I will try editing settings in dispserv_x11.c !


Cool, let me know you finding. It will help me when it comes to creating porch settings.