我开发了一个程序,可以使用装有Ubuntu 16.04,NVIDIA GPU和相关驱动程序的机器在psychopy
中播放视频。该程序在这台机器上可以正常运行。该程序相当大,但值得注意的是,它使用visual.Window(fullscr=True)
,默认情况下使用pyglet
后端,也使用visual.MovieStim3
。我现在正在尝试在具有Ubuntu 18.04.1 LTS和集成英特尔图形(HD Graphics 620(Kaby Lake GT2))的另一台计算机上运行该程序,并且遇到了问题。
下面的新机器驱动程序信息:
*-display
description: VGA compatible controller
product: Intel Corporation
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 02
width: 64 bits
clock: 33MHz
capabilities: pciexpress msi pm vga_controller bus_master cap_list rom
configuration: driver=i915 latency=0
resources: irq:128 memory:ee000000-eeffffff memory:d0000000-dfffffff ioport:f000(size=64) memory:c0000-dffff
这是我运行程序时的回溯:
Traceback (most recent call last):
File "/home/adf/mxj719/experiments/video_sorting/video_sorting.py", line 456, in <module>
start_sorting(av_original_csv, user, usr_csv, bonus, last_video)
File "/home/adf/mxj719/experiments/video_sorting/video_sorting.py", line 357, in start_sorting
win = visual.Window(fullscr=True)
File "/home/adf/mxj719/.conda/envs/conda_psychopy/lib/python2.7/site-packages/psychopy/visual/window.py", line 375, in __init__
self.backend = backends.getBackend(win=self, *args, **kwargs)
File "/home/adf/mxj719/.conda/envs/conda_psychopy/lib/python2.7/site-packages/psychopy/visual/backends/__init__.py", line 32, in getBackend
return Backend(win, *args, **kwargs)
File "/home/adf/mxj719/.conda/envs/conda_psychopy/lib/python2.7/site-packages/psychopy/visual/backends/pygletbackend.py", line 227, in __init__
self._origGammaRamp = self.getGammaRamp()
File "/home/adf/mxj719/.conda/envs/conda_psychopy/lib/python2.7/site-packages/psychopy/visual/backends/pygletbackend.py", line 326, in getGammaRamp
return getGammaRamp(self.screenID, self.xDisplay)
File "/home/adf/mxj719/.conda/envs/conda_psychopy/lib/python2.7/site-packages/psychopy/visual/backends/gamma.py", line 120, in getGammaRamp
rampSize = getGammaRampSize(screenID, xDisplay=xDisplay)
File "/home/adf/mxj719/.conda/envs/conda_psychopy/lib/python2.7/site-packages/psychopy/visual/backends/gamma.py", line 285, in getGammaRampSize
raise RuntimeError("Gamma ramp size is reported as 0.")
RuntimeError: Gamma ramp size is reported as 0.
Segmentation fault
这似乎是一个常见问题: https://discourse.psychopy.org/t/gamma-problem-in-v1-90-2/4549
但是每种解决方案都涉及将visual.Window
类型切换为pygame
(现在是psychopy
的旧版本)或glfw
(这不是简单的设置,而且非常全新且记录不充分)。我想要一个允许我继续使用pyglet
的解决方案。
给出的另一种解决方案涉及确保安装xf86-video-intel
以提供合理的LUT大小,我已经尝试过此方法,并且似乎该驱动程序已默认安装在Ubuntu 18上,所以这对我不起作用。 / p>
有人提到我可以注释掉源代码中的RuntimeError
,但是我找不到它们指出的那些代码行。 (/usr/lib/python2.7/dist-packages/psychopy/visual/backends/gamma.py)。
也请注意,我已经尝试使用anaconda进行python2.7和python3.5 psychopy
的安装说明,如下所示:
http://psychopy.org/installation.html
答案 0 :(得分:2)
给出的另一种解决方案涉及确保已安装xf86-video-intel以提供合理的LUT大小,我已经尝试过这样做,并且似乎该驱动程序已默认安装在Ubuntu 18上,所以这对我不起作用。 / p>
您可能需要set the driver in a configuration file。为此,请编辑您的/etc/X11/xorg.conf.d/20-intel.conf
文件(如果不存在则创建一个文件)以包含以下几行:
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
EndSection