Bits# T-lock on Mountain Lion

Dear all,

Has anyone had any luck getting the Bits# to work properly on a current
mac running Mountain Lion? (I'm using a Mac Mini, purchased last month).
I can get basic functions fine, but anything requiring T-lock is totally
non-functional.

I have tried all the suggestions in the Wiki for disabling dithering
etc. The NVinject.kext workaround produces the following errors, I think
because Mountain Lion does not support a 32 bit kernel (e.g. see
http://apple.stackexchange.com/questions/58340/booting-mountain-lion-in-32-bit-mode):

14/02/2013 10:56:53.888 com.apple.kextd[12]: Can't load
/System/Library/Extensions/NVinject.kext - no code for running kernel's
architecture.
14/02/2013 10:56:53.890 com.apple.kextd[12]: Load com.nvinject failed;
removing personalities from kernel.

I'm guessing the only solution will be to parallel install or downgrade
to Lion or Snow Leopard, but if anyone has any suggestions please let me
know.

Thanks in advance,

- Daniel
--- In psychtoolbox@yahoogroups.com, Daniel Baker <daniel.baker@...> wrote:
>
> Hi Mario,
>
> Yes, you're right, it's an Intel card, which I gather is not possible to
> un-dither at the moment. If you find a workaround please let me know.
>

On my request CRS implemented a similar video readback interface in the Bits# as we have on Datapixx et al. I also got a Bits# from them for christmas, but haven't had time to play with it. I assume i will be able to port our Datapixx lut tweaking routine to the Bits#, to automatically fix the clut for use with Apple's broken "operating system", that would be the workaround once done. Upgrading your os to Linux would probably be another option.

However, so far Intel gpu's are not tested for compatibility with high precision display modes at all, because only 3 years ago using them for such tasks would have been mission impossible. The current Intel HD hardware should be capable of supporting it, although at lower speed than Nvidia or AMD parts. In the end the quality of their graphics drivers will decide if they are already viable for such tasks.

Have you tried BitsPlusIdentityClutTest, cycling through different CLUT if one fits? Did all fail?
We don't have custom made lut's for intel yet, because in the past that would have been pointless, and atm. i don't have any intel card with an external digital output that would allow testing this.



> I also have a recent MacbookPro, which does have an Nvidia card. William
> Beaudot produced a 64 bit version of NVinject, which successfully
> deactivated the dithering under Mountain Lion. The T-lock codes work
> fine for LUT loading on this machine. I'm still having trouble getting
> the goggles working, but I'm sure I'll get there.
>

Can you send me that NVinject for inclusion? Actually, do we include the 32-Bit version at the moment, or just provide it for download somewhere?

ciao,
-mario

> Cheers,
>
> - Daniel
>
>
> On 15/02/2013 16:38, Mario wrote:
> >
> >
> >
> > Does your Mac Mini have a NVidia graphics cards? Apples online shop
> > indicates current Mac Mini's have Intel HD-4000 cards, not NVidia's?
> >
> > -mario
> >
> > --- In psychtoolbox@yahoogroups.com
> > <mailto:psychtoolbox%40yahoogroups.com>, Daniel Baker wrote:
> > >
> > > Dear all,
> > >
> > > Has anyone had any luck getting the Bits# to work properly on a current
> > > mac running Mountain Lion? (I'm using a Mac Mini, purchased last
> > month).
> > > I can get basic functions fine, but anything requiring T-lock is
> > totally
> > > non-functional.
> > >
> > > I have tried all the suggestions in the Wiki for disabling dithering
> > > etc. The NVinject.kext workaround produces the following errors, I
> > think
> > > because Mountain Lion does not support a 32 bit kernel (e.g. see
> > >
> > http://apple.stackexchange.com/questions/58340/booting-mountain-lion-in-32-bit-mode):
> > >
> > > 14/02/2013 10:56:53.888 com.apple.kextd[12]: Can't load
> > > /System/Library/Extensions/NVinject.kext - no code for running kernel's
> > > architecture.
> > > 14/02/2013 10:56:53.890 com.apple.kextd[12]: Load com.nvinject failed;
> > > removing personalities from kernel.
> > >
> > > I'm guessing the only solution will be to parallel install or downgrade
> > > to Lion or Snow Leopard, but if anyone has any suggestions please
> > let me
> > > know.
> > >
> > > Thanks in advance,
> > >
> > > - Daniel
> > >
> >
> >
>
Hi again,

I have now made substantial progress with the Bits#, and have T-lock working for LUTs and DIO/goggles. I'd be happy to provide example code to anyone else attempting this.

In Bits++ mode I can create my own T-lock code and embed it in an image. But in Mono++ mode this doesn't work, because the image has to be greyscale, and PTB converts it to the correct format (e.g. 2 byte greyscale precision + overlay). I can use the DIOCommand method instead to send signals to the pins of the 25-pin I/O port, which works perfectly for bits 1-10 of the 2-byte data/mask parameters (tested with oscilloscope).

However, I would like ideally to send a digital pulse out of the BNC digital trigger port. This is encoded by bit 16 of the data/mask parameters (the Bits# manual says bit 15, but it's wrong). I'm guessing that the fact that Mono++ is only 14 bits means that the two MSBs get automatically lost, meaning that the port is effectively disabled in this mode. It works fine in Bits++ mode using a manual T-lock.

As far as I can tell, the BitsPlusDIO2Matrix command is not removing any data, and the glDrawPixels function just blits straight to the screen in RGB format. This suggests to me that the bit-loss is intrinsic to the Mono++ mode (i.e. the Bits# itself deletes those bits before checking the T-lock code). Is this likely to be an intractable problem, or can anyone think of a workaround?

Many thanks,

 - Daniel


On 17/02/2013 23:03, Mario wrote:
 



--- In psychtoolbox@yahoogroups.com, Daniel Baker wrote:
>
> Hi Mario,
>
> Yes, you're right, it's an Intel card, which I gather is not possible to
> un-dither at the moment. If you find a workaround please let me know.
>

On my request CRS implemented a similar video readback interface in the Bits# as we have on Datapixx et al. I also got a Bits# from them for christmas, but haven't had time to play with it. I assume i will be able to port our Datapixx lut tweaking routine to the Bits#, to automatically fix the clut for use with Apple's broken "operating system", that would be the workaround once done. Upgrading your os to Linux would probably be another option.

However, so far Intel gpu's are not tested for compatibility with high precision display modes at all, because only 3 years ago using them for such tasks would have been mission impossible. The current Intel HD hardware should be capable of supporting it, although at lower speed than Nvidia or AMD parts. In the end the quality of their graphics drivers will decide if they are already viable for such tasks.

Have you tried BitsPlusIdentityClutTest, cycling through different CLUT if one fits? Did all fail?
We don't have custom made lut's for intel yet, because in the past that would have been pointless, and atm. i don't have any intel card with an external digital output that would allow testing this.

> I also have a recent MacbookPro, which does have an Nvidia card. William
> Beaudot produced a 64 bit version of NVinject, which successfully
> deactivated the dithering under Mountain Lion. The T-lock codes work
> fine for LUT loading on this machine. I'm still having trouble getting
> the goggles working, but I'm sure I'll get there.
>

Can you send me that NVinject for inclusion? Actually, do we include the 32-Bit version at the moment, or just provide it for download somewhere?

ciao,
-mario

> Cheers,
>
> - Daniel
>
>
> On 15/02/2013 16:38, Mario wrote:
> >
> >
> >
> > Does your Mac Mini have a NVidia graphics cards? Apples online shop
> > indicates current Mac Mini's have Intel HD-4000 cards, not NVidia's?
> >
> > -mario
> >
> > --- In psychtoolbox@yahoogroups.com
> > , Daniel Baker wrote:
> > >
> > > Dear all,
> > >
> > > Has anyone had any luck getting the Bits# to work properly on a current
> > > mac running Mountain Lion? (I'm using a Mac Mini, purchased last
> > month).
> > > I can get basic functions fine, but anything requiring T-lock is
> > totally
> > > non-functional.
> > >
> > > I have tried all the suggestions in the Wiki for disabling dithering
> > > etc. The NVinject.kext workaround produces the following errors, I
> > think
> > > because Mountain Lion does not support a 32 bit kernel (e.g. see
> > >
> > http://apple.stackexchange.com/questions/58340/booting-mountain-lion-in-32-bit-mode):
> > >
> > > 14/02/2013 10:56:53.888 com.apple.kextd[12]: Can't load
> > > /System/Library/Extensions/NVinject.kext - no code for running kernel's
> > > architecture.
> > > 14/02/2013 10:56:53.890 com.apple.kextd[12]: Load com.nvinject failed;
> > > removing personalities from kernel.
> > >
> > > I'm guessing the only solution will be to parallel install or downgrade
> > > to Lion or Snow Leopard, but if anyone has any suggestions please
> > let me
> > > know.
> > >
> > > Thanks in advance,
> > >
> > > - Daniel
> > >
> >
> >
>


Hi Min,

As far as I know, the NVinject workaround only works for Nvidia graphics cards. I don't think there is much you can do for an ATI card (though I may be wrong). Here is the link to William Beaudot's 64 bit version of NVinject:

http://www.psykinematix.com/download/files/tools/NVinject64.kext.zip

In terms of code, what are you trying to do? If you're just planning to use the T-lock for LUTs, then the red shift demo and the other demos included with PTB are as good as anything I've come up with. If you're aiming to use stereo goggles or digital outputs, I have a few bits of code I can share, but they won't be much use until the temporal dithering issues are fixed.

 - Daniel


On 22/02/2013 06:45, ptbmin wrote:
 

Hi Daniel,

I am suffering from the Bits# with Mountain Lion. Great to see you made it to work for cLUT animation.

I didn't see any change on the "red-scale" T-Lock image when it was dragged onto the secondary screen. I have an iMac of Mountain Lion equipped with an ATI Radeon HD 6770M graphics card. It seems the T-Lock is not working properly perhaps because of the unintended temporal dithering. And I failed to downgrade the kernel to 32-bit, as you already mentioned.

Could you please share your example code and how you fix the problem? Thanks a lot!

Min

--- In psychtoolbox@yahoogroups.com, Daniel Baker wrote:
>
> Hi again,
>
> I have now made substantial progress with the Bits#, and have T-lock
> working for LUTs and DIO/goggles. I'd be happy to provide example code
> to anyone else attempting this.
>
> In Bits++ mode I can create my own T-lock code and embed it in an image.
> But in Mono++ mode this doesn't work, because the image has to be
> greyscale, and PTB converts it to the correct format (e.g. 2 byte
> greyscale precision + overlay). I can use the DIOCommand method instead
> to send signals to the pins of the 25-pin I/O port, which works
> perfectly for bits 1-10 of the 2-byte data/mask parameters (tested with
> oscilloscope).
>
> However, I would like ideally to send a digital pulse out of the BNC
> digital trigger port. This is encoded by bit 16 of the data/mask
> parameters (the Bits# manual says bit 15, but it's wrong). I'm guessing
> that the fact that Mono++ is only 14 bits means that the two MSBs get
> automatically lost, meaning that the port is effectively disabled in
> this mode. It works fine in Bits++ mode using a manual T-lock.
>
> As far as I can tell, the BitsPlusDIO2Matrix command is not removing any
> data, and the glDrawPixels function just blits straight to the screen in
> RGB format. This suggests to me that the bit-loss is intrinsic to the
> Mono++ mode (i.e. the Bits# itself deletes those bits before checking
> the T-lock code). Is this likely to be an intractable problem, or can
> anyone think of a workaround?
>
> Many thanks,
>
> - Daniel
>
>
> On 17/02/2013 23:03, Mario wrote:
> >
> >
> >
> > --- In psychtoolbox@yahoogroups.com
> > , Daniel Baker wrote:
> > >
> > > Hi Mario,
> > >
> > > Yes, you're right, it's an Intel card, which I gather is not
> > possible to
> > > un-dither at the moment. If you find a workaround please let me know.
> > >
> >
> > On my request CRS implemented a similar video readback interface in
> > the Bits# as we have on Datapixx et al. I also got a Bits# from them
> > for christmas, but haven't had time to play with it. I assume i will
> > be able to port our Datapixx lut tweaking routine to the Bits#, to
> > automatically fix the clut for use with Apple's broken "operating
> > system", that would be the workaround once done. Upgrading your os to
> > Linux would probably be another option.
> >
> > However, so far Intel gpu's are not tested for compatibility with high
> > precision display modes at all, because only 3 years ago using them
> > for such tasks would have been mission impossible. The current Intel
> > HD hardware should be capable of supporting it, although at lower
> > speed than Nvidia or AMD parts. In the end the quality of their
> > graphics drivers will decide if they are already viable for such tasks.
> >
> > Have you tried BitsPlusIdentityClutTest, cycling through different
> > CLUT if one fits? Did all fail?
> > We don't have custom made lut's for intel yet, because in the past
> > that would have been pointless, and atm. i don't have any intel card
> > with an external digital output that would allow testing this.
> >
> > > I also have a recent MacbookPro, which does have an Nvidia card.
> > William
> > > Beaudot produced a 64 bit version of NVinject, which successfully
> > > deactivated the dithering under Mountain Lion. The T-lock codes work
> > > fine for LUT loading on this machine. I'm still having trouble getting
> > > the goggles working, but I'm sure I'll get there.
> > >
> >
> > Can you send me that NVinject for inclusion? Actually, do we include
> > the 32-Bit version at the moment, or just provide it for download
> > somewhere?
> >
> > ciao,
> > -mario
> >
> > > Cheers,
> > >
> > > - Daniel
> > >
> > >
> > > On 15/02/2013 16:38, Mario wrote:
> > > >
> > > >
> > > >
> > > > Does your Mac Mini have a NVidia graphics cards? Apples online shop
> > > > indicates current Mac Mini's have Intel HD-4000 cards, not NVidia's?
> > > >
> > > > -mario
> > > >
> > > > --- In psychtoolbox@yahoogroups.com
> >
> > > > , Daniel Baker wrote:
> > > > >
> > > > > Dear all,
> > > > >
> > > > > Has anyone had any luck getting the Bits# to work properly on a
> > current
> > > > > mac running Mountain Lion? (I'm using a Mac Mini, purchased last
> > > > month).
> > > > > I can get basic functions fine, but anything requiring T-lock is
> > > > totally
> > > > > non-functional.
> > > > >
> > > > > I have tried all the suggestions in the Wiki for disabling dithering
> > > > > etc. The NVinject.kext workaround produces the following errors, I
> > > > think
> > > > > because Mountain Lion does not support a 32 bit kernel (e.g. see
> > > > >
> > > >
> > http://apple.stackexchange.com/questions/58340/booting-mountain-lion-in-32-bit-mode):
> > > > >
> > > > > 14/02/2013 10:56:53.888 com.apple.kextd[12]: Can't load
> > > > > /System/Library/Extensions/NVinject.kext - no code for running
> > kernel's
> > > > > architecture.
> > > > > 14/02/2013 10:56:53.890 com.apple.kextd[12]: Load com.nvinject
> > failed;
> > > > > removing personalities from kernel.
> > > > >
> > > > > I'm guessing the only solution will be to parallel install or
> > downgrade
> > > > > to Lion or Snow Leopard, but if anyone has any suggestions please
> > > > let me
> > > > > know.
> > > > >
> > > > > Thanks in advance,
> > > > >
> > > > > - Daniel
> > > > >
> > > >
> > > >
> > >
> >
> >
>


Hi Daniel,

Thanks for the link! For now I just need the cLUT animation to work at a Bits++ mode.

So it seems I have to downgrade the OS to snow leopard? Could anyone give other suggestion?

Min

--- In psychtoolbox@yahoogroups.com, Daniel Baker <daniel.baker@...> wrote:
>
> Hi Min,
>
> As far as I know, the NVinject workaround only works for Nvidia graphics
> cards. I don't think there is much you can do for an ATI card (though I
> may be wrong). Here is the link to William Beaudot's 64 bit version of
> NVinject:
>
> http://www.psykinematix.com/download/files/tools/NVinject64.kext.zip
>
> In terms of code, what are you trying to do? If you're just planning to
> use the T-lock for LUTs, then the red shift demo and the other demos
> included with PTB are as good as anything I've come up with. If you're
> aiming to use stereo goggles or digital outputs, I have a few bits of
> code I can share, but they won't be much use until the temporal
> dithering issues are fixed.
>
> - Daniel
>
>
> On 22/02/2013 06:45, ptbmin wrote:
> >
> > Hi Daniel,
> >
> > I am suffering from the Bits# with Mountain Lion. Great to see you
> > made it to work for cLUT animation.
> >
> > I didn't see any change on the "red-scale" T-Lock image when it was
> > dragged onto the secondary screen. I have an iMac of Mountain Lion
> > equipped with an ATI Radeon HD 6770M graphics card. It seems the
> > T-Lock is not working properly perhaps because of the unintended
> > temporal dithering. And I failed to downgrade the kernel to 32-bit, as
> > you already mentioned.
> >
> > Could you please share your example code and how you fix the problem?
> > Thanks a lot!
> >
> > Min
> >
> > --- In psychtoolbox@yahoogroups.com
> > <mailto:psychtoolbox%40yahoogroups.com>, Daniel Baker wrote:
> > >
> > > Hi again,
> > >
> > > I have now made substantial progress with the Bits#, and have T-lock
> > > working for LUTs and DIO/goggles. I'd be happy to provide example code
> > > to anyone else attempting this.
> > >
> > > In Bits++ mode I can create my own T-lock code and embed it in an
> > image.
> > > But in Mono++ mode this doesn't work, because the image has to be
> > > greyscale, and PTB converts it to the correct format (e.g. 2 byte
> > > greyscale precision + overlay). I can use the DIOCommand method instead
> > > to send signals to the pins of the 25-pin I/O port, which works
> > > perfectly for bits 1-10 of the 2-byte data/mask parameters (tested with
> > > oscilloscope).
> > >
> > > However, I would like ideally to send a digital pulse out of the BNC
> > > digital trigger port. This is encoded by bit 16 of the data/mask
> > > parameters (the Bits# manual says bit 15, but it's wrong). I'm guessing
> > > that the fact that Mono++ is only 14 bits means that the two MSBs get
> > > automatically lost, meaning that the port is effectively disabled in
> > > this mode. It works fine in Bits++ mode using a manual T-lock.
> > >
> > > As far as I can tell, the BitsPlusDIO2Matrix command is not removing
> > any
> > > data, and the glDrawPixels function just blits straight to the
> > screen in
> > > RGB format. This suggests to me that the bit-loss is intrinsic to the
> > > Mono++ mode (i.e. the Bits# itself deletes those bits before checking
> > > the T-lock code). Is this likely to be an intractable problem, or can
> > > anyone think of a workaround?
> > >
> > > Many thanks,
> > >
> > > - Daniel
> > >
> > >
> > > On 17/02/2013 23:03, Mario wrote:
> > > >
> > > >
> > > >
> > > > --- In psychtoolbox@yahoogroups.com
> > <mailto:psychtoolbox%40yahoogroups.com>
> > > > , Daniel Baker wrote:
> > > > >
> > > > > Hi Mario,
> > > > >
> > > > > Yes, you're right, it's an Intel card, which I gather is not
> > > > possible to
> > > > > un-dither at the moment. If you find a workaround please let me
> > know.
> > > > >
> > > >
> > > > On my request CRS implemented a similar video readback interface in
> > > > the Bits# as we have on Datapixx et al. I also got a Bits# from them
> > > > for christmas, but haven't had time to play with it. I assume i will
> > > > be able to port our Datapixx lut tweaking routine to the Bits#, to
> > > > automatically fix the clut for use with Apple's broken "operating
> > > > system", that would be the workaround once done. Upgrading your os to
> > > > Linux would probably be another option.
> > > >
> > > > However, so far Intel gpu's are not tested for compatibility with
> > high
> > > > precision display modes at all, because only 3 years ago using them
> > > > for such tasks would have been mission impossible. The current Intel
> > > > HD hardware should be capable of supporting it, although at lower
> > > > speed than Nvidia or AMD parts. In the end the quality of their
> > > > graphics drivers will decide if they are already viable for such
> > tasks.
> > > >
> > > > Have you tried BitsPlusIdentityClutTest, cycling through different
> > > > CLUT if one fits? Did all fail?
> > > > We don't have custom made lut's for intel yet, because in the past
> > > > that would have been pointless, and atm. i don't have any intel card
> > > > with an external digital output that would allow testing this.
> > > >
> > > > > I also have a recent MacbookPro, which does have an Nvidia card.
> > > > William
> > > > > Beaudot produced a 64 bit version of NVinject, which successfully
> > > > > deactivated the dithering under Mountain Lion. The T-lock codes work
> > > > > fine for LUT loading on this machine. I'm still having trouble
> > getting
> > > > > the goggles working, but I'm sure I'll get there.
> > > > >
> > > >
> > > > Can you send me that NVinject for inclusion? Actually, do we include
> > > > the 32-Bit version at the moment, or just provide it for download
> > > > somewhere?
> > > >
> > > > ciao,
> > > > -mario
> > > >
> > > > > Cheers,
> > > > >
> > > > > - Daniel
> > > > >
> > > > >
> > > > > On 15/02/2013 16:38, Mario wrote:
> > > > > >
> > > > > >
> > > > > >
> > > > > > Does your Mac Mini have a NVidia graphics cards? Apples online
> > shop
> > > > > > indicates current Mac Mini's have Intel HD-4000 cards, not
> > NVidia's?
> > > > > >
> > > > > > -mario
> > > > > >
> > > > > > --- In psychtoolbox@yahoogroups.com
> > <mailto:psychtoolbox%40yahoogroups.com>
> > > >
> > > > > > , Daniel Baker wrote:
> > > > > > >
> > > > > > > Dear all,
> > > > > > >
> > > > > > > Has anyone had any luck getting the Bits# to work properly on a
> > > > current
> > > > > > > mac running Mountain Lion? (I'm using a Mac Mini, purchased last
> > > > > > month).
> > > > > > > I can get basic functions fine, but anything requiring T-lock is
> > > > > > totally
> > > > > > > non-functional.
> > > > > > >
> > > > > > > I have tried all the suggestions in the Wiki for disabling
> > dithering
> > > > > > > etc. The NVinject.kext workaround produces the following
> > errors, I
> > > > > > think
> > > > > > > because Mountain Lion does not support a 32 bit kernel (e.g. see
> > > > > > >
> > > > > >
> > > >
> > http://apple.stackexchange.com/questions/58340/booting-mountain-lion-in-32-bit-mode):
> > > > > > >
> > > > > > > 14/02/2013 10:56:53.888 com.apple.kextd[12]: Can't load
> > > > > > > /System/Library/Extensions/NVinject.kext - no code for running
> > > > kernel's
> > > > > > > architecture.
> > > > > > > 14/02/2013 10:56:53.890 com.apple.kextd[12]: Load com.nvinject
> > > > failed;
> > > > > > > removing personalities from kernel.
> > > > > > >
> > > > > > > I'm guessing the only solution will be to parallel install or
> > > > downgrade
> > > > > > > to Lion or Snow Leopard, but if anyone has any suggestions
> > please
> > > > > > let me
> > > > > > > know.
> > > > > > >
> > > > > > > Thanks in advance,
> > > > > > >
> > > > > > > - Daniel
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > >
> > > >
> > >
> >
> >
>
Hi Mario,

Thanks a lot for your thorough tests! I was stuck on some other stuffs and have not got a chance to test more on the iMac. Since the new PC is supposed to arrive this week, I will start to actively test the Bits# on the PC with Windows 7. Also, I'll install Ubuntu12.04 on it.

I think all this effort ensures that Apple is no longer a good choice for vision researcher. About the changing color of the text on MS-Windows, I got a reply from the Cambridge Research System Ltd. I didn't get a chance to test it either, but I like to share his response with you:

"I came across a post on the PTB forum where you mention a problem with the BitsPlusIdentityClutTest. I just wanted to let you know that we have seen a similar behaviour on our PC Desktop with NVIDIA gfx (the blue text changing colours) and found that it seems to come from the ¡®DrawText¡¯ subfunction of Screen. It seems to shift the overlay on some windows machines. On our machine a (quick) fix is to simply call the function twice. That is, you could try adding ¡°i=1:2,¡± to line 183 and ¡°end¡± to line 191."

Min

--- In psychtoolbox@yahoogroups.com, "Mario" <mario.kleiner@...> wrote:
>
>
>
> Ok some more updates here after playing a bit more with the Bits# over the weekend:
>
> a) If on MS-Windows the text that should be blue randomly changed color, and the "COLORFUL0" word moved through shades of red like the red gradient, but everything else was fine, then that's not a bug -- or more specifically, it is a different bug, apparently an off by one color bug in the MS-Windows text renderer, related to alpha-blending. Not sure if this is our bug or a Windows GDI bug or a NVidia graphics driver bug, but it is rather recent, so probably introduced when transitioning to Windows-7. I've added a workaround to BitsPlusIdentityClutTest for that, so UpdatePsychtoolbox from our 'trunk' flavor and retest. Should be fine on Windows then. You should then run the diagnostic tests for the Bits# (when it asks you, answer (y)es). These should pass without problems and signal that everything is fine on Windows. You can also run HighColorPrecisionDrawingTest if you are patient to verify all drawing commands operate at sufficient precision.
>
> b) I was able to borrow a MacBookPro with an ATI Radeon HD 6000M series graphics card and tested it with DataPixx and Bits# on the installed OSX 10.6.7 Snow Leopard and on a current prototype of the upcoming Ubuntu Linux 13.04 Raring Ringtail which i ran from a live DVD, ie., without installing the OS on the machine. Results were interesting, and i could imagine you'd get the similar results when testing on your iMac:
>
> - OSX + Mini Displayport to *single link* DVI adapter + Bits# : Failure, just like you saw it. All our workarounds and the PsychtoolboxKernelDriver worked as expected and were completely ineffective in fixing the problem. The new diagnostic and "auto-healing" which i added to the Bits# driver also failed completely. It was impossible to fully disable digital display output dithering.
>
> - The same configuration with a DataPixx failed exactly the same way. Essentially the gpu hardware either ignores the drivers low level programming and does its own thing, or there is another independent dithering engine inside Apple's Displayport encoder which we can't disable.
>
> - Then i connected one of those outrageously overpriced Apple MiniDisplayPort to *dual link* DVI adapters. The DataPixx now operated just perfectly as our workarounds became effective. The Bits# didn't produce any image anymore, not even a wrong one. In fact, it wasn't receiving any video signal from the Mac and OSX didn't even detect that anything was plugged into the display connector.
>
> Then i booted Linux and repeated all tests with DataPixx and Bits#, single-link and dual-link DP -> DVI adapters and guess what? Stuff "just worked(tm)" exactly with all combinations of devices and adapters, just as the fruit company promised for their Mac products! I also tested other unrelated functionality, e.g., sound, i/o etc. to confirm that Linux just worked fine on that machine.
>
> So what can we learn from this specific n=1 sample, and from now quite many other similar samples, if anything?
>
> 1. Don't buy Apples life-style toys if you want to do technically demanding vision research.
> 2. If you ignored 1, try to install Linux and you'll probably have a better chance of Apple hardware "just working". Of course no guarantees, just one more data point. Also, Linux would probably work even better on many configurations of cheaper and standard compliant PC hardware.
> 3. If you ignored 1 and 2, try different connector cables, display EDID's, video modes etc. and maybe you'll manage to get the most advanced operating system in the world to sort of do what you want it to do.
> 4. Of course it's also possible that all this is misguided advice, your iMac works absolutely find and you were just holding it wrong, as Steve Jobs would conclude.
>
> I assume your iMac had a Mini DisplayPort connector, but i'd assume you could get similar results with an HDMI output or Thunderbolt, or whatever Apple's choice of the year for the greatest, bestest, most amazing display connectors is.
>
> I'll check with my AMD connection if there is some way for yet another workaround piled on top of the other workarounds for the most advanced operating system of the world.
>
> -mario
>
>
> --- In psychtoolbox@yahoogroups.com, "Mario" <mario.kleiner@> wrote:
> >
> >
> >
> >
> >
> > --- In psychtoolbox@yahoogroups.com, "ptbmin" <ptbmin@> wrote:
> > >
> > > Hi Mario,
> > >
> > > Thanks for your suggestion! I installed the latest version of PTB on the iMac with Lion 10.7.2. The T-Lock still didn't work. After this double check, I connected the Bits# with a PC desktop computer with NVIDIA Geforce GTX 550Ti, Windows 7.
> > >
> > > It seems the resolution does matter. The Bits# doesn't work for any resolution higher than 1024x768 and refresh rate higher than 85Hz. At 1024x768x85Hz, the secondary screen became red scale when I simply dragged the webpage with the T-Lock image on to it. Of course, the MinimumMotionExp works.
> > >
> > > The only concern is the results of running BitsPlusIdentityClutTest. Everything looks very normal and smooth, except that the words (not the COLOURFUL0~4) are not always blue. Their color changes probably at the same rate of the cycling of the COLOURFUL0~4. Is that what they should be? Below I attached the Matlab output. Please let me know if there is anything wrong. If color change of the words is normal, I am going to buy a PC and say goodbye to Apple.
> > >
> >
> > No, the blue text should always be blue. If you observe anything that deviates even the smallest bit from the description, even if it is only a few pixels somewhere, then something is still wrong with the gamma tables, display dithering etc and you can't really use your device for precise stimulus display.
> >
> > But don't despair :) - I've finished initial implementation of CRS Bits# support. The code is in PTB's 'trunk' experimental branch (aka Psychtoolbox master branch). You can download a fresh copy of this experimental Psychtoolbox via DownloadPsychtoolbox() if you specify the optional 'flavor' parameter as 'trunk'. The code in trunk is not yet ready for an official PTB beta release, but it should be good enough for most typical purposes.
> >
> > After downloading this experimental branch the new Bits# support should now automatically detect the Bits# -- after you've created a Bits# configuration file by following the instructions displayed in the Matlab window. This will allow PTB to automatically switch the Bits# into the proper display mode (Bits++, Mono++, Color++ or Diagnostic status screen) depending on the code you run. It will also allow you to run the "extended diagnostic tests (display encoder tests)" which are offered by the BitsPlusImagingPipelineTest() and the BitsPlusIdentityCLUTTest() scripts. If you choose those tests, Psychtoolbox should be able to detect any remaining issues with your graphics gamma tables and display dithering, and it should be able to make it work correctly in many cases. However, the optimization procedure that is executed in case of buggy display output can take quite a bit of time to execute. E.g., on a 60 Hz display with correctly working output, testing the output for correctness takes about 50 seconds. On my broken OSX 10.7.5 MacbookPro with a NVidia graphics card, detecting and fixing the issues caused by Apple's broken operating system took almost 12 minutes of runtime.
> >
> > The code has been successfully tested on Ubuntu Linux 12.10, which worked like a charm with the NVidia GeForce GT 330M in a MacBookPro, and on OSX 10.7.5 with the same hardware, which was horribly broken, just as one expects from the fruit company nowadays, but the new code was able to fix it within 12 minutes of tweaking. The code is completely untested on MS-Windows, but expected to work well as well.
> >
> > Let us know how it goes. Might be worth trying this on your iMac as well.
> >
> > -mario
> >
> >
> > > Thanks!
> > >
> > > Min
> > >
> > > --- In psychtoolbox@yahoogroups.com, "Mario" <mario.kleiner@> wrote:
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > --- In psychtoolbox@yahoogroups.com, "ptbmin" <ptbmin@> wrote:
> > > > >
> > > > > Just an update. I downgraded the Mountain Lion to Lion 10.7.2. Unfortunately, Mountain Lion now doesn't allow a downgrade to Snow Leopard.
> > > > >
> > > >
> > > > Yay, version lock in at its best. Don't worry, Apple knows what's good for you.
> > > >
> > > > > So far I haven't got a working version of Xcode. But I tried the T-Lock image on the secondary monitor. Unfortunately, nothing changed on that monitor.
> > > > >
> > > >
> > > > Why would you need XCode? The T-Lock will definitely not work without ptb, the only question is if it works with it.
> > > >
> > > > > I will still try installing the Psychtoolbox and see if those demos work. But it seems not very promising.
> > > > >
> > > >
> > > > Your last report didn't indicate anything being wrong with our workarounds. The gpu model and type of display engine was correctly detected, the correct code-path in the driver chosen. I've double-checked with the source-code of the most recent open-source radeon graphics driver for Linux and as far is i can tell, our kernel driver applies the correct strategy and settings to fix your system - Except it doesn't fix your system.
> > > >
> > > > So something's amiss. Could be that the Radeon HD-6000 series introduced some new hardware features which need to be specifically tweaked to make this work and which i'm not aware of. Testing of the driver was performed with Radeon X1000,HD2000/3000/4000/5000 in the past, but not with HD6000 or HD7000 - at least i'm not aware of it. Could be that those tweaks are not needed under Linux, only OSX, so the programming sequence suitable and derived from Linux is insufficient when running the same hardware under recent versions of OSX. I can't test this stuff anymore, because currently i don't have access to any modern AMD/ATI card on a Mac, only to a few rather old ones under Linux. We used to have labs here which were Apple shops, but those research groups have moved on to other places and with them went almost my complete playground of Apple + AMD graphics hardware.
> > > >
> > > > It could also be something specific to Apple's hardware design for the iMac, not affecting the same graphics card when built into a different PC, e.g., some special proprietary encoder chips inbetween the actual graphics card and the output connectors. Apple loves to do hardware things different, often in deeply annoying ways which look sexy from the outside but horrifying from the inside, and of course totally undocumented at a technical level unless you work inside Apple, e.g., Mini-display port or Thunderbolt madness
> > > >
> > > > So i don't know. I will try to contact my Linux graphics driver developer friend at AMD if he has some thoughts on the way we handle the HD-6000 low-level programming, but there's no guarantee he will respond in a short amount of time. His usual starting comment is "they should use Linux" and something about the amount of drugs that Apple's hardware and firmware designers must be on.
> > > >
> > > > The other thing i will try (if i find the time this weekend, no promise) is to plug in my Bits# the first time and see if i can port the auto-tweaking code from the Datapixx to Bits#, so PTB gets some better self-healing and diagnostics on Bits#.
> > > >
> > > > But it is entirely possible that your iMac is just not supportable for this stuff.
> > > >
> > > > Things you could try:
> > > >
> > > > 1. Does the Bits# work correctly on other computers with other grahpics hardware or operating systems -- preferrably not Apples crap. Did you read the Bits# manual carefully and setup the EDID correctly? Would be stupid to waste so much time on something that's a Bits# defect or misconfiguration.
> > > >
> > > > 2. Try to get a recent version of (Ubuntu)-Linux installed on your iMac and test with that. This way we could maybe disentangle if this is a hardware, software or mixed issue. Also you would suddenly have a much better machine for vision science to begin with.
> > > >
> > > > Do others have any experience with the Radeon HD-6000 or later, on either macs or pc's with some operating systems? We need more data points here.
> > > >
> > > > In general, if you want to do high precision visual stimulus displays, Apple hardware + OSX is so far the worst possible choice. Many combinations of Apple + OSX do work eventually, but since 10.5 Leopard, almost none works out of the box without applying our battery of workarounds and Apple has been actively unhelpful in the past in resolving such issues. MS-Windows + PC's seems to be significantly less buggy, but we have almost no workarounds if a setup doesn't work. Linux was so far bug-free, but we have all the workarounds for OSX implemented in case something should go wrong at some point, and we have more options for workarounds or fixes, if our existing workarounds should become ineffective.
> > > >
> > > > No guarantees though. In most of the last two decades, low level display hardware didn't evolve much, apart from switching from VGA connectors to DVI, so what worked well in one year usually also worked well a couple of years later. In the last few < 4 years, the speed of change has drastically accelerated, everything is moving very fast, complexity increases and with that the potential for low-level bugs. At the same time, not much testing is done to catch such low-level bugs before release of new hardware or device drivers on the side of the hardware vendors, because apart from a bunch of vision scientists nobody cares about such bugs. Joe Average computer users couldn't care any less about some dithering pattern messing with tiny details of color display, otoh they are very happy if they can get a stunning billions of colors retina whatever display for half the price of last year. I don't expect that it will become any easier in the next years to get such devices working with standard computer hardware, rather quite the opposite.
> > > >
> > > > The best i can tell you is that with standard PC's + Linux there's the best chance of stuff working out of the box and the best chance to help you if it doesn't, but failure is still an option.
> > > >
> > > > It would be good if people who have working setups would share data points on our Wiki about which hardware + os combos are known to work well and which are not.
> > > >
> > > > Or you need to do some sampling yourself, maybe lend some machines from your local computer shops to test before you buy?
> > > >
> > > > -mario
> > > >
> > >
> >
>