+
Skip to content

Tags: Psychtoolbox-3/Psychtoolbox-3

Tags

3.0.22.1

Toggle 3.0.22.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #865 from Psychtoolbox-3/master

Psychtoolbox 3.0.22.1 update "Little Miss Sunshine!".

[This Psychtoolbox release was partially sponsored by Mathworks under the year 2024/2025
contract for improving compatibility with Matlab R2025a.](https://www.mathworks.com/solutions/neuroscience.html)

### Compatibility changes wrt. Psychtoolbox 3.0.22.0:

- Establish basic compatibility with Matlab version R2025a and later.

- Make use with GStreamer 1.26 on MS-Windows more robust.

### Highlights:

- Compatibility fixes for Matlab R2025a with its new JavaScript based GUI and WebGL based
  graphics and plotting system, and the split process design between compute and GUI.
  Substantial work was needed to repair ListenChar, CharAvail, GetChar and FlushEvents,
  and to avoid annoying beep tones on key presses under macOS + R2025a. GetChar should
  work mostly as in the past, although limitations persist in some areas, some possibly
  hard or impossible to fix. A part of this compatibility work was sponsored by Mathworks.

- Brightness control of at least internal displays now also works on Apple Silicon Macs.

### All:

- ``GetChar()/CharAvail()/ListenChar()/FlushEvents()``: Do no longer use the Java path on
  Matlab R2025a and later. Matlab R2025a and later ditched the Java based GUI in favor of
  a completely new GUI and graphics backend, based apparently on JavaScript + the Chromium
  embedded "web browser" framework + WebGL rendering. It also split off all GUI and plotting
  code into a separate Matlab application process from the main process that executes the
  Matlab interpreter with all user script code and all of Psychtoolbox, completely isolating
  these two processes from each other, with only a restricted and proprietary communication
  link between them (most likely based on local IP loopback connections).

  This makes our GetCharJava implementation completely non-functional, with no known way to
  salvage it. As of now, I wouldn't know how to do an alternative implementation hooking
  into the new JavaScript GUI, but first investigation suggests it is likely impossible, at
  least without significant help from Mathworks - they'd need to implement special purpose
  functionality for us.

  Therefore we now fall back to our KeyboardQueue based GetChar et al. implementation, just
  as on Octave, on MS-Windows, and for Matlab in "matlab -nodesktop" mode.

  New limitations caused by this:

  1. The same keyboard queue related restrictions as on MS-Windows, ie. no concurrent use of
     KbQueues for the default keyboard and GetChar/CharAvail/FlushEvents/ListenChar on macOS
     and Linux.

  2. Less reliable handling of composed characters, or no such handling at all. Less extra
     information as aux info, only timestamp, no other modifier keys state reporting etc.

  3. Suppression of typed characters spilling into the Matlab command window does no longer work
     in GUI mode on Matlab R2025a and later. Such is life...

- IsGUI(): Fix for Matlab R2025a and its non-Java GUI.

- No longer add the Psychtoolbox/PsychJava/ folder to Matlab's Java class path on Matlab
  R2025a and later, as we can no longer use Java for our purposes, so no point in adding
  our Java class to the Matlab path.

- PlayMoviesWithoutGapDemo1.m: Refine for more robustness with short movies.
  This should help issues like described in:

  https://psychtoolbox.discourse.group/t/invalid-movie-handle-provided-error-message/5719

- Add ``MacBoynToLMS()`` to invert ``LMSToMacBoyn()``. Contributed by David Brainard.

- Various other smaller refinements, bug fixes and documentation updates.

### Linux:

- Psychtoolbox was built and tested against Matlab R2025a and Octave 6.4 under
  Ubuntu 22.04.5-LTS. Now only works on Ubuntu 22.04-LTS and later.

- PsychLinuxConfiguration(): Adapt for Matlab R2025a and later. No need for JOGL
  "Java OpenGL" related workarounds anymore for R2025a+, now that WebGL is used.
  Matlab still needs the "broken override Vulkan loader" workaround though.

### Windows:

- Psychtoolbox was built against Matlab R2024b and tested against Matlab R2025a.

- help GStreamer: Update link to MS-Windows MSVC GStreamer 1.22.
  The old download was removed, so adapt link from 1.22.5 to 1.22.12 as closest
  to the last tested version.

- Add robustness of GStreamer setup if GStreamer version 1.26 or later is used.
  GStreamer 1.26 changed the default installation location on MS-Windows. Normally
  the proper location of GStreamer runtimes is communicated to Psychtoolbox via an
  environment variable. If this isn't the case in some cases then a probe sequence
  for common default installation locations was used. The probe sequence is now
  updated to search and hopefully find GStreamer 1.26+ at its default install locations,
  avoiding startup failure.

### macOS:

- Psychtoolbox was built and tested against native Matlab R2025a and against native
  Octave 9.4 from HomeBrew, on macOS 13.7.5 Ventura for Intel Macs, and on macOS 15.5
  Sequoia for Apple Silicon Macs.

- Fix keyboard input focus restoration after closing opaque fullscreen onscreen windows
  on Intel Macs. Substantial work was needed to achieve this with the new Matlab R2025a
  dual-process design (Psychtoolbox process separate from Matlab GUI process).

- Fix a new bug, where in fullscreen window mode on R2025a, every keypress causes an
  annoying beep tone from macOS. This is also due to the new split dual-process design,
  but workarounds have been implemented to hopefully fix it.

- Screen: Implement new method for ``Screen('ConfigureDisplay', 'Brightness')`` which
  also works on (at least) the internal displays of Apple Silicon Macs. Also removed
  support for 'AutoBrightnessMode' which did not ever work with any macOS release, so
  give up on it.

- TwoStateQuery(): Cleanup, and reenable good questdlg() for Matlab R2025a+ on macOS
  for Apple Silicon Macs.

3.0.22.0

Toggle 3.0.22.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #864 from Psychtoolbox-3/master

PTB beta update 3.0.22.0 "Oh wie schoen ist Panama!"

[This Psychtoolbox release was sponsored by Mathworks under the year 2024/2025
contract for significant enhancements, sponsoring the OpenXR hand tracking
support as major new feature.](https://www.mathworks.com/solutions/neuroscience.html)

### Compatibility changes wrt. Psychtoolbox 3.0.21.0:

- This release no longer supports the Ubuntu 20.04-LTS "Focal Fossa" family of
  Linux operating system distributions, and siblings like Debian GNU/Linux 11
  "Bullseye". In fact, it requires Ubuntu 22.04.5-LTS "Jammy Jellyfish" with all
  updates installed, or Debian GNU/Linux 12 "Bookworm" and equivalent distributions,
  ie. Linux distributions where all software components are at least as modern
  and recent as those in Ubuntu 22.04.5-LTS. Psychtoolbox Mex files will no
  longer work on older distributions, or if some would appear to work, they might
  show various subtle and not so subtle malfunctions - iow. they woud be unfit
  for research grade data collection.

- Psychtoolbox for Matlab on Linux now also requires a paid software subscription
  license, while the Octave variant for Linux remains free of cost to use.

### Highlights:

- New fast, mostly seamless fixed refresh rate switching on Linux with AMD graphics.

- Hand tracking performance optimizations.

### All:

- Software subscription licenses can now also be activated during setup with
  user email+password of the account of the license manager self service portal.
  Psychtoolbox will fetch the correponding license key automatically.

- License management now contains functionality needed for implementation of
  campus licenses, unattended auto setup of licenses, and educational licenses.

- Performance optimizations for the articulated hand and finger tracking for
  OpenXR, which was introduced in Psychtoolbox 3.0.20.4. Now operates 20-30 times
  faster, doing its job in less than 0.5 msecs on average hardware.

- PR655parsespdstr(): Fix to handle zero values in measurements correctly.
  Contributed by Danny Garside @da5nsy thanks!

- Various other smaller refinements, bug fixes and documentation updates.

### Linux:

- Psychtoolbox was built and tested against Matlab R2024b and Octave 6.4 under
  Ubuntu 22.04.5-LTS. Now only works on Ubuntu 22.04-LTS and later.

- Added workarounds for bugs in AMD's Vulkan driver AMDVLK that have been introduced
  due to mistakes by AMD's developers since version v-2023.Q2.2 and later, starting
  in May 2023. These bugs prevent 16 bpc ultra-high precision framebuffers to be
  reported as supported in both SDR and HDR mode of operation, with some driver
  versions even 10 bpc support is lacking in SDR Standard Dynamic Range mode! The
  bug prevents all AMD RDNA 3+ graphics cards with Navi 30 or later gpu family
  from using these 16 bpc framebuffers, and thereby from achieving up to 12 bpc
  effective output precision. Our new workaround tricks the faulty drivers into
  supporting these modes anyway and thereby restores the 10 bpc modes in SDR/HDR
  and tries to restore 16 bpc modes for up to 12 bpc effective output color
  precision in SDR and HDR again. While this has been confirmed to work on gpu's
  of the AMD Vega gpu family and earier models, the situation on AMD Navi / RDNA
  gpu's ist still unclear at time of this release. There might be additional bugs
  in the AMDVLK drivers still preventing this. Unfortunately the tester for this
  feature on AMD RDNA gpu's has not reported back in reasonable time and we have
  to release now, with this question still to be answered.

- Support for rapid, seamless video refresh rate switching on modern FreeSync
  capable AMD graphics cards, when used with a Variable Refresh Rate capable
  display device, connected via DisplayPort, e.g. suitable FreeSync, GSync and
  "Vesa DisplayPort Adaptive Sync"  capable monitors. This can be triggered for
  a whole X-Screen with one or multiple active outputs via the command
  ``Screen('Framerate', screenId, 2, reqHz);`` or on a individual per-output basis via
  ``Screen('ConfigureDisplay', 'FineGrainedSwitchRefreshRate', screenId, outputId, reqHz);``
  This allows to request an instant switch of the displays to a new video refresh rate
  `reqHz` within the variable refresh rate range supported by the display monitor,
  e.g., to run dynamic animations or movie playback at a specific exact rate, and
  switch that rate on a trial-by-trial basis if needed, with switching times in the
  range of only one to a few video refresh cycle duration. All AMD graphics cards
  since the Sea Island gpu family from around the year 2014 should be supported.

  The new test and demo `VRRFixedRateSwitchingTest.m` demonstrates and tests this.

- Fix touchscreen enumeration for touchscreens operated by the "Intel Precision Touch
  and Stylus Daemon" iptsd version 3 and later. `GetTouchDeviceIndices()` now
  filters out the wrong touchscreen device and enumerates the correct devices.

### Windows:

- Psychtoolbox was built and tested against Matlab R2024b and Octave 7.3.

### macOS:

- Psychtoolbox was built and tested against native Matlab R2024b and against native
  Octave 9.4 from HomeBrew, on macOS 13.7.5 Ventura for Intel Macs, and on macOS 14.5
  Sonoma for Apple Silicon Macs.

- Add a Datapixx mex file for Matlab on Apple Silicon Macs, based on VPixx latest
  release. This is supposed, but not tested by us, to make basic support for VPixx
  devices work on macOS for Apple Silicon. Note that the Datapixx mex file for Octave
  is not ready and most likely broken on Apple Silicon, as of now.

Enjoy!

3.0.21.0

Toggle 3.0.21.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #863 from Psychtoolbox-3/master

PTB beta update 3.0.21.0 "Fruity Aspirational Cashcow"

[This Psychtoolbox release was sponsored by Mathworks under the year 2024/2025
contract for significant enhancements, sponsoring the OpenXR hand tracking
support as major new feature.](https://www.mathworks.com/solutions/neuroscience.html)

### Compatibility changes wrt. Psychtoolbox 3.0.20.4:

- None.

### Highlights:

- Only improvements for license management for a hopefully smooth imminent start
  of the new software subscription licensing model on Apple macOS and MS-Windows.

- We strongly recommend upgrading from Psychtoolbox 3.0.20 to 3.0.21 at your
  earliest convenience if you are a macOS or MS-Windows user, which will require
  a paid subscription license for versions 3.0.20 and later very soon! Previous
  users of Psychtoolbox 3.0.20 will have until 14th April 2025 to buy a license,
  as their free trial will run out during that day. New users will have a 14 day
  free trial on a given machine until they have to buy and activate a license.

- This release is probably one of the very last ones, possibly the last one, to
  support almost end-of-life Ubuntu 20.04-LTS or other Linux distributions older
  than Ubuntu 22.04.5-LTS and equivalent, e.g., Debian GNU/Linux 12.0 (Bookworm).

### All:

- Improvements to license management via PsychLicenseManagement(); for imminent
  launch of the new software licensing business model on MS-Windows and macOS:

  - Allow a configurable maximum offline time (grace period) of more than 30 days.
  - Improved status messages.
  - Built in "News" push message support.
  - Support for offline "air-gapped" activation of licenses for select customers.

- Various other smaller refinements, bug fixes and documentation updates.

### Linux:

- Psychtoolbox was built and tested against Matlab R2024a and Octave 5.2 and later.

### Windows:

- Psychtoolbox was built and tested against Matlab R2024a and Octave 7.3.

### macOS:

- Psychtoolbox was built and tested against native Matlab R2024a and against native
  Octave 9.4 from HomeBrew, on macOS 13.7.4 Ventura for Intel Macs, and on macOS 14.5
  Sonoma for Apple Silicon Macs.

Enjoy!

3.0.19.17

Toggle 3.0.19.17's commit message
PsychPython: Bump version for 3.0.19.16 release.

3.0.20.4

Toggle 3.0.20.4's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #862 from Psychtoolbox-3/master

PTB Beta update 3.0.20.4 "Sleight of Hand"

[This Psychtoolbox release was sponsored by Mathworks under the year 2024/2025
contract for significant enhancements, sponsoring the OpenXR hand tracking
support as major new feature.](https://www.mathworks.com/solutions/neuroscience.html)

### Compatibility changes wrt. Psychtoolbox 3.0.20.3:

- None.

### Highlights:

- OpenXR articulated handtracking and fingertracking support for VR applications.
  Sponsored by Mathworks.

### All:

- We now have OpenXR hand tracking support via our OpenXR driver, utilizing
  the XR_EXT_hand_tracking OpenXR extension! This works on Linux and Windows
  with any articulated hand tracking device that has suitable runtime support.
  Tested with Monado Mercury computer vision hand tracker and UltraLeap
  Leapmotion v2 vision based hand tracker on Linux Ubuntu 22.04/24.04 and on
  MS-Windows 10, both with Monado and SteamVR, Octave and Matlab.

  Thanks to Mathworks for sponsoring this work!

- PsychLicenseHandling(): Refine auto download and install for LM client libs.

- Various other smaller refinements, bug fixes and documentation updates.

### Linux:

- Psychtoolbox was built and tested against Matlab R2024a and Octave 5.2 and later.

- Our OpenXR VR/AR/MR/XR driver can now use articulated hand trackers to track
  a users hand and finger movements and configuration. Tested with a Ultraleap
  Leapmotion v2 controller under SteamVR and Monado runtimes with a real VR HMD
  and a simulated HMD, as well as under Monado with Monado's Open source Mercury
  hand tracker on a simulated NorthStar HMD and with a Luxonis W-Pro smart camera.

### Windows:

- Psychtoolbox was built and tested against Matlab R2024a and Octave 7.3.

- Screen(): Improve/Fix per-pixel alpha for onscreen window transparency, now also
  on Matlab, not just Octave!

  This used to work on WindowsXP, but got broken by some later version of
  MS-Windows. This change should fix it on Windows 10+, at least on the tested
  gpu's from Intel, AMD and NVidia.

- Screen(): Whenever GStreamer is used, disallow MMCSS scheduling. This is a
  workaround for a GStreamer bug present since at least GStreamer 1.22. If `Priority(1)`
  was called in a script before `Screen('OpenMovie')` to enable Realtime scheduling,
  it would end with a crash during movie playback. See GitHub issue #857 reported
  by Diederick Niehorster for the background info.

- Our OpenXR VR/AR/MR/XR driver can now use articulated hand trackers to track
  a users hand and finger movements and configuration. Tested with a Ultraleap
  Leapmotion v2 controller under SteamVR runtime with a real VR HMD.

### macOS:

- Psychtoolbox was built and tested against native Matlab R2024a and against native
  Octave 9.4 from HomeBrew, on macOS 13.7.1 Ventura for Intel Macs, and on macOS 14.5
  Sonoma for Apple Silicon Macs.

3.0.20.3

Toggle 3.0.20.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #859 from Psychtoolbox-3/master

Psychtoolbox 3.0.20.3 "Appletizer SP3"

3.0.20.2

Toggle 3.0.20.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #858 from Psychtoolbox-3/master

PTB update Psychtoolbox 3.0.20.2 "Appletizer SP2"

[This Psychtoolbox release was sponsored by Mathworks under the year 2024/2025
contract for small enhancements and bug fixes.](https://www.mathworks.com/solutions/neuroscience.html)

### Compatibility changes wrt. Psychtoolbox 3.0.20.1:

- None expected.

### Highlights:

- None. This release contains minor functional and quality improvements, bug
  fixes, and refinement of license management support for macOS and Windows in
  the run-up to the launch of the actual paid license model / end of free trial
  period.

### All:

- PsychLicenseHandling(): Add auto download and install for LM client libs.
  Detect absence of required license manager client libraries during 'Setup' and try
  to auto-download and install the missing crucial libraries.
    
  This is relevant for non-standard Psychtoolbox installations via GitHub clone or
  checkout, download of source tree zip/tgz files, or maybe even when the deficient
  Matlab Add-On manager will be reenabled and used in a future release, if we are lucky.

  Should fix multiple trouble reports on the forum from both Windows and macOS users,
  encountered if they download the "wrong" (ie., not recommended for beginners) zip or
  tar.gz files for a Psychtoolbox release, instead of the recommended zip file.

- Update license management libraries to Cryptlex Runtime v3.31.2.
  Apart from minor bug fixes, the main improvement is support for system-wide
  activations on macOS, which should be quite useful for our users on Apple macOS,
  as one user account on a Apple machine can activate a machine license, and all users
  on that machine should be able to use it, instead of having to repeat the procedure
  for each user account on a machine. This was so far only possible on MS-Windows.

- DrawFormattedText() and DrawFormattedText2(): Improve formatting/layout of Unicode text.
  Make it work with double() encoded unicode under Matlab/Octave with 'wrapat' and
  'justifytomax' layout, and per-word bounding boxes. And with text wrapping.

  Over 8 hours of tinkering, but seems to work better, as tested on Ubuntu 20.04 with
  Octave 5.2 and Matlab R2024a.

- PsychtoolboxPostInstallRoutine: Prune pointless Octave path removals.
  These are dead and pointless since a while.

- Various other smaller refinements, bug fixes and documentation updates.

### Linux:

- Psychtoolbox was built and tested against Matlab R2024b and Octave 5.2 and later.

### Windows:

- Psychtoolbox was built and tested against Matlab R2024b and Octave 7.3.

- Move all Matlab mexw64 mex files into PsychBasic folder, delete the now unused
  PsychBasic/MatlabWindowsFilesR2007a subfolder, which is obsolete since a long
  time, so get rid of it and store the Matlab mex files for Windows in the same
  location as the Matlab mex files for Linux and macOS - the PsychBasic/ folder.
  The file extension makes sure everything gets sorted. This may make it possible
  to reenable "Matlab Toolbox Add-On" MLTBX support sometime in the future, although
  more work will be needed for that.

- Screen(): Improve/Fix per-pixel alpha for onscreen window transparency.
  This used to work on WindowsXP, but got broken by some later version of
  MS-Windows. This change should fix it on Windows 10+, at least on the tested
  gpu's. Right now this improvement is limited to Octave, Matlab will follow in
  the next release if testing with this does not show problems.

### macOS:

- Psychtoolbox was tested against native Matlab R2024b and against native Octave 9.3
  from HomeBrew.

- PsychtoolboxPostInstallRoutine: Raise minimum macOS version check to 10.13.
  We need at least macOS 10.13 for Intel Macs and macOS 11 for Apple Silicon Macs.

- Allow system-wide node-locked machine license activations, so only one user has to
  do the activation, and then all users on that machine can use Psychtoolbox without
  need to activate per user account.

- Datapixx mex for Octave/Matlab on macOS Apple Silicon rebuilt against a more recent
  VPixx release from 2019 instead of 2014. Still outdated, but better than before, to
  fix possible interop problems of Apple Silicon Macs with VPixx devices. Not yet
  tested and confirmed to make things work - Awaiting user feedback.

3.0.20.1

Toggle 3.0.20.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #856 from Psychtoolbox-3/master

PTB beta update Psychtoolbox 3.0.20.1 "Appletizer SP1"

### Compatibility changes wrt. Psychtoolbox 3.0.20.0:

- None

### Highlights:

- None

## macOS:

- Psychtoolbox was built and tested against native Matlab R2024b and against native
  Octave 9.3 from HomeBrew, on macOS 13.7.1 Ventura for Intel Macs, and on macOS 14.5
  Sonoma for Apple Silicon Macs.

- Try to execute same code path on Apple Silicon macOS, regardless if running under native
  Matlab/Octave for Apple Silicon ARM, or running under Intel Matlab/Octave via Rosetta2
  emulation. Our license management aggregate stats tell us that a non-trivial fraction of users
  still use Matlab for Intel Macs via Rosetta2 emulation on Apple Silicon, instead of the recommended
  native Matlab/Octave for Apple Silicon. This would cause PTB to misbehave, as it would think it runs
  on an Intel Mac and acts accordingly, instead of adapting to the special snowflake that is macOS on
  Apple Silicon. This will especially cause trouble with visual stimulation timing and some visual stimulus
  presentation. Note that this fix tries to fix this, but Psychtoolbox is not and will not be tested for proper
  compatibility and quality when running under Matlab/Octave for Intel via Rosetta2 on Apple Silicon!
  Switching to native Matlab/Octave for Apple Silicon / ARM is strongly recommended.

- Audio demos and tests: Request standard latency instead of larger latency on Apple Silicon.
  The lose latency requirement was only meant to accomodate RaspberryPi's, not Apple Silicon.

3.0.20.0

Toggle 3.0.20.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #855 from Psychtoolbox-3/master

PTB beta update Psychtoolbox 3.0.20 "Appletizer"

This is the first release with beta quality macOS Apple Silicon Mac support for native use on
Apple Macintosh computers with 64-Bit ARM Apple proprietary M1, M2, M3, ... SoC's.

We thank the labs of Keith Schneider at the University of Delaware and of
Bas Rokers at NYU Abu Dhabi for substantial sponsorship to push Apple
Silicon support over the finish line.

The software license management code has been added on behalf of
Psychtoolbox commercial host company, the Medical Innovations Incubator GmbH,
in Tübingen, Germany:

    Website: https://psychtoolbox.net
    
    Any questions or requests wrt. the software licensing, data protection
    policies and measures should be directed to them under the following
    current address, as of December 2024:
    
    Medical Innovations Incubator GmbH
    Eisenbahnstr. 63
    72070 Tübingen
    Germany
    
    Commercial register: HRB 751684
    Register court: Local court Stuttgart, Germany
    Contact E-Mail address for inquiries: info@mi-incubator.com
    
    The actual software implementation work is done by Mario Kleiner under
    employment by the Medical Innovations Incubator GmbH, as of December
    2024.
    
    Signed-off-by: Mario Kleiner <kleiner@mi-incubator.com>

### Compatibility changes wrt. Psychtoolbox 3.0.19.16:

- Psychtoolbox 3.0.20 and later on Apple macOS and Microsoft Windows
  will require purchase of a paid software license key, once the
  initial time-limited free trial period after first installation and
  use has expired. Psychtoolbox will not work after the end of the trial
  period without such a paid license key. The Psychtoolbox variants for
  Linux on Intel processors and 32-Bit RaspberryPi will remain free to
  use for the time being.

  The free time-limited trial period will last until the launch of
  our new online shop, ie. until you will be able to buy software
  license keys. The estimated date of launch, and end of the free
  trial, will be likely around early to mid January 2025.

  Follow the news on http://psychtoolbox.org and on our Discourse
  user forum or our social media feeds @psychtoolbox on X / Twitter,
  https://neuromatch.social/@psychtoolbox on Mastodon, or on BlueSky
  @psychtoolbox.bsky.social for announcements of the launch of the
  software license key sale early in the year 2025, or go to
  https://psychtoolbox.net to find out how to buy a key, once sales
  has started.

### Highlights:

- Initial "Beta" Apple Silicon support for running Psychtoolbox on macOS
  for Apple Silicon Macs. Psychtoolbox can now be used with native Octave
  and Matlab for Apple Silicon ARM Macs, ie. machines with Apple M1,
  M2, M3, M4, ... SoC's. Most basic functionality should work reasonably
  well, and substantially better than when using older Psychtoolbox
  versions via Matlab for IntelMacs, which had various severe limitations
  which would make them painful to use and deeply hazardous for any real
  data collection! This versions Apple Silicon support was tested by myself
  on a Apple MacBookPro early 2023 with 16 inch Liquid Retina XDR display
  and Apple M2 Pro SoC under macOS 14.5 Sonoma with 64-Bit native Octave 9.2
  from HomeBrew, and with Matlab R2024a and with Matlab R2024b. It was also
  more lightly tested by others on a similar 16 inch MacBookPro late 2023 with
  M3 Pro SoC under the macOS 15.2 Sequoia beta under Matlab R2024b, and a
  MacBookAir 2020 with M1 SoC, and a Mac Studio 2023 M2 Ultra and MacBookAir
  M3 13 inch early 2024, the latter two with macOS 15.2 beta and Matlab R2024b.
  Thanks to our volunteer testers.

  While surely some bugs or limitations still exist, this should be a first good
  release for basic use and evaluation.

  Known limitations are lack of frame-sequential stereo support in stereo modes
  1 and 11, Screen Async flips, ie. subfunctions 'AsyncFlipBegin', 'AsyncFlipEnd'
  and 'AsyncFlipCheckEnd' are unsupported. Certain glitches in frame presentation
  timing are still observed under certain conditions at least on macOS 14, e.g.,
  stalls / short freezes after the stimulus image was static for a while, e.g,
  observable with MouseTraceDemo if not moving the mouse for a while. These may
  also trigger printing of some warning messages into the Matlab or Octave Window
  about "...Failed to retrieve ... stimulus onset timestamp! Timed out.". It is
  not yet clear if these issues are still present on macOS 15 Sequoia as well,
  testing to be done. These remaining timing glitches are almost certainly due to
  Apple macOS operating system bugs, which will either need proper fixing by Apple,
  or need invention of new creative workarounds on our side, if that is needed and
  possible.

  Apples "ProMotion" display mode on some builtin Retina displays, e.g., of the
  MacBookPro models, and variable refresh rate modes in general, are not supported
  and will cause more erratic behaviour. Make sure to switch to a fixed refresh rate
  mode in display settings instead on such machines.

  Movie playback, movie writing and video capture works well with GStreamer 1.24.10,
  but due to what seem to be shortcomings or bugs of current GStreamer releases,
  video recording on Apple Silicon only works for video, not when also trying to
  record audio - otherwise hangs will occur. On Intel Macs, video recording does
  not work at all with GStreamer 1.24.10, but does for both video and audio with
  GStreamer 1.22, however with the downside that playback of some movies fails.
  So both GStreamer 1.22 and 1.24 have some limitations, pick the variant with
  limitations you can better live with, until GStreamer is properly fixed in some
  future GStreamer version.

  You should probably not yet use this release for real data collection if
  highest reliability of visual stimulus presentation timing is required. Use
  for less demanding scenarios may be fine, but tread carefully with this early
  release!

### All:

- Screen: Fix PsychNormalizeTextureOrientation() for multi-window use.
  Use of multiple onscreen windows could cause the wrong OpenGL context
  of the wrong onscreen window to be in use during operation. Fix this.
  Cfe. https://psychtoolbox.discourse.group/t/unknown-problem-playing-movies-with-gstreamer-on-ubuntu-linux/4876/8

- Screen: Various improvements to movie playback. E.g., improve reliability of
  playback with pixelFormat 6 and 8.

- Screen: Reduce chattiness of some status/debug output in general. Generally
  refine status output a bit.

- AlphaRotateDemo.m: Small fixups for weirdly sized displays and formatting fixes.
  Especially useful for the Retina displays of 16 inch Apple Silicon MacBookPro,
  with uneven horizontal resolution.

- PsychPython/audio.py: Fix 'AttributeError' raised when creating a stream fails.
  Contributed by GitHub user @mdcutone

- PsychColorimetric/LMSToMacBoyn(): "Add an example and save the correct version",
  some poorly documented fixes or improvements by the Brainard lab with mostly
  void of information commit message.

- Various other smaller refinements, bug fixes and documentation updates.

### Linux:

- Psychtoolbox was built and tested against Matlab R2024b and Octave 5.2 and later.

- PsychVulkan: Only use workaround against an AMDVLK bug that causes crash if the
  used Vulkan display monitor has more than 64 video modes on AMDVLK driver versions
  before v-2024.Q4.2, as the bug has been fixed in the upstream driver v-2024.Q4.2,
  released early December 2024.

### Windows:

- Psychtoolbox was built and tested against Matlab R2024b and Octave 7.3.

- Screen: Drop GStreamer DirectShow video capture. Prioritize Mediafoundation.
  DirectShow video capture is unmaintained and strongly discouraged by GStreamer
  folks since the year 2022, and indeed testing shows it is quite broken now.
  WDM-KS kernel streaming is also deprecated since the year 2022. MediaFoundation
  capture is the only recommended way forward. Limited testing on Windows 10 22H2
  also shows it to be the most capable and stable right now (tested GStreamer 1.22).

  Drop support for DirectShow dshowvideosrc completely, and prefer Mediafoundation
  mfvideosrc over the deprecated Kernel Streaming ksvideosrc.

- PsychVulkan/Windows: Disable fullscreen exclusive mode on shoddy AMD Vulkan drivers
  again. This still does not work reliably and often leads to black screens instead
  of stimulus display.

### macOS:

- Psychtoolbox was built and tested against native Matlab R2024b and against native
  Octave 9.2 from HomeBrew, on macOS 13.7.1 Ventura for Intel Macs, and on macOS 14.5
  Sonoma for Apple Silicon Macs.

- Initial support for running Psychtoolbox on macOS for Apple Silicon Macs with ARM
  native Matlab and Octave.

- Bump minimum required macOS version to macOS 10.13 "High Sierra". Effective this
  means macOS 10.13 for IntelMacs, and macOS 11 "Big Sur" for Apple Silicon Macs
  are required to run Psychtoolbox 3.0.20.

  Of course this new minimum is a bit redundant, because all macOS versions older
  than macOS 13 are completely unsupported by Apple since October 2024, so running
  anything older is at least a high computer security risk, and has lots of unfixed
  remaining bugs and is therefore not a good idea. Additionally macOS 13 is needed
  at a minimum on Apple Silicon Macs to allow proper operation of visual stimulators
  from VPixx and Cambridge Research Systems.

- Fix video recording on macOS. Works fully with video + audio on macOS for Intel
  Macs with GStreamer 1.22. Works with video only, no audio, on macOS for Apple
  Silicon Macs.

- Implement initial pixelFormat 11 movie playback support on macOS for playback of
  Deep color, Wide color gamut (WCG), and High Dynamic Range (HDR) movies. This
  provides 10 bpc deep color, WCG and HDR, but at a lower performance than on other
  operating systems, as Apples prehistoric OpenGL 2.1 implementation forces us to
  use a less efficient decoding shader, and hardware accelerated video decoding can
  not be used as of GStreamer 1.24.10, as it would reduce color precision to only 8
  bpc which is utterly insufficient for WCG and HDR playback, causing significant
  banding and HDR artefacts.

- Make pixelFormat 6 playback work without crashing.

- Screen: Make Intel iGPU pageflip checking on recent macOS for Intel graphics chips
  more robust. This may improve robustness of correctness checks on Intel integrated
  graphics on Intel Macs with PsychtoolboxKernelDriver installed. Problem seen and
  fixed on Intel Kabylake Gen 9.5 graphics of MacBookPro 2017.

- Fix some crashes on Octave for macOS when using Psychtoolbox after issuing a
  "clear all", or "clear mex", or "clear Screen", or "clear PsychVulkanCore" command.

Enjoy!

3.0.19.16

Toggle 3.0.19.16's commit message
PsychPython: Bump version for 3.0.19.16 release.

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载