Windows 10上的PsychoPy headless

问题描述 投票:3回答:1

问题:我试图在Windows 10上无头运行PsychoPy,但是却很难做到。

错误:当前,我的窗口类型设置为“ pygame”,因此我尝试在代码顶部运行os.environ["SDL_VIDEODRIVER"] = "dummy",但得到:pygame.error: OpenGL not available

代码:这是我指定窗口的地方,是否出现错误:

os.environ["SDL_VIDEODRIVER"] = "dummy"

# This line gives the error
win = visual.Window(
    size=[1440, 900], fullscr=False, screen=0,
    winType='pygame', allowGUI=False, allowStencil=False,
    monitor='testMonitor', color=[-1,-1,-1], colorSpace='rgb',
    blendMode='avg', useFBO=True)

额外信息:我愿意使用其他窗口类型(例如Pyglet),如果它可以使无头运行变得更容易,但是现在我有点卡住了。我曾考虑过尝试让OpenGL代替Pygame无头运行,但是我不知道该怎么做。如果有人可以解释如何让OpenGL / PyOpenGL无头运行,我可以尝试一下。

python opengl pygame headless psychopy
1个回答
0
投票

[确定,我认为您要查找的关键字是“屏幕外渲染”。

经过更多的挖掘,我认为最好的方法是确实修改PsychoPy:首先,您必须使用GLFW窗口而不是pygame,并且需要修改visual/backends/glfwbackend.py

在第302行,尝试插入glfw.window_hint(glfw.VISIBLE, 0),看看是否适合您的用例。

PyOpenGL的先前示例:https://github.com/AntonOvsyannikov/PyOpenGL_Examples_SaveToFile

© www.soinside.com 2019 - 2024. All rights reserved.