G-sync/Freesync modification for Retroarch, please test


From reading your PR seems like audio will crackle in Beetle if you can’t maintain 100% speed?

I haven’t had any problems that I’ve noticed (both hardware and software. I also use GTE overclocking in hardware mode).


it depends of the game, it’s strange.
Easy to hear in Castlevania SOTN memory card menu.

Updated the exe and link on 1st post with the new code (VRR On/Off option).


New method, I’m letting the audio unblocked after fast forwarding, syncing only to the video at x1, then blocking the audio several frames later to avoid crackles.
It seems to work well for me with g-sync.

You can have audio sync to On again (you still have the possibility to put it Off if you want that), just need your monitor set to the max/desktop refresh rate.
VRR option in the Frame Throttle menu.

edit:updated on first post


Also seems to work fine.

Can you get this merged? I want it with the ‘immediately apply cheats’ feature that was just merged :stuck_out_tongue:


I got a XB271HU delivered today. When I try to fast forward with GSync, any game I try in the two cores I tried so far (mGBA and pce_fast) freezes for about two seconds before fast forwarding. Sometimes it makes the games slow down or stutter too. I can see the refresh rate counter fluxuate from 60 down to 44 or so after letting off FF. It will sync up again and play smoothly after a few seconds.

With your VRR throttle option, I still get the freeze, but after disabling FF, it goes back to playing smoothly pretty much instantly. I’m testing with the GL driver with swap interval 1 and the refresh rate set to the display reported frequency (around 120hz). Vulkan has the same issue. The only thing that gets rid of the FF freeze is turning on threaded video. Surprisingly, with GSync, threaded doesn’t stutter for me like it does with normal VSync.


I didn’t hear about that pause before FF.
Did you uninstall and install your nvidia drivers again after getting the screen?
I had issues without doing that and read somewhere it should be done.
(you have that tool that will remove any driver completely in safe mode)


It’s similar to the issue I had in Vulkan with regular Vsync and FF, but happens in both GL and Vulkan with GSync.

Haven’t tried reinstalling the drivers. Everything else works fine so I’m not sure I want to. Stupid reddit says the latest drivers broke hardware acceleration on web videos in all browsers :confused: But if I’m the only one with the FF freeze I guess it could be something weird with my drivers.


I went through the DDU process and went with the latest driver (398.82). The FF freeze is still there for both GL and Vulkan. Vulkan has added black screen flickering when FFing now too, which I think I’ve seen Radius mention before (though with just normal Vsync for him). Maybe the difference here is that I’m on Win10 while you use 7?

In any event, I think your added option is working well, with smooth video and no sound crackling.


I have the usual “frame buffer old picture” showing up before FF with vulkan, I think everyone got that on nvidia.

Did you try the 240p suite with the horizontal scrolling test (such as here for snes) to be sure it’s perfectly smooth after FF?
That’s the main thing I need to be sure is fixed now before making a new PR.


Maybe a silly question but is there a quicker way in the menu to change the Vertical Refresh Rate value other than hold the right cursor key to increase the refresh rate?

Should you also be disabling Vsync??


Keep vsync ON in RA.
For the refresh I don’t think there’s anything other than editing ra.cfg.


Ok ill keep it enabled


So ive changed vertical screen refresh to 144 but how do you actually tell if the 144hz is being used within RA?

Ive enabled Display Statistics by…

Onscreen Display>Onscreen Notifications>Display Statistics>

that shows info on the screen but reports ‘frame rate’ as 58.73 and ‘FPS’ 59.82 doesnt seem to mention 144hz anywhere bar ‘viewpoint’ line, 2560x1440x144


Gsync/Freesync will just adjust to the machine asked timing.
You wouldn’t have any advantage running it at twice the refresh (for now).


Tested it out and the foreground layer (ground and trees) was scrolling dead smooth immediately after letting off FF. Very impressive.

With VRR Runloop disabled there is some stutter after letting off FF. As well as regular “judder” every few seconds on the 60fps scrolling (even before I touched FF). All smoothed out when it’s enabled.

So Hard Sync is still useful for reducing lag in the GL driver even when using Gsync, right? When I was first reading about Gsync I thought it would eliminate the need for Hard Sync and Vsync. But I’ve since read that Hard Sync works independently from Vsync and if I disable Vsync in RA I get lots of nasty tearing even though Gsync is enabled.


Yes disabling vsync isn’t working well in RA with Gsync, I get the tearing too.

And nothing is smooth here as well with the default max speed at 0.0, or anything different from x1.
That’s the reason I’m making that different loop for VRR.

I believe hard sync 0 is preventing an extra frame of video buffering.


Yep, edit the config file.


I updated the PR and the exe on the 1st post.


Tested the new .exe and the scrolling test still looks good for normal scrolling and after fast forwarding. Played Crash Warped for a few minutes and didn’t notice any audio crackles.


That’s reassuring as it’s the same than the previous one, just updated to recent RA master as some1 asked and I had it compiled. :slightly_smiling_face: