OpenGL vsync bug in macOS Ventura affects frame flip detection in PsychoPy

There is an OpenGL vsync bug in macOS Ventura 13.0 and 13.1 that affects vsync detection in PsychoPy. If you run “timeByFrame.py” or “timeByFramesEx.py” (see Demo->timing), you will see dropped frames and a mean win.frameIntervals that is incorrect (shows an odd bimodal distribution). For example, on a 60 Hz iMac monitor it shows a mean of 8.27 ms, whereas it should be ~16.67 ms.

OpenGL vsync detection works fine in macOS Monterey (tested on Intel and M1 Macs). Thus, best to avoid macOS Ventura when running PsychoPy experiments on a Mac until this bug is fixed (hopefully in macOS 13.2).

I’m also having this problem in MacOS Ventura 13.2.1

Anyone have any fixes/workarounds for this?

Unfortunately, the problem still persists in Ventura 13.3. Possible solution in Ventura is to use UTM and install Monterey or Ventura under UTM and run PsychoPy in UTM. Remarkably, using Ventura under UTM more or less fixes the problem as UTM seems to set the refresh to 60 Hz independent of the actual refresh rate of the monitor (tested with a 144Hz external monitor). Monterey under UTM is probably even better.