0

I've successfully installed the latest version of psychtoolbox3 through the neurodebian repositories (package name: octave-psychtoolbox-3).

Calling AssertOpenGL seems to work fine:

>> AssertOpenGL
PTB-INFO: Display ':0' : X-Screen 0 : Output 0 [default]: Primary output : Connected : CRTC 0 [XID 642]
PTB-INFO: Display ':0' : X-Screen 0 : Assigning primary output as 0 with RandR-CRTC 0 and GPU-CRTC 0.

But when I issue a call to Screen, I get a rather cryptic error.

>> Screen('Resolution', iscreen, 1024, 768, refreshrate);
INTERNAL PSYCHTOOLBOX ERROR
    error:                PsychError_internal
    general description:  Unspecified error, probably a Psychtoolbox bug
    specific description: Attempt to set invalid video settings
    module name:          Screen
    subfunction call:     Resolution
    file name:            Linux/Screen/PsychScreenGlue.c
    function name:        PsychSetScreenSettings
    line number:          1776
INTERNAL PSYCHTOOLBOX ERROR
    error:                PsychError_internal
    general description:  Unspecified error, probably a Psychtoolbox bug
    specific description: Attempt to restore now invalid video settings
    module name:          Screen
    subfunction call:     Resolution
    file name:            Linux/Screen/PsychScreenGlue.c
    function name:        PsychRestoreScreenSettings
    line number:          1846
PTB-ERROR: Error during error handling! ScreenCloseAllWindows() called recursively! Trying to break out of this vicious cycle...
PTB-ERROR: Maybe it is a good idea to exit and restart Matlab/Octave.
Error using Screen
See error message printed above.

The variable iscreen in the call to Screen is set by the line iscreen = max(Screen('Screens')); and is equal to 0.

Any idea what could be going wrong, here? I know for a fact that this script works under MacOSX, but for some reason it crashes on this machine (Ubuntu 12.04 / Matlab R2012a).

Thanks in advance!

EDIT: Some have suggested that this could be an issue with my display not supporting the refreshrate I'm passing to the Screen call. Unfortunately, when I substitute the refreshrate variable with my display's current refresh rate, I still get the same error. Any other ideas?

Louis Thibault
  • 20,240
  • 25
  • 83
  • 152

1 Answers1

1

You're requesting an unsupported refresh rate.

Try Screen('Resolution', iscreen, 1024, 768, 60); and you'll see what I mean.

ResolutionTest.m will report supported resolutions. Not sure where you'll get rates from.

Matt
  • 46
  • 1
  • It's funny, but one of my colleagues suggested the same thing. Unfortunately, when I change the `refreshrate` variable to reflect the current refresh rate of my display (60 Hz), I get the exact same error. – Louis Thibault Oct 03 '12 at 13:49