Overview

Psychtoolbox interfaces between Matlab or Octave and the computer hardware. The PTB core routines provide access to the display frame buffer and color lookup table, reliably synchronize with the vertical screen retrace, support sub-millisecond timing, expose raw OpenGL commands, support video playback and capture as well as low-latency audio, and facilitate the collection of observer responses. Ancillary routines support common needs like color space transformations and the QUEST threshold seeking algorithm.

Psychtoolbox has many active users, an active forum, and is widely cited. PTB-3 is based on the deprecated Psychophysics Toolbox Version 2 with its Matlab C extensions rewritten to be more modular and to use OpenGL on the back end. The current version supports Matlab R2012a+ and Octave 3.8 and later on Linux, and Octave 4.2 on MacOSX, and Windows.

Psychtoolbox News

Psychtoolbox beta updated

kleinerm

Psychtoolbox 3.0.14 “Standby FTL!” SP1 was released at 3rd January 2017. As usual, the complete development history can be found in our GitHub repository. The release tag is “PTB_Beta-2017-01-03_V3.0.14”, with the full tree and commit logs under the URL:

https://github.com/Psychtoolbox-3/Psychtoolbox-3/tree/PTB_Beta-2017-01-03_V3.0.14

This is the initial v3.0.14 release. It drops all support for MacOSX 10.10 Yosemite. Psychtoolbox will not work at all anymore on OSX 10.10. Going forward only 10.11 El Capitan and 10.12 Sierra are expected to work, but only 10.12 Sierra is officially supported.

This release also cancels support for 64-Bit Octave 4.0 on OSX and Windows and introduces support for 64-Bit Octave 4.2.0 on OSX and Windows.

New features and improvements:

All operating systems:

  • Various help text updates, some refinements to some demos.

OSX:

  • Terminate support for OSX 10.10 “Yosemite”. Psychtoolbox will no longer work at all with 10.10.
  • Without OSX 10.10 our own kernel driver based 10 bit framebuffers on AMD graphics cards won’t work anymore, as Apple sabotaged this functionality on 10.11 and later. Therefore remove our own 10 bpc support code.
  • Introduce support for OSX 10.11.4+ native 10 bit framebuffers on supported Apple hardware. This is untested due to lack of suitable hardware, but Apple docs claim it should work “under some conditions” on the 2013 MacPro with “suitable displays” and on the late 2014 and late 2015 iMac 27 inch Retina 5k models.
  • OSX 10.12 “Sierra” is now the only officially supported and lightly tested Apple OS, although PTB should continue to work on 10.11.
  • Implement a workaround for the MacBook”Pro” 2016 touchbar brain-damage. This will probably make KbCheck and KbQueues work again, but while the problem has been diagnosed, the fix is so far untested.
  • Some new workarounds for OSX sync failures on some iMac Retina 5k models, likely only minimally effective.
  • Terminate support for 64-Bit Octave 4.0.
  • Introduce support for 64-Bit Octave 4.2. Octave 4.2 is currently available via the HomeBrew and MacPorts package managers. Psychtoolbox has been only tested with Octave-4.0.0 from HomeBrew. You need to install/compile Octave from source if you want functional audioread/audiowrite functions for reading and writing wav audio files, e.g., via

    brew install -s octave –with-docs –with-java –with-sndfile

Windows:

Linux:

  • Some compatibility fixes to XOrgConfCreator on Linux + Matlab + NVidia by Ian Andolina.

Psychtoolbox beta updated

kleinerm

Psychtoolbox 3.0.13 “Jump Prep!” was released at 6th December 2016. As usual, the complete development history can be found in our GitHub repository. The release tag is “PTB_Beta-2016-12-06_V3.0.13”, with the full tree and commit logs under the URL:

Release: https://github.com/Psychtoolbox-3/Psychtoolbox-3/tree/PTB_Beta-2016-12-06_V3.0.13

New features and improvements:

All operating systems:

  • Download/Setup/UpdatePsychtoolbox: Be more lenient on unsupported platforms, to allow downloading of old PTB versions.
  • Fix compatibility of MOGL low-level OpenGL for Matlab support with Matlab R2015b and later versions.
  • MOGL: Fix glClearNamedFramebufferfi().
  • Improvements to DaqAInScan(), some by user jsdpag. New option options.nodiscard. Robustness improvements if multiple DAQ’s are connected. Fixes for Matlab’s brokeness since R2013b.
  • Improvements to ple and PsychEyelinkDispatchCallback by iandol.
  • Fix getting Psychtoolbox root folder in scripts with nested functions, by zacklb.
  • NetStation: Fixed bug for less than 4 arguments for an event and improved argument handling for events. By Justin Ales.
  • VBLSyncTest: Only abort via ESC key, truncate plots/analysis on short (aborted by ESC) runs.
  • Fixes to text rendering plugin for textHeight return argument of Screen(‘TextBounds’) by Diederick.
  • Misc other fixes and lots of low level compatibility/maintenance work, e.g. upgrade of Screen() and moglcore() to GLEW-2.0, which is now the minimum required GLEW version.

OSX:

  • Screen: New workarounds for the deficient Apple OS, to avoid some crashes of Matlab/Octave after a ‘clear all’ and then running a PTB script using Screen() again.
  • PsychtoolboxKernelDriver: Add support for AMD Polaris and Nvidia Pascal gpu families. Support for OSX 10.12 “Sierra”.
  • LoadIdentityClut: Intel HD gfx needs type 2 lut on OSX. At least on current Intel HD chips.

Windows:

  • Fix potential ‘deviceIndex’ breakage for KbCheck on Windows.
  • IOPort on Windows: Allow specification of COM port numbers > 9, e.g., COM10.

Linux:

  • Linux: Disable loading of ‘lp’ parallel port line-printer module harder, to simplify use of parallel ports for digital i/o.
  • Various improvements related to use of hybrid graphics/switchable graphics/Enduro/Optimus Laptops under Linux.
  • Linux: Add docu, config files and modified modesetting ddx for some use of NVidia Optimus Laptops under Linux with the proprietary NVidia driver under X-Server 1.19. See “help HybridGraphics”.

Psychtoolbox beta updated

kleinerm

Psychtoolbox 3.0.13 “Boldly go where no one has gone before!” was released at 10th September 2016. As usual, the complete development history can be found in our GitHub repository. The release tag is “PTB_Beta-2016-09-10_V3.0.13”, with the full tree and commit logs under the URL:

Release: https://github.com/Psychtoolbox-3/Psychtoolbox-3/tree/PTB_Beta-2016-09-10_V3.0.13

New features and improvements:

  • Initial hybrid graphics laptop support for Linux (prime renderoffload) “help HybridGraphics”. Describes setup to get the majority of hybrid graphics laptops to work between “useable” and “really well” under Linux.

  • PsychLinuxConfiguration: Automate setup of AMD deep color support, e.g., for DisplayPort deep color and HDMI deep color.

  • Some improvements to XOrgConfCreator.

  • Provide basic compatibility with the Windows-10 “Windows subsystem for Linux”. With a X-Server like XMing installed, allows to run some basic “PTB for Linux” functionality in Windows-10’s new Linux emulation layer. However, no sound, no PsychHID functionality/KeyboardQueus/DAQ, very bad timing, visual tearing artifacts. This more for geek cred than for any even remotely research grade use.

  • New demo VideoIPWebcamCaptureDemo.m - Capture streaming video from Android IPWebcam app.

  • GetGamePadIndices: Make as capable as GetKeyboardIndices.

  • CreateProceduralGabor: Add optional ‘validModulationRange’ parameter. Suggested by Taylor Hanayik.

  • DownloadLegacyPsychtoolbox: It’s dead, Jim! Download of legacy toolbox versions < 3.0.10 is currently broken.

  • SeparateAlphaTextureShader.vert.txt: Add additional (dx2,dy2) offsets. This allows for off-center rotation of sampled texture images. A usage example would be the one described in PTB forum message 20926. Shaders are created via MakeTextureDrawShader(‘SeparateAlphaChannel’), cfe. DriftDemo6.m

  • KbWait: reorganized and simplified input checking a bit. KbQueueFlush minor improvements. From Diederick.

  • KbQueueWait now gained forWhat and untilTime, like KbWait. From Diederick.

  • DrawFormattedText’s ‘flipVertical’ fixed for new text renderer. From Diederick.

  • PsychPortaudio: Give better error feedback if trying to open same device multiple times.

  • Daq: Update help texts wrt. USB 1024-LS. Now verified to work well.

  • Minor other stuff here and there.

News Archive