为什么这次屏幕调用失败,我该怎么做才能修复它?

时间:2012-10-02 11:35:58

标签: matlab psychtoolbox

我已经通过neurodebian存储库(包名:octave-psychtoolbox-3)成功安装了最新版本的psychtoolbox3。

调用AssertOpenGL似乎工作正常:

>> 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.

但是当我发出对Screen的调用时,我得到了一个相当神秘的错误。

>> 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.

iscreen调用中的变量Screen由行iscreen = max(Screen('Screens'));设置,等于0

知道会出现什么问题吗?我知道这个脚本在MacOSX下运行,但由于某种原因它在这台机器上崩溃了(Ubuntu 12.04 / Matlab R2012a)。

提前致谢!

编辑:有些人认为这可能是我的显示器不支持我传递给Screen调用的刷新率的问题。不幸的是,当我用我的显示器的当前刷新率替换refreshrate变量时,我仍然得到相同的错误。还有其他想法吗?

1 个答案:

答案 0 :(得分:1)

您正在请求不受支持的刷新率。

尝试屏幕('Resolution',iscreen,1024,768,60);你会明白我的意思。

ResolutionTest.m将报告支持的分辨率。不确定从哪里获得价格。