Problem using external monitor - task not showing up, despite running without errors

Hello,
I am running Psychtoolbox version 3.0.11 on a Windows 7 32 bit OS, with Matlab version R2014a. I have a AMD Radeon R9 M270x graphics driver (this is the most updated one that my AMD firepro graphics card directed me to download). I am still setting up the task, and everything is new, so I think things are pretty much up to date.

Just for background. I did initially have some trouble with the Sync test. I would get an error saying that ptb was unable to calculate a reliable refresh rate. This would happen intermittently. I followed the suggestions on help Synctrouble (adjusted graphics settings, e.g. set waiting for vertical refresh to 'on, application controlled', turned off triple buffering, also checked for other driver problems etc. with dpclat.exe (no problems), updated graphics driver, and also ran the task skipping the synchronizaiton test, and the task displayed fine). None of these fixed the Sync test failure problem.

I finally 'fixed' this problem by changing my Sync test parameters (Screen('Preference','SyncTestSettings',.002)), basically changing the allowed standard deviation from 1 to 2 ms, and this has fixed this problem. I realize that by changing this I am allowing the test to be passed with more imprecision, which I don't really like, but I haven't found another solution. This may just be b/c of the inferior timing on Windows, I guess. In any case, I am planning on using a photodiode during my experiment to verify timing, so I suppose some imprecision in the stimulus delivery is alright since I can measure it directly.

So now my task runs ok on my laptop, but I would like to use a small external monitor to present the task, in same cases, as well. (I realize that this will also decrease temporal accuracy, but having a small way to display the task is necessary since we want to do recordings in the operating room during surgery and need to take up as little space as possible and be able to move the display in a flexible way for the patient to see. Again, using the photodiode on the external monitor will help account for some slop in the timing.)

I have been trying to use a toshiba travel monitor for display (with a usb connector to the laptop). For reference it is this model (http://www.amazon.com/Toshiba-14-inch-Ultra-portable-Mobile-Monitor/dp/B005F0IKHA/ref=cm_cr_pr_product_top). I have installed the most updated 'display link' driver for this monitor. Overall the monitor works well, except when I try to run a task.

It says it runs w/o errors (some reduced precision is reported, but not so much that the Sync test fails with my new settings), but doesn't show anything on the screen. (The screen does not go blank, it just shows matlab and doesn't open any windows, although it thinks it does and generates output w/o errors). This occurs if I mirror the display (in this case, the task shows up fine on the laptop, but not on the external monitor), or if I make the external monitor the primary monitor and show it there, or even if I disable the laptop screen entirely. (I have the same resolution and other settings on both screens). It seems to be a problem specific to my monitor b/c it does not occur if I connect to another (standard) external monitor with a vga connection.

One other thing is that I have another task which runs in python (pygame), and this runs fine on the external monitor. So it seems like a problem specific to ptb.

Since it seems to be a problem specific problem to the combination of my small monitor and psychtoolbox, I am not sure if I should be looking for help with toshiba or ptb, but I thought I would try here first, since I am not sure if the toshiba support would be savvy to my concerns etc.

For reference I have pasted the output I get from the screen test about my parameters below.

I apologize for the long message. I really appreciate any help anyone can give. Please let me know if you need more information.

Sincerely,
Nicole Swann
University of CA, San Francisco



PTB-INFO: Using specially modified PortAudio engine, based on offical version: PortAudio V19-devel WITH-DIM

Will use ASIO enhanced Portaudio driver DLL. See Psychtoolbox/PsychSound/PortAudioLICENSE.txt
for the exact terms of use for this dll.


Disclaimer: "ASIO is a trademark and software of Steinberg Media Technologies GmbH."
Using "ASIO Interface Technology by Steinberg Media Technologies GmbH"

Found at least one ASIO enabled soundcard in your system. Good, will use that in low-latency mode!
PTB-INFO: New audio device with handle 0 opened as PortAudio stream:
PTB-INFO: For 2 channels Playback: Audio subsystem is ASIO, Audio device name is ASIO4ALL v2
PTB-INFO: Real samplerate 44100.000000 Hz. Input latency 10.068027 msecs, Output latency 10.068027 msecs.


PTB-INFO: This is Psychtoolbox-3 for Microsoft Windows, under Matlab 32-Bit (Version 3.0.11 - Build date: Apr 6 2014).
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: Will disable DWM because a regular fullscreen onscreen window is opened -> We want best timing and performance.
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 ConserveVRAM', section 'kPsychUseBeampositionQueryWorkaround'.


PTB-INFO: OpenGL-Renderer is ATI Technologies Inc. :: AMD Radeon R9 M270X :: 4.4.12874 Compatibility Profile Context FireGL 14.100.0.0
PTB-INFO: VBL startline = 768 , VBL Endline = 767
PTB-INFO: Measured monitor refresh interval from beamposition = 16.664758 ms [60.006872 Hz].
PTB-INFO: Will use beamposition query for accurate Flip time stamping.
PTB-INFO: Measured monitor refresh interval from VBLsync = 16.652625 ms [60.050594 Hz]. (50 valid samples taken, stddev=0.217454 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: Support for fast OffscreenWindows enabled.
If the sync test failures are intermittent then it's probably just a noisy system.

You can try if Screen('Preference','ConserveVRAM', 16384); at top of your script helps with your external monitor (help ConserveVRAMSettings for reference). I'd guess that the Displaylink driver for your USB monitor depends on the Windows desktop compositor (DWM) running, so without DWM no display updates on your monitor. By default PTB disables the desktop compositor for fullscreen windows, because the DWM makes precise reliable visual timing impossible. I guess PyGame doesn't disable the DWM. The 16384 setting will keep the DWM running, at the cost of loss of all guarantees for timing precision and performance.

If that's still not enough you could try to open a non-fullscreen window, e.g., one that's a pixel smaller than your monitor, to disable all remaining fullscreen optimizations in case those interfere with your displaylink monitor.

In any case with that external USB monitor you shouldn't have any expectation of any timing precision, performance, e.g., decent video refresh rate, or even faithful color representation of your stimuli. USB is unsuitable for precise timing, its bandwidth is relatively low, so the Displaylink driver might employ image compression and other fun things, and its color precision seems to be limited to only 6 bits per color channel.

-mario