PsychtoolboxDriver Kext load fails due to vtable 'out of date'

Hi Mario and all,

I’m trying to install the OSX PsychtoolboxKernelDriver on a MacBook Pro with 10.7.4, Intel integrated HD 3000 w/ 384MB VBRAM. I’ve followed the instructions for installation and successfully unzipped the driver into /Library/Extrensions, but the driver won’t load. I see the following in /var/log/kernel.log:

> kxld[PsychtoolboxKernelDriver]: The super class vtable ‘__ZTV12IOUserClient’ for vtable ‘__ZTV34PsychtoolboxKernelDriverUserClient’ is out of date. Make sure your kext has been built against the correct headers.

Do you have instructions on how to rebuild the kext appropriately for each system, or any other thoughts? It seems like this is a build problem with the OSX Version. Thanks,

Erik
The current driver is incompatible with 10.7 and earlier. The next ptb beta has a "legacy" 64-bit driver for those old OS'es. You could try and install it from here (for 64-Bit resp. 32-Bit kernels):
https://github.com/Psychtoolbox-3/Psychtoolbox-3/raw/master/Psychtoolbox/PsychHardware/PsychtoolboxKernelDriver64BitLegacy.kext.zip

https://github.com/Psychtoolbox-3/Psychtoolbox-3/raw/master/Psychtoolbox/PsychHardware/PsychtoolboxKernelDriver32BitLegacy.kext.zip

However, PTB won't use the kernel driver on Intel gpu's anymore (unless you setenv('PSYCH_ALLOW_DANGEROUS','1'); before issuing the first Screen command in a session. The reason is an incompatibility between recent generations of Intel gpu's and the driver which can not be fixed in any way, essentially a hardware design flaw which under certain circumstances could cause a serious crash of your hardware. It is unclear for osx if and under what exact conditions this bug could trigger and there is no way to find out due to the proprietary nature of Apples os, but given the non-zero chance of this happening and the potential for serious data loss (or even a trip to the Apple repair shop thanks to an unbootable machine if you'd be really unlucky), i've disabled support. None of this happened to my knowledge due to Psychtoolbox so far, but there have been hefty cases reported on some recent Intel pre-production hardware - not with PTB but with code that has similar access patterns to the hardware.

Anyway this means the kernel driver is of no use to you unless you like risk. The good fallback timestamping also doesn't work on 10.7 anymore because Apple broke it for us. The fallback for the fallback which we use on 10.7+ in such cases works very unreliable at least on my Intel HD gpu to the point of being useless, thanks to more bugs Apple introduced in their "operating system". In the end visual stimulus onset timestamping has to be considered unreliable at best (or at least as unreliable as/not better than other vision science toolkits) for any Intel graphics card on any current version of OSX >= 10.7.

Intel gpu's should work fine on Linux though, where i was able to solve such problems properly in collaboration with the people at Intel who develop the graphics drivers. Open source is such a better fit for neuro-science applications...

-mario