Variable Refresh Rate VBL Issue

Hello PTB community,

Before discussing my issue, here are the basic information and specifications about my current setup:

  1. Psychtoolbox Version: Psychtoolbox-3
  2. Platform: Windows 10 Home, 64-bit OS, x64-based processer
  3. PC: HP Desktop M01-F1124 (no DisplayPort output, only one VGA port and one HDMI output)
  4. Processor: AMD Ryzen 5 4600G with Radeon Graphics 3.7 GHz
  5. Installed RAM: 12 GB
  6. MATLAB version: R2024b
  7. Monitor (display): Dell Alienware monitor with variable refresh rate (FreeSync certified), connected to the PC via HDMI

The issue:
I am trying to run an experiment that needs to display frames of a trial at 40 Hz. That is, each frame stays displayed for 25 ms before moving on to the next frame. To achieve this as closely as possible, I had previously used a VRR monitor with Nvidia Gsync at 120 Hz refresh rate as 1/40 s (25 ms) is approximately a multiple of 1/120 s (8.3 ms). This experiment had been working as expected in a previous setup. However, I had to move to a new setup (specifications for which are mentioned above). PTB is working well at a 60 Hz refresh rate in this new setup after I took care to update the display settings of the AMD graphics card to get past any synchronization issues as mentioned here: Psychtoolbox-3 - SyncTrouble

However, as soon as I change the refresh rate to 120 Hz (needed for my experiment) or any other refresh rate besides 60 Hz (even ones that are lower), I get the same old ‘VBL synchronization error’ message. Here is a copy of the specific message:

"----- ! PTB - ERROR: SYNCHRONIZATION FAILURE ! -------
One or more internal checks (see Warnings above) indicates that synchronization of Psychtoolbox to the vertical retrace (VBL) is not working on your setup.

This will seriously impair proper stimulus presentation and stimulus presentation timing!
Please read ‘help SyncTrouble’ for information about how to solve or work-around the problem.
You can force Psychtoolbox to continue, despite the severe problems, by adding the command
Screen(‘Preference’,‘SkipSyncTests’,1); at the top of your script, if you really know what you are doing"

There were no additional warnings or error messages besides this. Again, this setup works perfectly fine at the 60 Hz refresh rate.

I did read about the issue here: Psychtoolbox-3 - VRRSupport and it seems a DisplayPort connection is essential. The PC in my previous (working) setup used a DisplayPort connection. Unfortunately, my current PC only supports VGA and HDMI. Is there no way to make it work with an HDMI connection? Would I need a new PC that has a DisplayPort output?

Thank you for reading, and for your time! Any help in this matter would be greatly appreciated!

Which checks are failing?
Also, you don’t need VRR for this. 40 Hz is exactly refresh every three frames at 120 Hz, so just update every third frame.

Thanks for your reply!

It’s just the synchronization check that is failing, as I mentioned above.

Also, 40 Hz or 120 Hz (or anything else besides 60 Hz) is not working for me. That is, PTB only runs when the refresh rate is set at 60 Hz. And there is no way I can present my stimuli at 40 Hz frame rate with a 60 Hz refresh rate.