Intel Graphics card error on Windows with Psychtoolbox?

We are building a study in Matlab that uses Psychtoolbox and interfaces to an Eyelink 1000 eye tracking system. When we run our study, we get the following PTB error:

PTB-ERROR: Screen(‘Flip’); beamposition timestamping computed an impossible stimulus onset value of 151.051853 secs, which would indicate that

PTB-ERROR: stimulus onset happened before it was actually requested! (Earliest theoretically possible 151.061241 secs).

PTB-ERROR: Some more diagnostic values (only for experts): rawTimestamp = 151.062202, scanline = 635

PTB-ERROR: Some more diagnostic values (only for experts): line_pre_swaprequest = 573, line_post_swaprequest = 580, time_post_swaprequest = 151.061351

PTB-ERROR: Some more diagnostic values (only for experts): preflip_vblcount = 0, preflip_vbltimestamp = 151.051914

PTB-ERROR: Some more diagnostic values (only for experts): postflip_vblcount = 0, postflip_vbltimestamp = -1.000000, vbltimestampquery_retrycount = 0

PTB-ERROR: This error can be due to either of the following causes:

PTB-ERROR: Very unlikely: Something is broken in your systems beamposition timestamping. I’ve disabled high precision

PTB-ERROR: timestamping for now. Returned timestamps will be less robust and accurate.

PTB-ERROR: The most likely cause would be that Synchronization of stimulus onset (buffer swap) to the

PTB-ERROR: vertical blank interval VBL is not working properly, or swap completion signalling to PTB is broken.

PTB-ERROR: Please run the script PerceptualVBLSyncTest to check this. With non-working sync to VBL, all stimulus timing

PTB-ERROR: is futile. Also run OSXCompositorIdiocyTest on macOS. Also read ‘help SyncTrouble’ !

Warning: Column headers from the file were modified to make them valid MATLAB identifiers before creating variable names for the table. The

original column headers are saved in the VariableDescriptions property.

Set ‘VariableNamingRule’ to ‘preserve’ to use the original column headers as table variable names.

====

We ran the suggested PerceptualVBLSyncTest, and get the following output:

PTB-INFO: This is Psychtoolbox-3 for Microsoft Windows, under Matlab 64-Bit (Version 3.0.19 - Build date: Dec 14 2023).

PTB-INFO: OS support status: Windows 10 (Version 10.0) supported and tested to some limited degree.

PTB-INFO: Type ‘PsychtoolboxVersion’ for more detailed version information.

PTB-INFO: Most parts of the Psychtoolbox distribution are licensed to you under terms of the MIT License, with

PTB-INFO: some restrictions. See file ‘License.txt’ in the Psychtoolbox root folder for the exact licensing conditions.

PTB-INFO: For information about paid support, support memberships and other commercial services, please type

PTB-INFO: ‘PsychPaidSupportAndServices’.

PTB-INFO: The detected endline of the vertical blank interval is equal or lower than the startline. This indicates

PTB-INFO: that i couldn’t detect the duration of the vertical blank interval and won’t be able to correct timestamps

PTB-INFO: for it. This will introduce a very small and constant offset (typically << 1 msec). Read ‘help BeampositionQueries’

PTB-INFO: for how to correct this, should you really require that last few microseconds of precision.

PTB-INFO: Btw. this can also mean that your systems beamposition queries are slightly broken. It may help timing precision to

PTB-INFO: enable the beamposition workaround, as explained in ‘help ConserveVRAMSettings’, section ‘kPsychUseBeampositionQueryWorkaround’.

PTB-INFO: OpenGL-Renderer is Intel :: Intel(R) UHD Graphics 630 :: 4.6.0 - Build 27.20.100.8783

PTB-INFO: VBL startline = 1024 , VBL Endline = 1024

PTB-INFO: Measured monitor refresh interval from beamposition = 16.661235 ms [60.019561 Hz].

PTB-INFO: Beamposition queries are supported, but disabled. Using basic timestamping as fallback:

PTB-INFO: Timestamps returned by Screen(‘Flip’) will be therefore less robust and accurate.

PTB-INFO: Measured monitor refresh interval from VBLsync = 16.660652 ms [60.021661 Hz]. (50 valid samples taken, stddev=0.013235 ms.)

PTB-INFO: Reported monitor refresh interval from operating system = 16.666667 ms [60.000000 Hz].

PTB-INFO: Small deviations between reported values are normal and no reason to worry.

PTB-INFO: ==============================================================================================================================

PTB-INFO: WINDOWS DWM DESKTOP COMPOSITOR IS ACTIVE. On this Windows-10 or later system, Psychtoolbox can no longer reliably detect if

PTB-INFO: this will cause trouble for timing and integrity of visual stimuli or not. You might be just fine, or you could be in trouble.

PTB-INFO: Use external measurement equipment and independent procedures to verify reliability of timing if you care about proper timing.

PTB-INFO: ==============================================================================================================================

When we had initially reached out to Eyelink, they suggested that this may be a graphics/hardware problem related to our computer (Windows 10 Pro, 64-bit, Intel UHD Graphics 630). If this is a hardware issue, is there any way to get the study to run? We are running Psychtoolbox Version 3.0.19.

Intel graphics on MS-Windows ==> Broken visual stimulation timig, as warned against on our System Requirements page and countless forum posts.

If you need a less broken solution, at least for single display setups, switch to AMD or NVidia graphics on Windows.

If you need the cheapest and most precise/trustworthy solution, switch to Linux, where Intel graphics generally works very well.