PsychoPy без головы на Windows 10 - PullRequest
2 голосов
/ 08 мая 2020

Проблема: Я пытаюсь запустить PsychoPy без головы на Windows 10, но изо всех сил пытаюсь это сделать.

Ошибка: В настоящее время для моего типа окна установлено значение «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 работать без головы, я мог бы попробовать это.


Edit : Я создал репозиторий github с измененным версия психопии, чтобы вам не приходилось вносить изменения для запуска психопии без головы: https://github.com/mfiless/headless-psychopy.

1 Ответ

1 голос
/ 10 мая 2020

Хорошо, я думаю, что вы ищете ключевое слово «закадровый рендеринг».

После небольшого количества копаний я думаю, что лучший подход - действительно изменить PsychoPy: во-первых, вам нужно будет использовать окно GLFW вместо pygame, и вам нужно изменить visual / backends / glfwbackend.py :

В строке 302 попробуйте вставить glfw.window_hint(glfw.VISIBLE, 0) и посмотрите, работает ли это для вашего варианта использования .

Оставшиеся предыдущие примеры для PyOpenGL: https://github.com/AntonOvsyannikov/PyOpenGL_Examples_SaveToFile

...