Sync failure with external monitor

I basically tried everything I can on the “help SyncTrouble” and it still doesn’t work. So I am asking for help here to see if anyone knows what I can do.

The problem is simple - I connect my laptop to an external monitor, run Psychtoolbox with sample script which will display a fixation cross. and then, I get this warning:

WARNING: Couldn’t compute a reliable estimate of monitor refresh interval! Trouble with VBL syncing?!?

----- ! PTB - ERROR: SYNCHRONIZATION FAILURE ! -----

One or more internal checks (see Warnings above) indicate 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.

PTB-ERROR: Screen(‘Flip’); beamposition timestamping computed an impossible stimulus onset value of 262864.733515 secs, which would indicate that
PTB-ERROR: stimulus onset happened before it was actually requested! (Earliest theoretically possible 262864.744653 secs).

PTB-ERROR: Some more diagnostic values (only for experts): rawTimestamp = 262864.746721, scanline = 601
PTB-ERROR: Some more diagnostic values (only for experts): line_pre_swaprequest = 503, line_post_swaprequest = 517, time_post_swaprequest = 262864.744948
PTB-ERROR: Some more diagnostic values (only for experts): preflip_vblcount = 0, preflip_vbltimestamp = 262864.734139
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’ !

Somehow I need to use this laptop as it is attached to another stimulator and it will only work with this laptop. I am now planning to use Matlab to control this stimulator to deliver stimulation, together with Psychtoolbox which will help me display visual stimuli and send markers to the TriggerBox. In this way, I can’t just skip Psychtoolbox.

My system:
Intel(R) Core™ i7-8565U CPU @ 1.80GHz 1.99 GHz
Intel(R) UHD Graphics 620
Windows 10 Home
External Monitor: Dell E2417H

What I have done so far:

  1. Graphics card “Synchronize bufferswaps to the vertical retrace” option has been set to
    “Application controlled” (for matlab)

  2. Triple buffering doesn’t exist, Intel told me that I cannot set it.

  3. No “Buffer swap mode” found

  4. Assigned external monitor (the one supposed to display stimuli to subjects) is set to be the primary monitor.

  5. refresh rate (60Hz) and bit depth (8-bit) are set to be the same for bother laptop and external monitor. Desktop resolution are also the same (1366 x 768). There is only one difference - the “Active signal resolution” for the laptop monitor is 3840 x 2160. I think it only means that the highest resolution is this number, not that I am using this setting.

  6. Genlock mode - Intel told me that with this CPU, I don’t have any Genlock mode.

  7. This is not a hybrid graphics laptop.

  8. updated graphic card driver already

  9. If I use “Buffer swap mode” , I can get it run (at least I see the fixation cross, but I know it’s basically skip the points that I have problems).

  10. The external monitor is attached to a VGA cable, then a DVI adaptor, then go into a USB dock (since the laptop has only one HDMI port, I can’t connect this monitor to it directly). I wonder if the complicated connection makes everything fails.

If you have any idea what else I can try, please let me know.

It’s in our system recommendations and discussed so frequently that i’m getting tired and bored just writing this: Intel graphics on MS-Windows is usually severely broken wrt. timing, always employing triple-buffering with no known way to disable it. A visual indicator for such triple-buffering is if the welcome screen with the frog vibrates or wiggles. Dual-display on Windows is a troublemaker. The dock i assume is connected to the laptop via HDMI or such.

Your likelihood of getting precise visual timing out of this setup is essentially zero with any existing software, although Psychtoolbox is at least able to warn you, whereas more primitive software would just silently fail and screw up data collection.

Your best chance is to install Ubuntu Linux as a dual-boot, where Intel graphics usually works excellent.

End of free advice.
-mario

Thank you Mario for your reply. I see a lot of questions of this, so I aim to find if someone would have a workaround for it in my situation, hoping that there may be someone who had a special way to work it out, or I missed some points. I have no choice, since the program comes with the stimulator only runs on Windows. If PTB has to be run on Linux, I will not be able to use it.

The dock is not connected to the laptop via HDMI. The dock connects to the laptop with USB3.0 port. Is it a key point? Since I have another monitor, which I can connect it directly via HDMI to the laptop, that one works - the problem is that the monitor belongs to someone else. But at least I have a chance to borrow one, or buy one.

BTW, actually I have considered to use paid service - there’s no reason for me not to ask for a small budget for useful support, and I know how much work those who provides solutions need to do.

However, if it is just no chance anything can be done (in my situation, I can’t switch from windows to Linux bacause I have other devices needs windows, and running two different computers to get one experiment routine works bring me more sync problems), it’s not a reasonable decision to join a paid service.

If the screen vibrates, then it is the very common Intel graphics driver bug. If not, and if running single display helps, it is one of many well known MS-Windows deficiencies. Other than that there is Linux. What kind of device is it that prevents use of a better operating system for the task?

If your experiment doesn’t need any kind of precise visual timing, you can simply disable the sync tests and be done with it. If it needs precise timing then i can basically guarantee you that if PTB can’t solve it, no other software in existence can, as all other software i am aware of is way more primitive, e.g., all of the Python and Matlab alternatives with 100% certainty. The best they could “do for you” is provide a wrong sense of correctness due to their high miss rate of detecting broken setups. You get the same result of fake success and security if you disable PTB’s tests of course. Ofc. if that is the case then it would be better for you, and I assume the taxpayers who likely fund your research, if you’d stop your project right there and save that time and money for something else.

If it is not a USB 3 port, but a USB-C port which transmits both USB 3 data traffic and DisplayPort video signals, then the dock wouldn’t be a problem. If this is truly video over USB, “DisplayLink” if i get the naming correctly, then your endevaour is hopeless with any operating system or hardware in existence.

What’s even more work than that is the ongoing maintenance work behind the scenes to keep the most advanced psychophysics software in existence at its current level of quality, and progressing it forward with new and improved features. It keeps me busy most of the year, 60+ hours a week on average, while being paid less than a quarter of what I would make in industry. So if some lab or person has ability to have such a small budget there is really no excuse for not already having a paid support membership since years.

If you need precise visual timing, that would be a far superior solution, despite the added complexity.

Well, and that’s were you are utterly wrong, unless you think people who work hard throughout the year to provide a service to the community, for which few people are qualified for, as it needs a large amount of technical expertise that in my experience is mostly absent in the neuroscience community, do not deserve to have a roof over their head and food on their table, or an ability to retire at some point in a dignified way. Or independent of that, even if you or your bosses don’t care about decent behaviour, but purely for selfish reasons, you don’t care about the sustainability of a critical piece of software that funds itself by such contributions. This is not a a statement about you specifically, but about 99% of all our users - which seem to silently think in a similar way (or don’t think at all). They will learn what good deal they could have had by behaving mildly reasonable, once the party ends.

good luck,
-mario

Thank you very much for your advice, Mario. I have some ideas what to do now.

That is a tES stimulator. The stimulator comes with a laptop which has a GUI to control the stimulation. Matlab can control that GUI (not controlling the stimulator itself, the laptop works like a big dongle key of that stimulator). Thus I’m looking for something that I can also use to display some visual elements, usually are instructions of tasks, on screen. Visual timing doesn’t need to be extremely precise in our studies. Today I tried to use a VGA to USB-C adaptor to connect the monitor directly to the laptop (not using that USB dock), it did not work. I guess the next thing I can do is to borrow a monitor which can be connected with HDMI cable. If everything doesn’t work, then I may try skipping that display check.

BTW, I understand what you mean and totally agree - maintenance needs to be supported by resources. In my situation, I need a reason to persuade my boss to spend his budget on something that he has never heard of (we are not a lab doing visual studies. If we were, I should have been able to use an existing reliable setup), the only acceptable reason would be “our project needs this”. For this, I am working from scratch to try to make some demonstrations that we can use PTB in our new project. So far, I can’t display a fixation cross without problems. It will take me some more time down on this road, but I think it worths.