OpenGL 2.1版不受图形驱动程序支持,可能需要更新

我正在使用mayavi在具有GPU的远程服务器上执行一些可视化任务。当我的代码运行mlab.show()时,发生以下错误

qt.glx: qglx_findConfig: Failed to finding matching FBConfig (8 8 8 0)
...
qt.glx: qglx_findConfig: Failed to finding matching FBConfig (1 1 1 0)

ERROR: In /work/standalone-x64-build/VTK-source/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx,line 797
vtkXOpenGLRenderWindow (0x559c336fd4e0): GL version 2.1 with the gpu_shader4 extension is not supported by your graphics driver but is required for the new OpenGL rendering backend. Please update your OpenGL driver. If you are using Mesa please make sure you have version 10.6.5 or later and make sure your driver in Mesa supports OpenGL 3.2.

我正在使用Ubuntu16.04,这是有关我的远程服务器的一些信息。

(base) zz@SYS-4028GR-TR:~$ glxinfo | grep OpenGL
OpenGL vendor string: Mesa project: www.mesa3d.org
OpenGL renderer string: Mesa GLX Indirect
OpenGL version string: 1.3 Mesa 4.0.4
OpenGL extensions:

(base) zz@SYS-4028GR-TR:~$ glxinfo | grep render
direct rendering: No (If you want to find out why,try setting LIBGL_DEBUG=verbose)
    GLX_MESA_multithread_makecurrent,GLX_MESA_query_renderer,OpenGL renderer string: Mesa GLX Indirect

有人对此情况有想法吗?我试图找到一些方法在Ubuntu中更新Mesa但失败了。如果有任何方法可以解决此类问题,那将非常有帮助。

tbdys 回答:OpenGL 2.1版不受图形驱动程序支持,可能需要更新

  

我正在使用mayavi在具有GPU的 远程服务器 上执行一些可视化任务。

“远程服务器”,这就是您的问题。如果通过SSH转发X11连接登录,则所有OpenGL命令都将被序列化为GLX命令,并通过X11连接通过网络通过隧道传输到计算机,以在本地图形系统上执行。

如果远程系统上有GPU,则目前最好的选择是使用Xpra,进行配置,使其在GPU上而不是虚拟帧缓冲设备上启动其后备X服务器。

这归结为安装常规Xorg服务器。修改/etc/X11/Xwrapper以允许普通用户启动。然后,您可以使用命令行将Xpra作为第一个客户端来启动X服务器

startx /usr/bin/Xpra start :100 --use-display --daemon=no -- :100

如果您不想修复显示,则创建一个可执行文件/usr/local/bin/xpra_display

#!/bin/sh
exec xpra start $DISPLAY --use-display --daemon=no

然后可以使用它启动

startx /usr/local/bin/xpra_display

没有其他争论

本文链接:https://www.f2er.com/3154108.html

大家都在问