Windows 8 issues

Hi,
I'm trying to work with the psychtoolbox demos in windows 8.
As I understand windows 8 has disabled the option to remove windows desktop compositor. But the toolbox just tries to do that in order to improve performance. As a result of which i'm not able to run the demo and i get the error as:
PTB-ERROR: PsychOSOpenOnscreenWindow: Windows desktop compositor is not disabled as requested!
PTB-ERROR: PsychOSOpenOnscreenWindow: EXPECT SERIOUS PROBLEMS WITH VISUAL STIMULUS ONSET TIMING AND TIMESTAMPING!!

As I want to just run through the demo,the timing is not very much relevant for me, so i wanted to disable this, but unfortunately it is in the screen.mex file. So does anyone of you have any idea of a workaround for windows 8.
If it's just a timing warning, and you don't care about timing, can't you use:

Screen('Preference', 'SkipSyncTests', [enableFlag]);

to force PTB to not do timing tests.

Its always a risky strategy to use a brand new operating system and expect everything to work.

Peter


--- In psychtoolbox@yahoogroups.com, "wolverine_einstein" <j.sridharrajan@...> wrote:
>
> Hi,
> I'm trying to work with the psychtoolbox demos in windows 8.
> As I understand windows 8 has disabled the option to remove windows desktop compositor. But the toolbox just tries to do that in order to improve performance. As a result of which i'm not able to run the demo and i get the error as:
> PTB-ERROR: PsychOSOpenOnscreenWindow: Windows desktop compositor is not disabled as requested!
> PTB-ERROR: PsychOSOpenOnscreenWindow: EXPECT SERIOUS PROBLEMS WITH VISUAL STIMULUS ONSET TIMING AND TIMESTAMPING!!
>
> As I want to just run through the demo,the timing is not very much relevant for me, so i wanted to disable this, but unfortunately it is in the screen.mex file. So does anyone of you have any idea of a workaround for windows 8.
>
Yes, that should do it. But it would be interesting to see the full output of a run with Screen('Preference','Verbosity', 10); to see if this was really the reason for sync failure.

Do others have timing problems with Windows-8?

Official Microsoft docu says that the DWM is always on and can't be disabled anymore on Windows-8, neither by software (== Psychtoolbox) nor by users themselves (e.g., via some control panel).

<http://msdn.microsoft.com/en-us/library/windows/desktop/hh848042%28v=vs.85%29.aspx>

Microsoft docu also claims the DWM should auto-disable / go out of the way automatically in fullscreen window mode, but at least on Vista and Windows-7 that never worked reliably (or at all). I would hope that they've improved this auto-suspend in Windows-8 if they decided to take away all control from us.

Otherwise this would be a killer-feature in the literal sense for vision science applications on Windows-8 and later.

Also "nice":
<http://msdn.microsoft.com/en-us/library/windows/desktop/hh994465%28v=vs.85%29.aspx>

Not that those api's ever worked well enough to be good for anything, but my hope was they would fix them at some point. Instead they "fixed them" by simply killing them off.

-mario


--- In psychtoolbox@yahoogroups.com, "peter.scarfe" <peterscarfe@...> wrote:
>
>
>
> If it's just a timing warning, and you don't care about timing, can't you use:
>
> Screen('Preference', 'SkipSyncTests', [enableFlag]);
>
> to force PTB to not do timing tests.
>
> Its always a risky strategy to use a brand new operating system and expect everything to work.
>
> Peter
>
>
> --- In psychtoolbox@yahoogroups.com, "wolverine_einstein" <j.sridharrajan@> wrote:
> >
> > Hi,
> > I'm trying to work with the psychtoolbox demos in windows 8.
> > As I understand windows 8 has disabled the option to remove windows desktop compositor. But the toolbox just tries to do that in order to improve performance. As a result of which i'm not able to run the demo and i get the error as:
> > PTB-ERROR: PsychOSOpenOnscreenWindow: Windows desktop compositor is not disabled as requested!
> > PTB-ERROR: PsychOSOpenOnscreenWindow: EXPECT SERIOUS PROBLEMS WITH VISUAL STIMULUS ONSET TIMING AND TIMESTAMPING!!
> >
> > As I want to just run through the demo,the timing is not very much relevant for me, so i wanted to disable this, but unfortunately it is in the screen.mex file. So does anyone of you have any idea of a workaround for windows 8.
> >
>
Nice. Maybe you could post the exact commands you typed and the error messages? If you tried it at the command prompt, did you call LoadPsychHID before?

But what about the visuals? Do graphics demos work? Timing problems or warnings [beyond the one that DWM can't be disabled]? Does PerceptualVBLSyncTest show homogeneous fast flicker as on earlier Windows, or do you get tearing or irregular or slow flicker? Single- or dual-display setup/stimulus presentation? Does VBLSyncTest report skipped frames or other weird results?

thanks,
-mario


--- In psychtoolbox@yahoogroups.com, "d_deloss" <denton.deloss@...> wrote:
>
> I've also had serious issues with Windows 8. PsychHID causes a hard segmentation fault every time it is ran. I've tried multiple copies of lib-usb to avail. I haven't been able to troubleshoot it as the error messages are of no help, I may attempt to dig into the C source and see if I can figure out what may be going on.
>
> --- In psychtoolbox@yahoogroups.com, "peter.scarfe" <peterscarfe@> wrote:
> >
> >
> >
> > If it's just a timing warning, and you don't care about timing, can't you use:
> >
> > Screen('Preference', 'SkipSyncTests', [enableFlag]);
> >
> > to force PTB to not do timing tests.
> >
> > Its always a risky strategy to use a brand new operating system and expect everything to work.
> >
> > Peter
> >
> >
> > --- In psychtoolbox@yahoogroups.com, "wolverine_einstein" <j.sridharrajan@> wrote:
> > >
> > > Hi,
> > > I'm trying to work with the psychtoolbox demos in windows 8.
> > > As I understand windows 8 has disabled the option to remove windows desktop compositor. But the toolbox just tries to do that in order to improve performance. As a result of which i'm not able to run the demo and i get the error as:
> > > PTB-ERROR: PsychOSOpenOnscreenWindow: Windows desktop compositor is not disabled as requested!
> > > PTB-ERROR: PsychOSOpenOnscreenWindow: EXPECT SERIOUS PROBLEMS WITH VISUAL STIMULUS ONSET TIMING AND TIMESTAMPING!!
> > >
> > > As I want to just run through the demo,the timing is not very much relevant for me, so i wanted to disable this, but unfortunately it is in the screen.mex file. So does anyone of you have any idea of a workaround for windows 8.
> > >
> >
>
LoadPyschHID causes the exact same crash as well (an error log can be found here: http://pastebin.com/ErkgknAG). The first run of PerceptualVBLSyncTest did show a bit of variation, though all the bars were clustered in the top 10th of the screen. The second run through only showed a single yellow bar other than those on the top scanline. VBLSyncTest missed 2 out of 602 flips the first run through and 0 the second, all seems to be working well for synchronization. The system in question is my home development system and does have dual displays. The demos I've tried seem to work fine, it only seems to be PsychHID that is causing issues. Let me know if there is any other information you'd like or testing in Windows 8 that you would like help with.

Best,
Denton DeLoss

--- In psychtoolbox@yahoogroups.com, "Mario" <mario.kleiner@...> wrote:
>
>
>
> Nice. Maybe you could post the exact commands you typed and the error messages? If you tried it at the command prompt, did you call LoadPsychHID before?
>
> But what about the visuals? Do graphics demos work? Timing problems or warnings [beyond the one that DWM can't be disabled]? Does PerceptualVBLSyncTest show homogeneous fast flicker as on earlier Windows, or do you get tearing or irregular or slow flicker? Single- or dual-display setup/stimulus presentation? Does VBLSyncTest report skipped frames or other weird results?
>
> thanks,
> -mario
>
>
> --- In psychtoolbox@yahoogroups.com, "d_deloss" <denton.deloss@> wrote:
> >
> > I've also had serious issues with Windows 8. PsychHID causes a hard segmentation fault every time it is ran. I've tried multiple copies of lib-usb to avail. I haven't been able to troubleshoot it as the error messages are of no help, I may attempt to dig into the C source and see if I can figure out what may be going on.
> >
> > --- In psychtoolbox@yahoogroups.com, "peter.scarfe" <peterscarfe@> wrote:
> > >
> > >
> > >
> > > If it's just a timing warning, and you don't care about timing, can't you use:
> > >
> > > Screen('Preference', 'SkipSyncTests', [enableFlag]);
> > >
> > > to force PTB to not do timing tests.
> > >
> > > Its always a risky strategy to use a brand new operating system and expect everything to work.
> > >
> > > Peter
> > >
> > >
> > > --- In psychtoolbox@yahoogroups.com, "wolverine_einstein" <j.sridharrajan@> wrote:
> > > >
> > > > Hi,
> > > > I'm trying to work with the psychtoolbox demos in windows 8.
> > > > As I understand windows 8 has disabled the option to remove windows desktop compositor. But the toolbox just tries to do that in order to improve performance. As a result of which i'm not able to run the demo and i get the error as:
> > > > PTB-ERROR: PsychOSOpenOnscreenWindow: Windows desktop compositor is not disabled as requested!
> > > > PTB-ERROR: PsychOSOpenOnscreenWindow: EXPECT SERIOUS PROBLEMS WITH VISUAL STIMULUS ONSET TIMING AND TIMESTAMPING!!
> > > >
> > > > As I want to just run through the demo,the timing is not very much relevant for me, so i wanted to disable this, but unfortunately it is in the screen.mex file. So does anyone of you have any idea of a workaround for windows 8.
> > > >
> > >
> >
>
--- In psychtoolbox@yahoogroups.com, "d_deloss" <denton.deloss@...> wrote:
>
> LoadPyschHID causes the exact same crash as well (an error log can be found here: http://pastebin.com/ErkgknAG). The first run of


Can you try the updated 32-Bit PsychHID from:

<https://github.com/kleinerm/Psychtoolbox-3/blob/master/Psychtoolbox/PsychBasic/MatlabWindowsFilesR2007a/PsychHID.mexw32?raw=true>

or for 64-Bit Matlab:

<https://github.com/kleinerm/Psychtoolbox-3/blob/master/Psychtoolbox/PsychBasic/MatlabWindowsFilesR2007a/PsychHID.mexw64?raw=true>

The crash happened inside DirectInput8Create() when trying to initialize the DirectInput-8 interface. Indeed we passed in some parameter in a way not recommended by Microsoft docu, although it just worked fine on WinXP/Vista/7. I hope that that's the culprit, as otherwise there's nothing wrong with our call of that function and the crash happens within the function. If it would crash despite us passing "textbook perfect" parameters, i can't see what we could do about it.


>PerceptualVBLSyncTest did show a bit of variation, though all the >bars were clustered in the top 10th of the screen. The second run >through only showed a single yellow bar other than those on the top >scanline. VBLSyncTest missed 2 out of 602 flips the first run >through and 0 the second, all seems to be working well for >synchronization. The system in question is my home development >system

That's good. I retested a Windows-7 single display system here with the compositor forced on and timing and sync worked well. The compositor automatically went out of our way when opening a fullscreen onscreen window and therefore didn't interfere, just as Microsoft docu stated it should. Apparently the compositor bugs got fixed sometime by some OS updated between my last testing sometime 2010 with Windows-7 and now. Without these fixes, Windows-8 would be basically completely unuseable for timed visual stimulus presentation.


>and does have dual displays. The demos I've tried seem to work fine, >it only seems to be PsychHID that is causing issues. Let me know if >there is any other information you'd like or testing in Windows 8 >that you would like help with.

Can you test all combinations to be sure: Onscreen window on display 1, on display 2 and one window spanning both of your displays while they run at the same resolution/display settings etc. Maybe even two separate onscreen windows on each of the displays? PerceptualVBLSyncTest and some tests like MultiWindowLockStepTest or ImagingStereoDemo(10) have test code for that.

thanks,
-mario
--- In psychtoolbox@yahoogroups.com, "d_deloss" <denton.deloss@...> wrote:
>
> The other PsychHID mex files don't seem to help the issue, MATLAB >still crashes on calling LoadPsychHID or any call to PsychHID. I'm

Ok. I don't think we do anything wrong here in the updated PsychHID files and it is some Windows-8 bug. Searching the web for "DirectInput8Create crash" gives a lot of hits. Apparently the function is not very robust and often crashes instead of returning an error code if it encounters an error.

Most threads point to some buggy or outdated input device drivers for mice, keyboards, joysticks etc., or problematic USB devices connected to the computer, causing the function to die.

So you could try to unplug input devices and restart Matlab and see if it helps, restarting the system, updating input device drivers, updating DirectX on your machine (not that i would know how to do this, so far i thought it just comes with the os and gets updated with it). Of course it would be a bit weird that a brand-new os would need device driver updates already a few days after its release, but then maybe there are just some undiscovered bugs in the rather new os?

Does anybody else have problems with LoadPsychHID / PsychHID on Windows-8? I think currently there are only around 20 registered users with Win-8.

... running a GTX 560 Ti so I initially ran PerceptualVBLSyncTest using each monitor separately with the Nvidia drivers set to single display performance mode, on the primary display there were no lines aside from those on the top scanline, on the second display there was a single line that appeared below the top scanline in the top 1/5th of the screen. In single display performance mode in multiflip mode there were quite a few lines clustered in the top 1/4th of the screen, running PerceptualVBLSyncTest([0 1]) yielded quite a bit more noise though all lines were clustered in the top 1/6th of the display. In multiple display performance mode when running in multiflip mode there was a single bar about 1/4th of the way down, other than that seemed to run just fine. When running PerceptualVBLSyncTest([0 1]) the output on both displays was the worst out of all the tests with nearly every refresh displaying a yellow line somewhere in the top 3rd of the screen. The results of MultiWindowLockStepTest worked perfectly on the primary display (both means within 1/100th of a second), when running on both displays it did show some issues:
> Window 1 should have mean 1, has 1.000218 with range 0.575994.
> Window 2 should have mean 2, has 1.585110 with range 0.260017.
> Let me know if there are anything else you'd like me to test in

Ok thanks. So you don't see sync failures, timing warnings, or visual artifacts (tearing, etc.) in any display config? Yellow lines spreading on a larger range just means that the system timing is not great in certain configs -- something to be expected especially from Windows. As long as they at least cluster somewhat and are not evenly spread over the screen and you don't see tearing artifacts, stuff probably works ok.


>Windows 8. I'll continue searching to find a resolution to the use >of PsychHID in Windows 8, though since then I've resurrected an old >machine of mine to run Ubuntu to attempt to use as a development >machine at home until I find a fix.

That's a better solution anyway, using a real operating system instead of Windows. Solves tons of other problems as well. Even at its best, Windows is still the by far worst choice of an OS for neuroscience testing apps, although Apple is working hard to make OSX a viable contender for the title.

An easy way to install Ubuntu in parallel without the need to repartition the disc drive is to use the WUBI installer from Ubuntu's website. It installs the whole OS into a file on your Windows drive and adds a boot entry to the bootloader, so you can easily dual-boot. You may loose a bit of filesystem performance using this virtual harddisc, but for typical psychophysics apps that's not a big deal.

-mario

>
> --- In psychtoolbox@yahoogroups.com, "Mario" <mario.kleiner@> wrote:
> >
> >
> >
> > --- In psychtoolbox@yahoogroups.com, "d_deloss" <denton.deloss@> wrote:
> > >
> > > LoadPyschHID causes the exact same crash as well (an error log can be found here: http://pastebin.com/ErkgknAG). The first run of
> >
> >
> > Can you try the updated 32-Bit PsychHID from:
> >
> > <https://github.com/kleinerm/Psychtoolbox-3/blob/master/Psychtoolbox/PsychBasic/MatlabWindowsFilesR2007a/PsychHID.mexw32?raw=true>
> >
> > or for 64-Bit Matlab:
> >
> > <https://github.com/kleinerm/Psychtoolbox-3/blob/master/Psychtoolbox/PsychBasic/MatlabWindowsFilesR2007a/PsychHID.mexw64?raw=true>
> >
> > The crash happened inside DirectInput8Create() when trying to initialize the DirectInput-8 interface. Indeed we passed in some parameter in a way not recommended by Microsoft docu, although it just worked fine on WinXP/Vista/7. I hope that that's the culprit, as otherwise there's nothing wrong with our call of that function and the crash happens within the function. If it would crash despite us passing "textbook perfect" parameters, i can't see what we could do about it.
> >
> >
> > >PerceptualVBLSyncTest did show a bit of variation, though all the >bars were clustered in the top 10th of the screen. The second run >through only showed a single yellow bar other than those on the top >scanline. VBLSyncTest missed 2 out of 602 flips the first run >through and 0 the second, all seems to be working well for >synchronization. The system in question is my home development >system
> >
> > That's good. I retested a Windows-7 single display system here with the compositor forced on and timing and sync worked well. The compositor automatically went out of our way when opening a fullscreen onscreen window and therefore didn't interfere, just as Microsoft docu stated it should. Apparently the compositor bugs got fixed sometime by some OS updated between my last testing sometime 2010 with Windows-7 and now. Without these fixes, Windows-8 would be basically completely unuseable for timed visual stimulus presentation.
> >
> >
> > >and does have dual displays. The demos I've tried seem to work fine, >it only seems to be PsychHID that is causing issues. Let me know if >there is any other information you'd like or testing in Windows 8 >that you would like help with.
> >
> > Can you test all combinations to be sure: Onscreen window on display 1, on display 2 and one window spanning both of your displays while they run at the same resolution/display settings etc. Maybe even two separate onscreen windows on each of the displays? PerceptualVBLSyncTest and some tests like MultiWindowLockStepTest or ImagingStereoDemo(10) have test code for that.
> >
> > thanks,
> > -mario
> >
>