PTB beta release 2011-10-20 (SVN Revision 2337)


For details, please review the detailed change log.

Release highlights:

Misc improvements, bug fixes, and new functions:

  • New function DownloadAdditionsForNeuroDebian allows to fetch and install MEX files for Matlab on Linux on top of an existing octave-psychtoolbox3 installation from NeuroDebian This as a stop-gap measure until NeuroDebian provides support for Matlab in addition to support for Octave. Also can fetch some additional Octave mex files which can’t be distributed by NeuroDebian due to license incompatibilities, e.g., Eyelink().

  • Make Windows PTB even more robust against broken computer clocks under MS-Windows.

  • The PortAudio driver plugin DLL for Windows with compiled in ASIO backend support is now included in Psychtoolbox by default. This spares users the need to download and install the file separately from our Wiki. Possible due to our license change from GPLv2 to “mostly MIT”.

  • Fix numeric keypad mapping on Windows with PsychHID.

  • KbName now maps basically all keys on all operating systems.

  • Compatibility fixes for PsychRTBox, so it works without statistics toolbox of Matlab.

  • Compatibility fixes for Matlab R2011b

  • Improved unit tests, staircase procedures and other useful helper functions by Diederick Niehorster.

  • Improved color calibration/handling routines by David Brainard.

  • New function KbKeysAction - User contribution.

  • Various bug fixes, some performance improvements.


  • Sphereprojection shader improved for display undistortion on spherical display surfaces via image processing pipeline -> User contribution.

  • Bugfixes for text drawing in stereomodes 4,5 (Dual display / desktop spanning) on Linux and OS/X

  • Support for 16 bit signed normalized framebuffers and textures as fallback for systems which don’t have 16 bpc float support. Allows 15 bit precision for framebuffers on such systems.

  • Fix ShowCursor() / HideCursor() for Ubuntu Linux 11.10 and later.

  • OS/X Some new workarounds for Apple’s broken operating system.

  • OS/X: Screen('ConfigureDisplay', 'Brightness', ...) allows to query/set brightness of attached displays. In theory. In practice most displays don’t support this, or OS/X support is buggy to the point of being unuseable.

  • Linux: Supports now completely asynchronous flip timestamp queries and logging via use of the INTEL_swap_events extension with the FOSS graphics stack.

Linux: Large number of improvements by use of XRandR extension:

  • Multi display handling, multi display resync, multi-display timestamping and multi-display swapping improved. Various other bonus features which are not possible on other operating systems.

  • 10 Bit native framebuffer improvements on ATI FireGL series GPU’s. Allows to workaround broken proprietary ATI Catalyst drivers and enable the 10 bit framebuffers on CRT monitors.

  • Screen('ConfigureDisplay') allows fine grained low-level control over video mode, scanout viewport and other properties of video outputs. Screen(‘Resolution’), Screen(‘Resolutions’) fully implemented.