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 at least Matlab R2021b, and Octave 5 and later on Linux, and Octave 6.4 on macOS, and Windows.

Psychtoolbox News

Psychtoolbox beta updated

kleinerm

Psychtoolbox 3.0.18 Beta update “Experimental Taylor expansion “ SP7 was released at 7th August 2022. As usual, the complete development history can be found in our GitHub repository. The release tag is “3.0.18.12”, with the full tree and commit logs under the URL:

https://github.com/Psychtoolbox-3/Psychtoolbox-3/tree/3.0.18.12

This release only contains improvements for the RaspberryPi computer. The 3.0.18 series may be the last version supporting Raspbian OS 10, given that the current stable version is OS 11 / Debian 11 “Bullseye”.

Linux:

  • Installer: Compatibility fixes for Linux RaspberryPi OS 11 aka Debian 11 / Bullseye on the RaspberryPi microcomputer. Make installation more smooth.

  • Screen: Fix pageflipping on the RPi 4/400 with VideoCore-6 gpu again after it got broken again for Debian 11 by new half-assed format+modifier dmabuf optimization attempts. PsychLinuxConfiguration now installs a special mesa config file with special secret opt-in parameter that enables special downstream patches made to Mesa v3d to fix the half-assery. This way, pageflipping and visual stimulation timing/timestamping works again on RPi4/400 after upgrading to RPi OS 11.

  • PsychPortAudio: Fix selection of default sound output device on the RPi 400. Allows ‘sysdefault’ as a viable choice of device.

Psychtoolbox beta updated

kleinerm

Psychtoolbox 3.0.18 Beta update “Experimental Taylor expansion “ SP6 was released at 4th August 2022. As usual, the complete development history can be found in our GitHub repository. The release tag is “3.0.18.11”, with the full tree and commit logs under the URL:

https://github.com/Psychtoolbox-3/Psychtoolbox-3/tree/3.0.18.11

This is mostly a release with smaller quality of life improvements, some bug/compatibility fixes, and more work to take advantage of new Ubuntu 22.04-LTS features and improvements.

General

  • Various help text and documentation updates. Minor cleanups and improvements, maintenance work etc.

  • PsychVRHMD: Prep work for future OpenXR driver, and some cleanups and minor fixes.

  • PsychPortAudio: Add new AM modulator flag 256 “kPortAudioAMModulatorNeutralIsZero”. By default, a stopped AM modulator device acts as if no AM modulator is attached. With this flag set, while attached to an audio output slave device, it will instead “gate” or “mute” sound output on its associated audio output device, iow. the AM gain value during stopped modulator is zero instead of one. This has proven useful to allow to output tone bursts that are windowed/gated/modulated by an envelope function. Sponsored by a paid support membership - Thanks.

  • Eyelink: Fix potential false “buffer overflow” alert in ‘EyelinkGetQueuedData’, which can cause Octave/Matlab to abort() as a false alarm. Sponsored by SR-Research, paying members of our partnership program - Thanks.

Linux

  • XOrgConfCreator: Split up into a legacy version for systems with X-Server 1.20 and earlier, e.g., Ubuntu 20.04-LTS, and a modern version for systems with X-Server 21 and later, e.g., Ubuntu 22.04-LTS. The legacy version is now in maintenance mode, frozen in its behaviour for old systems. The X-Server 21 / Ubuntu 22.04-LTS version was cleaned up, extended and made more plug and play. It hides some rarely needed (for normal users) options behind a “expert mode” flag, simplifies the questions it asks to users, streamlines the whole setup experience, and exposes some new functionality only available on modern X-Server 21, e.g., AsyncFlipSecondaries support for clone/mirror display setups (subject + experimenter displays) which are not synchronized. Improvements to deep color setup, Prime renderoffload “Optimus” setup, VRR setup etc.

  • Deal better with problems in AssertOpenGL, giving better troubleshooting advice – now updated for Ubuntu 22.04-LTS

  • Gamepad/GetGamepadIndices: Refinements for Linux/X11, help text updates. Make selection of the proper GamePad / Joystick device more simple and robust. This work supported by a Psychtoolbox paid support membership - Thanks.

macOS

  • PsychVulkan: Add a new workaround for another macOS Metal bug. Make visual presentation timing it a bit better, but still quite awful.

  • Screen(‘AddFrameToMovie’): Change mapping of ‘rect’ to actual capture area. The old math didn’t determine vertical start position of the capture rectangle by rect(kPsychTop), but based on rect(kPsychBottom), which could cause inconsistencies on movie frame capture area on macOS with Retina displays in Retina backwards compatibility mode. The new math fixes this, to deal with Retina displays better.

  • Maybe restore backwards compatibility of Psychtoolbox 3.0.18 with macOS versions older than 10.15 Catalina, possibly back to 10.11 El Capitan with fixes to Screen and PsychPortAudio. This is untested, due to lack of any macOS test systems other than 10.15.7 Catalina final, but may work. Maintaining backwards compatibility is difficult without test systems and the constant breakage introduced by the iToys company in more recent SDK’s and compiler toolchains. Officially we don’t guarantee that current 3.0.18 runs on anything but Catalina.

Enjoy!

Psychtoolbox beta updated

kleinerm

Psychtoolbox 3.0.18 Beta update “Experimental Taylor expansion “ SP5 was released at 22nd May 2022. As usual, the complete development history can be found in our GitHub repository. The release tag is “3.0.18.10”, with the full tree and commit logs under the URL:

https://github.com/Psychtoolbox-3/Psychtoolbox-3/tree/3.0.18.10

A minor update for macOS Octave compatibility, help/status text updates and to mention our new user survey.

General:

  • Reword text for our new commercial support.
  • Add a mention of our ongoing user survey 2022, ask for participation.

macOS:

  • Rebuild 64-Bit Octave mex files so that they should work on both Octave-6.3/6.4 and the new Octave-7.1 from HomeBrew.
  • Minor improvements to Screen() status messages.

Linux:

  • Update some help texts wrt. hybrid graphics support. Some more configurations are verified to work with proper timing, e.g., AMD iGPU + NVidia dGPU Optimus style.
  • Update help PsychLinuxConfiguration.

Enjoy!

News Archive