PTB-3 synchronization failure in MacOs Sierra 10.12.6

Dear Psychophysics toolbox community,


Since a few weeks ago, I am stuck with a synchronization failure that occurs when using PTB-3 (versions 3.11-3.14) in a MacBook Pro retina 2017 with operating system macOS Sierra (10.12.6). This problem becomes specially serious (the program is halted) when calling the function [,]=Screen('OpenWindow',whichScreen,0,Resolution_window) with 'Resolution window' being equal to the 'laptop's screen resolution'. 


I have installed several versions of Matlab including the Matlab 2012a for which I found this text on the Psychtoolbox website (System requirements section): "Limited testing currently only happens on the latest version of OS X 10.12 “macOS Sierra” with 64-Bit Octave 4.2, and with 64-bit Matlab R2012a".


On the other hand, when running the same code in a MacBook Pro retina 2013 with with operating system macOS El Capitan these problems do no longer appear.


Given this information, I would much appreciate if any of you could help me find a way to avoid these synchronization problems on my MacBook Pro laptop with Sierra. Otherwise, if there is no hope to solve these issues with Sierra at the moment, I would be glad to know.


If it can be of any help, I am adding below the error message that I get when the program is halted.


Many thanks in advance,

Adrian




PROGRAM MESSAGE


PTB-INFO: Retina display. Enabling panel fitter for scaled Retina compatibility mode.


PTB-INFO: This is Psychtoolbox-3 for Apple OS X, under Matlab 64-Bit (Version 3.0.12 - Build date: Apr 1 2016). PTB-INFO: Support status on this operating system release: OSX version 10.12 is not supported or tested anymore. 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: OpenGL-Renderer is ATI Technologies Inc. :: ATI Radeon Pro 560 OpenGL Engine :: 2.1 ATI-1.51.8 PTB-INFO: Renderer has 4096 MB of VRAM and a maximum 4096 MB of texture memory. PTB-INFO: VBL startline = 1800 , VBL Endline = 1850 PTB-INFO: Measured monitor refresh interval from beamposition = 16.666505 ms [60.000583 Hz]. PTB-INFO: Will use beamposition query for accurate Flip time stamping. PTB-INFO: Measured monitor refresh interval from VBLsync = 16.664661 ms [60.007223 Hz]. (239 valid samples taken, stddev=0.496703 ms.) PTB-INFO: Small deviations between reported values are normal and no reason to worry.


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.


On 03/02/2018 11:36 AM, atost82@... [PSYCHTOOLBOX] wrote:
> Dear Psychophysics toolbox community,
>
>
> Since a few weeks ago, I am stuck with a synchronization failure that
> occurs when using PTB-3 (versions 3.11-3.14) in a MacBook Pro retina
> 2017 with operating system macOS Sierra (10.12.6). This problem becomes
> specially serious (the program is halted) when calling the function
> [,]=Screen('OpenWindow',whichScreen,0,Resolution_window) with
> 'Resolution window' being equal to the 'laptop's screen resolution'.
>

That's because some of the diagnostics is skipped for non-fullscreen
windows, as timing is expected to be poor in non-fullscreen mode.

>
> I have installed several versions of Matlab including the Matlab 2012a
> for which I found this text on the Psychtoolbox website (System
> requirements section): "Limited testing currently only happens on the
> latest version of OS X 10.12 “macOS Sierra” with 64-Bit Octave 4.2, and
> with 64-bit Matlab R2012a".
>
>
> On the other hand, when running the same code in a MacBook Pro retina
> 2013 with with operating system macOS El Capitan these problems do no
> longer appear.
>

El Capitan 10.11 was a less buggy OS than 10.12, as each OSX version
became worse than the previous one since at least 10.8, which i think
was the last ok'ish one, with 10.6 Snow Leopard being the last good one.
Probably you mbp 2013 has Intel gfx? Intel gfx seemed to be less buggy,
but also ptb's diagnostic isn't as good on Intel gfx, so some timing
bugs might just go unreported, giving the illusion of working better.
10.13 seems to have opened up whole new dimensions of brokeness, not
only for neuroscience use, but in general. I read something in my
newsfeed about new security or usability/stability bugs at least every
two weeks since 10.13 was released, so at least i haven't "upgraded" to
it yet. Ironic, if one considers that 10.13 was supposed to be a release
more focused on polishing and quality improvements than on new features.

>
> Given this information, I would much appreciate if any of you could help
> me find a way to avoid these synchronization problems on my MacBook Pro
> laptop with Sierra. Otherwise, if there is no hope to solve these issues
> with Sierra at the moment, I would be glad to know.
>

There isn't any hope atm. with Sierra or later on that Radeon Pro gpu.
According to multiple reports, all modern AMD gpu's have broken timing
since 10.12, only old models still work in 10.12, e.g., ones from 2009.
Ditto for almost all NVidia gpu's since at least 10.9. And Intel gfx
seems to become flaky on 10.13 as well.

>
> If it can be of any help, I am adding below the error message that I get
> when the program is halted.

The general recommendation is to upgrade to Linux if one cares about
trustworthy frame/millisecond accurate timing. However, Apple
hardware/firmware of the last 2-3 years seems to be quite hostile to
other operating systems, so my actual recommendation is to avoid Apple
hardware for neuroscience use if you value your time or money.

Here's some site with info about the current state of Linux on recent
2016/2017 MacBookPro's:

https://github.com/Dunedan/mbp-2016-linux

Quite a few things seem to be still dysfunctional or limited on some
models, or require extra setup work, e.g., no wifi, no suspend/sleep,
internal keyboard/touchpad not working without extra setup work, sound
only via external usb soundcard. At least graphics and display seems to
work - likely much better than on OSX.

In short, my condolences.
-mario

>
>
> Many thanks in advance,
>
> Adrian
>
>
>
>
> PROGRAM MESSAGE
>
>
> PTB-INFO: Retina display. Enabling panel fitter for scaled Retina
> compatibility mode.
>
>
> PTB-INFO: This is Psychtoolbox-3 for Apple OS X, under Matlab 64-Bit
> (Version 3.0.12 - Build date: Apr 1 2016). PTB-INFO: Support status on
> this operating system release: OSX version 10.12 is not supported or
> tested anymore. 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: OpenGL-Renderer is ATI Technologies Inc. :: ATI Radeon Pro 560
> OpenGL Engine :: 2.1 ATI-1.51.8 PTB-INFO: Renderer has 4096 MB of VRAM
> and a maximum 4096 MB of texture memory. PTB-INFO: VBL startline = 1800
> , VBL Endline = 1850 PTB-INFO: Measured monitor refresh interval from
> beamposition = 16.666505 ms [60.000583 Hz]. PTB-INFO: Will use
> beamposition query for accurate Flip time stamping. PTB-INFO: Measured
> monitor refresh interval from VBLsync = 16.664661 ms [60.007223 Hz].
> (239 valid samples taken, stddev=0.496703 ms.) PTB-INFO: Small
> deviations between reported values are normal and no reason to worry.
>
>
> 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.
>
>
>