Tags: Psychtoolbox-3/Psychtoolbox-3
Tags
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!
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.
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.
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.
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!
Merge pull request #850 from Psychtoolbox-3/master Psychtoolbox 3.0.19 update "Last free lunch" ### Compatibility changes wrt. Psychtoolbox 3.0.19.14: - None. ### Highlights: - None. Only bug fixes for various 3rd party components, and small improvements. ### All: - Change enumeration order of video capture devices. This should avoid selection of suboptimal capture devices by preferring more optimal ones, especially on modern Ubuntu 22.04-LTS and later Linux distributions, which often choose the new but immature pipewiresrc as video source plugin for a camera instead of the old and proven/mature more optimal v4l2src as video source. Specifically we hope to avoid VideoRecordingDemo.m problems like the ones encountered in the following thread: https://psychtoolbox.discourse.group/t/codecs-in-videorecordingdemo-not-working-on-linux/5441 - PsychImaging: Fix HDR mode with types of PsychColorCorrection() that involve lookup tables and only use one color correction operation in total. E.g, standard LUT based correction, 3D LUT based correction or application of per-pixel gain matrices. See: https://psychtoolbox.discourse.group/t/best-approach-for-gamma-correction-in-hdr10/5515 - CI release scripts: Disable building of .mltbx files for releases for now. The current approach contributed by Mathworks team is broken. It includes the whole Psychtoolbox-3 tree for some utterly unclear reason, although the project file only specified the Psychtoolbox/ subfolder. Worse, it adds toolbox folders to the Matlab path in randomized (!?!) order, so our carefully selected ordering of MatlabWindowsFilesR2007a/ folder wrt. PsychBasic folder gets screwed up and mex files can't be found on MS-Windows anymore. Even worse, if SetupPsychtoolbox() fixes it, then the Matlab Add-On Manager undos the fix every single time Matlab restarts! This leads to issues like the following linked one: https://psychtoolbox.discourse.group/t/problem-with-screen-function-ptb-just-installed/5451/9 Apart from that, the Add On manager doesn't allow toolbox updates, and doesn't set things like the Matlab Java path, doesn't deal with GStreamer etc. It has zero benefit for our users, but is a source of hazarads and extra support overhead. Drop it. - Add Psychtoolbox/PsychBasic/PsychPlugins/ to the search path for dynamic shared libraries for all operating systems, so PTB specific plugin libraries can be found during mex file load time. ### Linux: - Psychtoolbox was built and tested against Matlab R2024a and Octave 5.2 and later. - PsychImaging: Update 'EnableNative16BitFramebuffer' help text for year 2024. - Screen: Fix Vulkan display backend support with Mesa versions 23.3 and later and thereby for Ubuntu 24.04-LTS and later. The same problem that affected the Broadcom VideoCore 6 of the RaspberryPi 4 and later under Mesa 23.3 now affects at least Intel and AMD under Mesa 24.0 with Ubuntu 24.04.0-LTS. It appears a slightly broken GL_EXT_direct_state_access implementation in Mesa was introduced in Mesa 23.3 and later. Work around this in an effective and safe way. - PsychVulkan: Add workaround against an AMDVLK bug that causes crash if the used Vulkan display monitor has more than 64 video modes. A proper fix, especially for multi-display setups, can only be done in a future AMDVLK driver from AMD's Vulkan team, but for single display stimulation this workaround should prevent crashes and problems, and on some multi-display setups things may still work with a sprinkle of dumb luck - no guarantees for multi-display though! Note that the AMDVLK driver is only used on AMD gpu's if a color depth of more than standard 8 bpc (aka "deep color") or HDR-10 display mode is requested. For other Vulkan use cases, the high quality Mesa radv Vulkan driver is used, which does not suffer such a problem. For context see: https://psychtoolbox.discourse.group/t/vulkan-breaks-with-stack-smashing-detected-terminated/5501 - XOrgConfCreator: Adapt to Ubuntu 24.04-LTS changes in /dev/dri/card enumeration. This broke hybrid graphics laptop detection, at least on three single gpu laptops with AMD gpu's. It reported a dual-gpu config when there was not any. Since Ubuntu 24.04-LTS, or more likely with a recent Linux 6.8 kernel shipping in both Ubuntu 24.04-LTS and in Ubuntu 22.04.5-LTS with HWE stack, the first (and only) gpu on a single gpu machine now has a /dev/dri/card1 device file, instead of a /dev/dri/card0 device file, ie. device file indexing now starts at 1 instead of 0. On multi-gpu machines, the second gpu is now associated with /dev/dri/card2 and so on. This broke some hard-coded assumptions about 0-based device numbering. We now use a more robust detection logic for hybrid gpu detection. The fix was successfully tested on single-gpu AMD and Intel graphics machines, and on a dual-gpu Intel + AMD laptop for each gpu and in prime render offload mode. - Add braces for NetWM reporting to make compiler happier. It caused a weird problem in the Screen mex build for Matlab, in which the "PTB-INFO: ..." lines about the used flip timestamping mechanism are not printed! No clue why, looks like some compiler bug, but adding the - technically not needed - braces fixes it. ### Windows: - Psychtoolbox was built and lightly tested against Matlab R2024a and Octave 7.3. - VideoRecordingDemo.m: Remove special case MS-Windows path. It does not seem to be as necessary anymore with the future default MediaFoundation path for capture and recording. Also added some cleanups and ability to specify video capture device as argument. ### macOS: - Psychtoolbox was built and tested against Matlab R2024a and against Octave 9.2 from HomeBrew.
Merge pull request #846 from Psychtoolbox-3/master Psychtoolbox 3.0.19.14 "Sommerloch" update. ### Compatibility changes wrt. Psychtoolbox 3.0.19.13: - None expected. ### Highlights: - None. ### All: - ``Screen('DrawDots')``: Only apply a margin to non-square dot types. Only round dots get trimmed in the fragment shader, and so dot_type=4 was left with too much padding from the vertex shader. Bug fix contributed by Alex Forrence @aforren1 - Python extensions built from this release onwards should also work with NumPy 2.x in addition to NumPy 1.x. Changes contributed by Eric Larson. ### Linux: - Psychtoolbox was built and tested against Matlab R2024a. - Undo ``Screen('OpenMovie')`` compatibility fix for Ubuntu 24.04-LTS, of using pipewiresink as audio sink. While this does fix the pulseaudio bugs of delayed playback (see Psychtoolbox 3.0.19.12), the pipewiresink plugin itself, as shipping in Ubuntu 24.04-LTS / GStreamer 1.24, has its own bugs, which are worse and impact more frequent use cases, e.g., seeking, change of playback speed, reverse playback, and instabilities or hangs at end of playback for some common movies. Iow. use of pipewiresink causes regressions. See forum bug report here: <https://psychtoolbox.discourse.group/t/10-second-delay-with-with-gst-state-change-async/3924> GStreamer folks know about the problem but there ain't a solution yet. As of this release, the pipewiresink can still be used as an active opt-in, accepting other potential types of audio playback problems, and if opted in, should fix the following issue on Ubuntu 24.04-LTS and later, and other distributions that use Pipewire as desktop sound server and have an outdated buggy Pulseaudio 16 installation, instead of the more recent Pulseaudio 17. See the following issue for this bug, which is luckily not encountered often: <#814> On unfixed affected systems (mostly Ubuntu 22.04-LTS), if there is a notable time delay between ``Screen('OpenMovie')`` and start of video+audio playback via ``Screen('PlayMovie')``, then the movie playback will freeze after displaying the 1st video frame for the duration of that delay between OpenMovie and PlayMovie, then continue. Problem didn't exist in earler Linux distributions like Ubuntu 20.04-LTS and is fixed by this bug fix for later distros like Ubuntu 24.04-LTS from April 2024. The use of pipewiresink can be enforced as workaround by specifying the following string as 'movieoptions' parameter in ``Screen('Openmovie', ...);`` 'AudioSink=pipewiresink'. - RaspberryPi now also allows GetSecs clock selection, like the Intel variants do since a few releases. ### Windows: - Psychtoolbox was built and lightly tested against Matlab R2024a and Octave 7.3. - ``GetGitPath()``: Fix path to git on MS-Windows. Bug fix contributed by Alex Forrence @aforren1 ### macOS: - Psychtoolbox was built and tested against Matlab R2024a and against Octave 9.2 from HomeBrew. - SetupPsychtoolbox(): Try to fix it properly for macOS with xattr calls. Skip xattr calls for .mltbx installed files via Matlab Add-On explorer, as those already have their quarantine flags removed. For other (zip file) install locations, handle blanks/spaces in the installation path. Also some output text cleanups and fixes. Tested with .mltbx and zip file path install on path with spaces etc. Lets hope this goes better.
PreviousNext