Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
FAQ: Vista and Windows 7
Issues related to Windows Vista and Windows-7 and how to resolve them
Q: Are there any known issues with Psychtoolbox-3 on Microsoft Windows Vista/7? How can I work-around them?
A: Yes, quite a few!
Visual stimulus presentation timestamping has been verified to work well on Vista and Windows-7, as well as on Windows 2000 or XP, i.e., the timestamps returned for true stimulus onset are trustworthy and accurate.
Visual stimulus onset timing precision (i.e., how reliably requested stimulus onset presentation deadlines are actually met by the system) seems to be less robust at least on Windows-7, more prone to glitches even under light system load.
Audio presentation timing and timestamping is comparable to Windows 2000/XP, ie., good with ASIO enabled sound cards, rubbish with other sound cards.
Testing on three setups (2 Windows-7 and 1 Windows-Vista) in November 2009 and around October 2010 with the latest display drivers showed that dual-display stimulus presentation, e.g., stereo displays, doesn't work well. One of both displays may exhibit tearing artifacts and timing glitches if used for dual display stimulus presentation.
Generally, dual-display setups, even if only used for displaying single-display stimuli, are fragile. If one display is showing visual stimuli while the other displays shows the regular Matlab and operating system GUI, any kind of user interaction with the GUI may break proper stimulus onset timing on the stimulus display, including the appearance of visual tearing artifacts. This breakage sometimes happens spontaneously under high CPU load, even without any user interaction. Extensive reading of technical documentation and extensive testing leads us to believe that this is not a Psychtoolbox bug, but a design limitation of the new Microsoft Windows Vista / Windows-7 Direct-X graphics kernel subsystem which will affect any psychophysics toolkit. In other words: It's not our fault and we won't be able to fix it for you anytime soon – or not at all, so good luck if you depend on such configurations. It may help to assign the stimulus display monitor as primary display device in the Windows display settings panel - The primary display seems to be treated better than the other display(s).
Windows 8 and later no longer support disabling the DWM desktop compositor and prevent most diagnostic abilities and workarounds we had for dealing with visual stimulus problems, so Psychtoolbox is no longer able to detect many problems, or work around them.
HiDPI "Retina" displays or mixed normal DPI + high DPI displays can cause lots of timing trouble, as can old versions of Matlab on such systems.
Additionally, a few people had very odd issues with their machines, which most of the time could be worked around by applying some equally odd measures. The cause of any of these problems is unknown so far:
On systems with ATI graphics cards, some versions of Matlab seem to interfere with some ATI graphics drivers: Symptoms are failure of Screen to work at all, or crashes when trying to use 3D graphics stimuli via the Matlab OpenGL wrapper, or problems with the timestamping mechanisms ("Synchronization failures and other warnings/errors when opening a window"). The odd solution is to first open a Matlab figure plotting window, e.g., by typing
plot(sin(0:0.1:3.14)). After the window appeared, Psychtoolbox commands seem to work properly.
Some Laptops with NVidia graphics have a broken beamposition query mechanism, causing the high precision timestamping of visual stimuli to get disabled. There is no solution or workaround for that. Psychtoolbox will continue to work with the less accurate and robust standard timestamping mechanism. On such systems you can execute
Screen('Preference', 'SkipSyncTests', 2)before any other
Screencommands to disable the mechanism in the beginning – that way you get at least rid of the warnings.
Use of special parallel port drivers may require some tricks or tweaks to bypass the UAC User account control mechanism introduced in Vista. See FAQ: TTL Triggers in Windows.
To provide at least somewhat reliable visual stimulus onset timing and timestamping it is crucial to disable the Aero desktop compositor, aka DWM – the new feature that eats lots of system ressources for the benefit of half-transparent window borders and drop shadows – and go back to a Windows XP look while running Psychtoolbox scripts. Current versions of Psychtoolbox will automatically shut down the DWM as soon as the first onscreen window is opened. For older Psychtoolbox versions, disabling the DWM must be done manually. The following instructions, taken from the Life Hacker website, should hopefully do this:
- Create an application shortcut to Matlab. E.g., an icon on your desktop which you can double-click to start Matlab. Of course you can use the shortcut to Matlab which is already there after installation of Matlab, if you want.
- Then right-click on the shortcut and choose Properties, and then the Compatibility tab ... Now on the Settings block check the box for "Disable desktop composition" in order to disable Aero the next time you use the shortcut.
- Next time you start Matlab by double-clicking on that shortcut, the desktop compositor should be shut down and free up valuable graphics ressources and reduce interference on display timing and timestamping.