I tested Snow Leopard 10.6.0 and these are first impressions/results.
Snow Leopard was installed on a external USB drive and then i booted it on a MacPro 8-core machine with NVidia Geforce-8800 Ultra graphics on a dual-display setup. A second test machine was a 2nd revision (2006/2007) MacBook Pro with core 2 duo and a ATI Mobility Radeon X1600 GPU. I tested with both GNU/Octave 3.2.2 and Matlab V7.4 R2007a. I ran all the demos in the PsychDemos folder and its subfolders and all tests in the PsychTests folder. I tested both single-display and dual-display modes, the movie playback functions, the videocapture and recording functions with iSight, some USB cameras and some pro firewire cameras, the sound driver, 3D graphics, image processing pipeline and high precision framebuffers, also with the CRS Bits++ box.
All demos and tests completed successfully without any apparent problems and all quantitative tests, e.g., timing precision and high precision framebuffers and drawing showed the same or better results as on Leopard 10.5.8.
The HighColorPrecisionDrawingTest showed failure in two subtests, but these are also present on Leopard. From the type of failure i'm rather certain that this is a flaw in the test that produces a false positive, and not in the operating system.
All drawtext demos showed malfunctions due to some unbelievably stupid bug in the new Snow Leopard OS. These are fixed by using the special Screen-Mex files in the Files section of the forum. The next PTB beta update will contain those workarounds. The workarounds will come at a slight performance loss in text drawing, but i'd expect it to be very small on modern machines.
Matlab R2007a has some incompatibility with Snow leopards Java implementation - or the Java implementation has a bug, not clear which is the cause. For this reason the Matlab command history window doesn't work anymore. Apart from that annoying problem, Matlab seems to operate normally. I don't have access to any more modern Matlab releases so i can't test them, but there isn't a good reason to assume they would be (more) incompatible than R2007a.
The following problems apparently have been fixed wrt. 10.5.8 Leopard:
* Dual display fullscreen operation (two fullscreen onscreen windows on to displays, e.g., PerceptualVBLSyncTest([0,1]) or StereoDemo(10)) on NVidia Geforce-8800 now works as expected. All versions of 10.5. Leopard have a serious bug with all modern NVidia graphics cards of the 8000, 9000 and GTX-whatever series, which causes graphics to malfunction in arbitrary ways up to the point of a fatal system crash. At least on the Geforce-8800 this problem seems to be fixed. Given that Apple almost exclusively sells machines with those cards at this moment this is an important improvement. I don't know why it took them fricking 14 months to fix this problem and why they didn't provide it as a update to 10.5 and think you should reward them for their bugs by buying a new os. I also don't know how they can advertise MacPro's as being able to drive 8 displays simultaneously if they didn't even manage to get dual-display output right for a full operating system release cycle, but i'm still happy that they finally fixed it, because MacPros make for pretty expensive doorstoppers in a lab environment.
Still people should verify quickly if the bug has been fixed for their NVidia cards, e.g., all the Geforces in the new Macbooks/Macbook Pros etc. It wouldn't be the first time that Apple claimed to have fixed a bug but then they only fixed it for a small and narrow set of configurations. As said before, i will close the bug report as "fixed" by monday evening if i don't hear evidence for further problems from you.
* Frame sequential stereo mode (StereoDemo(1) e.g.) on NVidia Geforce-8800 works reliably again. This was also utterly broken on all modern NVidia cards on 10.5.x. Same logic: Test on your setups quickly. It is embarassing how such a bug could slip through their quality assurance testing process. Will close the bug report as "fixed" by monday evening if i don't hear evidence for further problems from you. Psychtoolbox has a built-in workaround for this bug on older operating systems, but one that will cost a significant amount of performance if it needs to be used.
* Some limitations related to high precision floating point framebuffers have been fixed so that ATI GPU's are now more useable for high precision display work. And this already 4 years after Windows and Linux got it right...
* Another improvement for high precision displays is that they added support for the ARB_framebuffer_float extension, which allows us to use a more high performance and more robust drawing path on OS/X, instead of the workarounds we need to use on Tiger and Leopard. This enhancement was made after half a dozen software companies begged for it for more than 3 years, and over 4 years after any Windows or Linux system had well working support for this extension.
* Display beamposition high precision timestamping has been fixed for ATI Radeon HD dual-display setups according to Apple Engineering. I can't verify this due to lack of hardware. I could verify that beamposition timestamping on ATI X1000 series cards is still unsupported. How many years after the introduction of Intel based Macs is this now? Anyway, the PsychtoolboxKernelDriver can be used to fully restore this functionality on all ATI GPU's.
Now to the remaining problems as far as i know them:
* The vertical refresh cycles of dualhead graphics cards on 10.6 still aren't synchronized to each other. This will cause either non-synchronized stimulus onset, or severe tearing artifacts on dual display setups if used for stereoscopic stimulus presentation of dynamic stimuli. Request from many developers open since at least 2 years. Linux and Windows (at least on all tested NVidia cards) do this out of the box since at least a decade.
* Users of the Bits++ box or of similar products under Leopard or Snow Leopard should probaby run all diagnostic scripts they have and/or contact their respective vendors customer support for more information about the unpleasant surprises that the iPhone company implemented for them in "The world's most advanced operating system".
Performance regressions:
These links...
<http://www.phoronix.com/scan.php?page=article&item=ubuntu_karmic_leopard&num=1>
and
<http://www.phoronix.com/scan.php?page=article&item=macosx_106_benchmarks&num=1>
lead to articles on the Phoronix website. They compared the performance of Snow Leopard in a variety of benchmarks both against Leopard, and against the prototype for the next version of Ubuntu Linux (9.1).
The summary of both articles is that Snow Leopard is faster and shows improved performance in a wide area of tests compared to Leopard. It is still outperformed by Linux in the majority of tests (In 4 out of 26 tests Snow Leopard was the clear winner, in 12 out of 26 Linux was the clear winner, the remaining tests didn't show significant differences).
There is one notable exception: Graphics performance seems to be seriously reduced in Snow Leopard wrt. to Leopard in some areas. Graphics performance was found to be up to 2x slower than Leopard and up to 9x slower than Linux in some tests! Apparently there are some serious unfixed performance regressions inside Snow Leopard. Apple can't possiby have overlooked this drastic performance loss, so i can only assume they pushed out 10.6.0 early and unoptimized to beat Microsoft's Windows-7 in the race for the next big operating system release. I assume these regressions will be fixed soon in some upcoming bugfix release, but if you need very high graphics performance for your visual stimuli you should probably stick to Leopard for a while until this is fixed. I could only see some decrease in performance for some of our advanced demos, not for the simple ones, but then i only looked closely at the performance of the advanced demos, not on that of the simple demos.
I haven't tested 10.6 on my own experimental setup with me "real stuff" yet. That one is very stressfull to the whole system and should be a good indicator of how 10.6 performs wrt. 10.5.
What else? Here's a nice review article about the new features and improvements of Snow Leopard. Some parts are rather technical, so this more for the technically interested of you:
<http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars>
As you can read, Snow Leopard has a couple of nifty improvements under the hood. Most of them will be only marginally useful (if at all) for Psychtoolbox itself. I could imagine that applications like future Matlab releases or compute/data intense toolboxes (like SPM) could take good advantage from "Grand central dispatch" or 64-bit computing improvements. What i'm excited about is the built-in support for OpenCL and i hope to implement a couple of interesting new features in the area of the imaging pipeline and image processing in the future.
Again my advice: Install and test it with your experiment scripts and our PsychDemos/PsychTests on machines that are not crucial for your work. Give feedback if you find problems or improvements. Make sure to have a backup copy of your old Leopard before upgrading on production machines.
Slightly unrelated: During testing i found out that our audio driver allows for lower latencies on a MacPro than on a MacBookPro, so although the same sound hardware is used on both, MacOS/X does reduce the security margin dependent on available processing power. On a MacBookPro, e.g., the lowest achievable feedback latency in DelayedSoundFeedbackDemo is about 12-13 msecs, whereas the same demo allows for about 6.5 msecs on a MacPro. This is one of the rare cases where a fast CPU matters, whereas in almost all other applications of Psychtoolbox a fast and modern GPU is much more important than a fast CPU.
-mario
Snow Leopard was installed on a external USB drive and then i booted it on a MacPro 8-core machine with NVidia Geforce-8800 Ultra graphics on a dual-display setup. A second test machine was a 2nd revision (2006/2007) MacBook Pro with core 2 duo and a ATI Mobility Radeon X1600 GPU. I tested with both GNU/Octave 3.2.2 and Matlab V7.4 R2007a. I ran all the demos in the PsychDemos folder and its subfolders and all tests in the PsychTests folder. I tested both single-display and dual-display modes, the movie playback functions, the videocapture and recording functions with iSight, some USB cameras and some pro firewire cameras, the sound driver, 3D graphics, image processing pipeline and high precision framebuffers, also with the CRS Bits++ box.
All demos and tests completed successfully without any apparent problems and all quantitative tests, e.g., timing precision and high precision framebuffers and drawing showed the same or better results as on Leopard 10.5.8.
The HighColorPrecisionDrawingTest showed failure in two subtests, but these are also present on Leopard. From the type of failure i'm rather certain that this is a flaw in the test that produces a false positive, and not in the operating system.
All drawtext demos showed malfunctions due to some unbelievably stupid bug in the new Snow Leopard OS. These are fixed by using the special Screen-Mex files in the Files section of the forum. The next PTB beta update will contain those workarounds. The workarounds will come at a slight performance loss in text drawing, but i'd expect it to be very small on modern machines.
Matlab R2007a has some incompatibility with Snow leopards Java implementation - or the Java implementation has a bug, not clear which is the cause. For this reason the Matlab command history window doesn't work anymore. Apart from that annoying problem, Matlab seems to operate normally. I don't have access to any more modern Matlab releases so i can't test them, but there isn't a good reason to assume they would be (more) incompatible than R2007a.
The following problems apparently have been fixed wrt. 10.5.8 Leopard:
* Dual display fullscreen operation (two fullscreen onscreen windows on to displays, e.g., PerceptualVBLSyncTest([0,1]) or StereoDemo(10)) on NVidia Geforce-8800 now works as expected. All versions of 10.5. Leopard have a serious bug with all modern NVidia graphics cards of the 8000, 9000 and GTX-whatever series, which causes graphics to malfunction in arbitrary ways up to the point of a fatal system crash. At least on the Geforce-8800 this problem seems to be fixed. Given that Apple almost exclusively sells machines with those cards at this moment this is an important improvement. I don't know why it took them fricking 14 months to fix this problem and why they didn't provide it as a update to 10.5 and think you should reward them for their bugs by buying a new os. I also don't know how they can advertise MacPro's as being able to drive 8 displays simultaneously if they didn't even manage to get dual-display output right for a full operating system release cycle, but i'm still happy that they finally fixed it, because MacPros make for pretty expensive doorstoppers in a lab environment.
Still people should verify quickly if the bug has been fixed for their NVidia cards, e.g., all the Geforces in the new Macbooks/Macbook Pros etc. It wouldn't be the first time that Apple claimed to have fixed a bug but then they only fixed it for a small and narrow set of configurations. As said before, i will close the bug report as "fixed" by monday evening if i don't hear evidence for further problems from you.
* Frame sequential stereo mode (StereoDemo(1) e.g.) on NVidia Geforce-8800 works reliably again. This was also utterly broken on all modern NVidia cards on 10.5.x. Same logic: Test on your setups quickly. It is embarassing how such a bug could slip through their quality assurance testing process. Will close the bug report as "fixed" by monday evening if i don't hear evidence for further problems from you. Psychtoolbox has a built-in workaround for this bug on older operating systems, but one that will cost a significant amount of performance if it needs to be used.
* Some limitations related to high precision floating point framebuffers have been fixed so that ATI GPU's are now more useable for high precision display work. And this already 4 years after Windows and Linux got it right...
* Another improvement for high precision displays is that they added support for the ARB_framebuffer_float extension, which allows us to use a more high performance and more robust drawing path on OS/X, instead of the workarounds we need to use on Tiger and Leopard. This enhancement was made after half a dozen software companies begged for it for more than 3 years, and over 4 years after any Windows or Linux system had well working support for this extension.
* Display beamposition high precision timestamping has been fixed for ATI Radeon HD dual-display setups according to Apple Engineering. I can't verify this due to lack of hardware. I could verify that beamposition timestamping on ATI X1000 series cards is still unsupported. How many years after the introduction of Intel based Macs is this now? Anyway, the PsychtoolboxKernelDriver can be used to fully restore this functionality on all ATI GPU's.
Now to the remaining problems as far as i know them:
* The vertical refresh cycles of dualhead graphics cards on 10.6 still aren't synchronized to each other. This will cause either non-synchronized stimulus onset, or severe tearing artifacts on dual display setups if used for stereoscopic stimulus presentation of dynamic stimuli. Request from many developers open since at least 2 years. Linux and Windows (at least on all tested NVidia cards) do this out of the box since at least a decade.
* Users of the Bits++ box or of similar products under Leopard or Snow Leopard should probaby run all diagnostic scripts they have and/or contact their respective vendors customer support for more information about the unpleasant surprises that the iPhone company implemented for them in "The world's most advanced operating system".
Performance regressions:
These links...
<http://www.phoronix.com/scan.php?page=article&item=ubuntu_karmic_leopard&num=1>
and
<http://www.phoronix.com/scan.php?page=article&item=macosx_106_benchmarks&num=1>
lead to articles on the Phoronix website. They compared the performance of Snow Leopard in a variety of benchmarks both against Leopard, and against the prototype for the next version of Ubuntu Linux (9.1).
The summary of both articles is that Snow Leopard is faster and shows improved performance in a wide area of tests compared to Leopard. It is still outperformed by Linux in the majority of tests (In 4 out of 26 tests Snow Leopard was the clear winner, in 12 out of 26 Linux was the clear winner, the remaining tests didn't show significant differences).
There is one notable exception: Graphics performance seems to be seriously reduced in Snow Leopard wrt. to Leopard in some areas. Graphics performance was found to be up to 2x slower than Leopard and up to 9x slower than Linux in some tests! Apparently there are some serious unfixed performance regressions inside Snow Leopard. Apple can't possiby have overlooked this drastic performance loss, so i can only assume they pushed out 10.6.0 early and unoptimized to beat Microsoft's Windows-7 in the race for the next big operating system release. I assume these regressions will be fixed soon in some upcoming bugfix release, but if you need very high graphics performance for your visual stimuli you should probably stick to Leopard for a while until this is fixed. I could only see some decrease in performance for some of our advanced demos, not for the simple ones, but then i only looked closely at the performance of the advanced demos, not on that of the simple demos.
I haven't tested 10.6 on my own experimental setup with me "real stuff" yet. That one is very stressfull to the whole system and should be a good indicator of how 10.6 performs wrt. 10.5.
What else? Here's a nice review article about the new features and improvements of Snow Leopard. Some parts are rather technical, so this more for the technically interested of you:
<http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars>
As you can read, Snow Leopard has a couple of nifty improvements under the hood. Most of them will be only marginally useful (if at all) for Psychtoolbox itself. I could imagine that applications like future Matlab releases or compute/data intense toolboxes (like SPM) could take good advantage from "Grand central dispatch" or 64-bit computing improvements. What i'm excited about is the built-in support for OpenCL and i hope to implement a couple of interesting new features in the area of the imaging pipeline and image processing in the future.
Again my advice: Install and test it with your experiment scripts and our PsychDemos/PsychTests on machines that are not crucial for your work. Give feedback if you find problems or improvements. Make sure to have a backup copy of your old Leopard before upgrading on production machines.
Slightly unrelated: During testing i found out that our audio driver allows for lower latencies on a MacPro than on a MacBookPro, so although the same sound hardware is used on both, MacOS/X does reduce the security margin dependent on available processing power. On a MacBookPro, e.g., the lowest achievable feedback latency in DelayedSoundFeedbackDemo is about 12-13 msecs, whereas the same demo allows for about 6.5 msecs on a MacPro. This is one of the rare cases where a fast CPU matters, whereas in almost all other applications of Psychtoolbox a fast and modern GPU is much more important than a fast CPU.
-mario