RetroArch - Native CRT Support

Ok, Things are looking good. Initial test of this fix are really good. Interlaced and progressive switching are again fixed. Hz switching works as well. This is dependent on whether you have the correct mode-lines installed. One thing is that it could change multiple video devices. I only have one connected, unfortunately its down to you guys to find out.

Super res version now will output the super resolution to ra_res_hz. There is still a lot of work to be done on the super resolution side.

Please download and test, it would be nice to move on and start adding the menu options :grin:

1 Like

Awesome! I’ll test this the moment I can and I’ll also attempt to add some of those modes, but I think some of them may be outside of my TV’s range

1 Like

I’ve not been testing with super resolutions. Some of the ones installed on my list have the wrong frequencies. Test some games an first and check the ra_res_hz Then add any resolutions you may be missing!

Just tried the new version. Tearing still happens on both native and super. I can’t comment about hz switching since i don’t use pal at all. Super is still having issues with switching from progressive to interlaced, for example sonic 2, it will run in 2560x240 instead of 2560x480. To be honest, the new version works pretty much the same as the former version with the no_hz switch. Native works the same, no issues with resolution switching, but vsync is still an issue.

Only use usermodes if your using crtemudriver. Don’t bother with actualy modelines. User modes should look like this for example:

320 x 240 @ 60.000000

Depending on what monitor setting you have chosen in vmmaker it should pick porch settings etc that are within those limits.

1 Like

I tested sonic2 just before I uploaded this version. Switching worked great. I’ll upload a video in a bit.

Are you sure you have the correct setting in Retroarch?

What is your setup foxhole? Works great for me using the latest crtemudriver and vmmaker using native resolutions. I don’t think this version has support for super resolutions yet.

1 Like

@Retrorepair We might need to release a beta ini file to install requires resolutions. At least the ones we have so far.

I know once I have super resolution sorted it wont be needed, but it will help everyone during the testing stages. Plus its what everyone who wants native will need any way.

If you want the games to look as it should native is the way to go!

Like i said, native works perfectly for resolution switching in all cases, only having tearing issues. The issue with sonic 2 only happens with the Super build.

Ah didn’t realise there were two builds. @Foxhole what is your setup exactly? Crtemudriver? Can you post what modes you have installed?

@Alphanu yeah will sort that tomorrow. I maintain that a native mode option should be kept in though. It doesn’t hurt to have the option if they work.

Oh, OK that does make a difference. Super resolutions are only preliminary added, as i mentioned there is still a lot to add in.

Have you setup your native modes to use exact frequency e.g 49.701hz pal or 59.942hz ntsc genesis or have you set 50hz / 60hz?

I will be incorporation a sync matching algorithm but the theory is if you have the correct values running on your CRT it should not be needed. Are you passing 0 for the refresh rate in the Retroarch config? if so disable VSYNC an test. If not test with the correct Refresh given by ra_res_hz. This will be the refresh setting i’ll be editing on the fly.

Retroarch currently has a 0.2hz + / - window on its refresh setting, this means if its out by less than this much it will not correct it. This will deffo introduce tearing, at least they way we are using it. but when you set the refresh in the Retroarch config you will hard set the frequency.

I’m using crtemudriver. here are my modelines and retroarch configuration files. Configuration

I’ll try now your suggestions. Edit: tried your suggestions, and nothing. Same issue with the tearing. The thing is, it acts like vsync isn’t turned on at all. It only uses the audio for sync. If i turn off Audio Sync the game runs unthrottled at max speed. Second edit: With the original csr native build i didn’t have any vsync issues.

Looking at you mode-line things should work perfectly in native mode, which is what you have said. The main thing here is the refresh rate. I’m not sure if your ntsc refresh rates match the native rates. Make sure you check them against the ra_res file.

There is also a VSYNC option in the video settings.

I can see you have set a video_refresh_rate. its currently set to 60.002399 which means RA will always run at this rate no matter what. This should either be 0 or the exact refresh of your CRT’s refresh, hence the need for on the fly refresh switching.

I do appreciate all the testing being done guys. It is really helpful.

You know, i noticed in the native csr build, which doesn’t have any syncing issue, that if retroarch loses focus due to alt+tab or something else, then vsync no longer works and i get tearing until i restart retroarch completely. Is it possible that in the newer builds somehow retroarch loses focus during the resolution change?

I installed a new modeline with the closest refresh rate to the one in the ra_res, i got: 59.868 I tried changing the refresh in the config to 0 and the exact refresh rate and with both i’m still getting tearing issues. Funny thing is that with the native csr build, when the refresh is set to zero, i also get vsync issues, but when i set it to the exact refresh rate vsync works perfectly.

Just to be clear, am i the only one with tearing issues?

No your not, it’s likely the way the refresh is being manipulated at the moment is breaking retroarches dynamic refresh update.

It’s helpful to know it wasn’t just me tbh.

I also am recieving the screen tearing issues. I did move to the native resolution build, and progressive and interlaced switching does work however unlike w/ super resolutions