Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
图形驱动程序不支持OpenGL 2.1版,可能需要更新_Opengl_Gpu_Ubuntu 16.04_Remote Server_Mesa - Fatal编程技术网

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

图形驱动程序不支持OpenGL 2.1版,可能需要更新,opengl,gpu,ubuntu-16.04,remote-server,mesa,Opengl,Gpu,Ubuntu 16.04,Remote Server,Mesa,我正在使用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-

我正在使用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,但失败了。如果有任何方法来处理这种问题,那将是非常有帮助的

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

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

如果远程系统上有一个GPU,那么现在最好的选择是使用,配置为在GPU上启动其backing X server,而不是使用虚拟帧缓冲区设备

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

startx /usr/bin/Xpra start :100 --use-display --daemon=no -- :100
如果不想修复显示器,请创建一个可执行文件
/usr/local/bin/xpra\u display

#!/bin/sh
exec xpra start $DISPLAY --use-display --daemon=no
然后您可以使用它启动

startx /usr/local/bin/xpra_display

没有进一步的争论

相关吗?使用
LIBGL\u ALWAYS\u SOFTWARE=true
env var可能会有所帮助,Mesa附带了一个名为
llvmpipe
的OpenGL 2.1软件渲染实现。