我的用户正在运行一个命令 - 它是一个定制的 python,使用 matplotlib。
它产生错误:
libGL: screen 0 does not appear to be DRI2 capable
libGL: OpenDriver: trying /usr/lib64/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib64/dri/swrast_dri.so
libGL: Can't open configuration file /home/user/.drirc: No such file or directory.
libGL: Can't open configuration file /home/user/.drirc: No such file or directory.
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast No XVisualInfo for format QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(SingleBuffer), swapInterval 1, colorSpace QSurfaceFormat::ColorSpace(DefaultColorSpace), profile QSurfaceFormat::OpenGLContextProfile(NoProfile))
Falling back to using screens root_visual.
我正在使用的命令是:
ssh -X remote_server 'LIBGL_DEBUG=verbose /path/to/install/stax_python -- -c "import matplotlib.pyplot as plt;plt.figure(); plt.close(); quit()"'
但为了简单起见,“ssh -X Remotehost glxinfo”给出了相同的错误。
如果没有详细的 GL,您会得到错误的第二部分,这就是我尝试对其进行故障排除的原因:
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast No XVisualInfo for format QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(SingleBuffer), swapInterval 1, colorSpace QSurfaceFormat::ColorSpace(DefaultColorSpace), profile QSurfaceFormat::OpenGLContextProfile(NoProfile))
Falling back to using screens root_visual.
这是一个新问题,可能是在最近升级到 Centos 7.6 之后出现的。
客户端是一个相当标准的 centos 桌面,安装了 Nvidia P400 和最新的驱动程序。
但我对排除故障有点不知所措 - 我已经尝试过:
- (重新)在客户端和服务器上安装图形驱动程序(nvidia 和 mesa)
- 使用不同的主机(多个主机表现出相同的问题,错误略有不同)
- 我尝试干扰我的 xorg.conf,尝试在我的 nvidia 卡上启用间接 GLX。 (我不是 100% 确定这有效,但我不确定它会如何说明)
我想做的是让错误消失,并且最好在本地客户端中使用更好的图形硬件。
有人能告诉我到底发生了什么吗?X windows 兔子洞似乎已经深入很深了。