我已经通过 neurodebian 存储库(包名:)成功安装了最新版本的 psychtoolbox3 octave-psychtoolbox-3
。
调用 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
用显示器的当前刷新率替换变量时,我仍然得到同样的错误。还有其他想法吗?