Multiple Monitors on OS

I have a new iMac running OS Sierra with the USB-C type output.  On older versions of PTB (e.g., the previous release) and iMacs, we were able to get reasonable timing precision on secondary monitors as measured by a photodiode.  But, on the current release of PTB with Sierra (the recommended OS), we get noticeably worse timing on secondary monitors as measured by a photodiode.  I'm wondering if the Psychtoolbox Kernel Driver actually works with two monitors on the current version of PTB.


Thanks.

XXXIn PSYCHTOOLBOX@yahoogroups.com, <C2RASSO4F4YPSCGLE4WDFZYPKV@...> wrote :

I have a new iMac running OS Sierra with the USB-C type output.  On older versions of PTB (e.g., the previous release) and iMacs, we were able to get reasonable timing precision on secondary monitors as measured by a photodiode.  But, on the current release of PTB with Sierra (the recommended OS), we get noticeably worse timing on secondary monitors as measured by a photodiode.  I'm wondering if the Psychtoolbox Kernel Driver actually works with two monitors on the current version of PTB.


-> As i stated repeatedly here, and as the system requirements section on our wiki clearly states, i do not recommend use of Apple macOS or Apple hardware for running actual data collection *at all* at this point in time. It is currently the by far worst possible choice of software and hardware you can make for neuroscience related applications. Overprized, underperforming, buggy for the purpose. And the hardware/firmware is hostile to other operating systems.


If you search the forum backwards a couple of weeks you'll find discussions showing that all Macs with modern AMD graphics (like yours), e.g., Radeon Pro 555, are totally broken wrt. accurate timing since 10.12. NVidia graphics is broken since at least 10.9. On the new 10.13 all graphics cards from Intel, AMD, Nvidia are broken -- game over.


If you want to add another sample you can post the full PTB output. The kernel driver usually detects and explicitely warns about this on AMD graphics in the latest PTB beta, unless your machine is broken in an entirely different way from all other Macs tested so far.


The recommendation is to upgrade to Linux, but without much more details about your hardware, not more can be said.


-mario


Btw. it would still be interesting to know what exact graphics hardware you have, and what PTB's output is when running a script. E.g., there seems to be one iMac 2017 model with Intel graphics instead of AMD graphics, and the working assumption up to now is that Intel gfx might work ok'ish on 10.12 - however the PTB kernel driver wouldn't do anything on Intel gfx, so neither could it help performance, nor could PTB detect some of the timing problems if there were any.

-mario
Anyways, thanks so much for your help.  We'll temporarily downgrade to 10.11.  We'll switch to Linux or PsychoPy over the summer.  It's a bummer because we love PTB.
XXXIn PSYCHTOOLBOX@yahoogroups.com, <farmerdude86@...> wrote :

It has a Radeon Pro 555.  Here's a question for you:  If I install Linux on the iMac, will the graphics card be sufficient?  In other words, is the problem the graphics card or is the problem OS?

->All the known problems are only caused by macOS operating system bugs - and occasionally by Matlab bugs, not by the hardware. The Radeon Pro 555 should likely work fine if older cards in older machines were good enough for your tasks. Of course no guarantee as i don't have such a card for testing, but in general Linux + AMD hardware is an excellent combo.

The problem with Apples hardware (apart from the bad price vs. performance ratio) is that their builtin firmware and sometimes very odd hardware design make it troublesome for other operating systems to run on. That sometimes makes switching to less broken operating systems difficult, especially if the machine is very new. So a 2017 machine might be more troublesome than an older machine. In any case you would need to use a Linux version that is more recent than the hardware, e.g., Ubuntu 17.10 as the latest Ubuntu from the year 2017.

-mario

XXXIn PSYCHTOOLBOX@yahoogroups.com, <farmerdude86@...> wrote :

Anyways, thanks so much for your help.  We'll temporarily downgrade to 10.11.

-> Is that even possible? I think usually new macs don't work on older osx releases, as those lack the updated graphics drivers.

We'll switch to Linux or PsychoPy over the summer.  It's a bummer because we love PTB.

-> Switching to PsychoPy to resolve visual timing issues makes no sense. How would that fix timing problems caused by macOS operating system bugs? As far as i know PsychoPy's current visual timestamping method is directly derived from Psychtoolbox - it represents what PTB initially used around the year 2005, and what PTB now uses as minimal accuracy/reliability emergency fallback to limp along if everything else more robust and accurate failed due to severe operating system bugs. The best you might get is the delusion of correctness (as long as you don't attach external measurement equipment to verify), as PsychoPy isn't able to detect many of the graphics driver bugs which PTB can detect/warn and sometimes work around.

Switching to Linux btw. is also recommended for PsychoPy users for best performance, at least last time i checked.

-mario

Thanks for the info. 

You're right about Apple being stubborn about installing El Capitan on new machines.  They originally told me it was possible.  But once my bootable El Capitan failed, they backpedaled and said it's impossible.

As I said, we may switch to Linux or PsychoPy or both.  I'm still weighing my options and I appreciate you're input.  Can you explain exactly why "OS is broken"?  I'm curious what the underlying problem is (and why it cannot be fixed).  I'm just curious and want to know why (so I can give a meaningful response to others when they ask).
So, I wasn't really pleased with the prior responses.  Didn't give me enough information.  So, I ran my own extensive tests with my EEG system and a photosensor.  You all might be surprised by the results.  I ran the test with OS Sierra and the most recent PTB.  

(1) MacMinis performed exceptionally well.  They never missed a refresh cycle (as measured by the photosensor and EEG event codes).  Furthermore, some internal timing checks that I developed also showed great performance.

(2) However, the multiple display systems (e.g., 2017 iMac with secondary monitor) are the units that fail.  The reason is that PTB cannot detect the refresh rate of the secondary monitor in OS Sierra.  So you have to skip the SyncTest -- which causes terrible timing.  If you can downgrade your system to El Capitan, PTB is capable of detecting the refresh rate of the secondary monitor and thus, you don't have to skip the SyncTest.  This causes the timing to be excellent again.

Recent iMacs are incapable of downgrading to the older OS.  I spent extensive time with Apple on this issue. They actually tried it on my computers and it failed several times.

So, there's your answer. Next week, we're going to test our new Linux system for timing on a dual-monitor setup.
Can I just request that we use a respectful tone while talking to each other?  I think we both could do a little more to discuss things professionally. Just to be clear, I'm super grateful for all of the work that you've put into PTB.  Thanks -- its people like you that make research possible.

The test used a MacMini 2014 running 10.12.  We tried a screen flipping method of alternating two pictures with a white box overlaid on one.  A photosensor to measure onset time of a white dot.  I introduced a random jitter between trials of the image flip.  The flips were fairly rapid:  Image1 (100 ms) --> Image 2 (100 ms) --> Image1 (random 100-300 ms).  The results were as follows:  There was a small "display lag" from the time the signal was sent from the computer to the time the monitor displayed the signal.  This is typical on most LCD video systems.  Importantly, the lag was constant across all trials.  This seems to mean that the monitor did not miss a refresh cycle.  If it missed a refresh cycle, the display lag should be longer on some trials than others. You're right to infer that more complicated paradigms could break the display properties by overwhelming the graphical capabilities of the units.

iMac 2017 running 10.12 do not perform well on a secondary monitor.  You had previously insinuated my test might be flawed if I didn't detect that.  Well, my tests did detect a problem. My test showed a display lag that varied wildly trial-by-trial.  Also, because I sent my event codes after the flip (i.e., after the supposed vertical retrace), you can see that they were not the constant 100 ms apart as they should be.  There was random variation (100 ms, 103 ms, 107 ms).

I believe you that things are broken.  But can you explain what you mean by iMacs have "broken" graphics cards?  Is it that PTB cannot get the refresh rate of the secondary monitor on modern OS?  That seems to be the error that it reports on my machines.  But maybe I'm misunderstanding something. 

Apple definitely did try to have me downgrade to El Capitan with a bootable disk.  I'm not necessarily thrilled about spending all day doing a meaningless task.

I followed your instructions about the graphics card on the Linux machines.  Like many people, I know little about Linux -- but I'm excited to learn.