OpenGL over SSH(GLX)

时间:2016-10-26 10:39:41

标签: opengl ssh glx

我使用OpenGL 4.4在Windows 7计算机上运行X服务器。从那里我ssh -Y到我启动OpenGL应用程序的远程机器。 (重要的是,网络连接非常快,我已关闭压缩并使用arcfour,blowfish-cbc密码来提高速度)

glxgears运行,但不是很顺利。据报道它正在做6000+ FPS。

但是,matlab无法使用硬件OpenGL渲染。我阅读了文档,他们提到它需要OpenGL 2.1版。当我在glxinfo终端中运行ssh时,它会告诉我:

  

GLX版本:1.4

     

OpenGL版本字符串:1.4(4.4.0 - Build 10.18.15.4279)

我不知道GLX的技术细节,但这是否意味着通过SSH支持的OpenGL版本限制为1.4?据我所知,与OpenGL的进展相比,最新版本的GLX已经很老了。

1 个答案:

答案 0 :(得分:3)

  

我在使用OpenGL 4.4的Windows 7计算机上运行X服务器

第一个问题始于此。 Windows上的X11服务器只是在那里运行的另一个程序,最终将把X11命令转换为Win32 GDI调用。 X11本身并不知道" OpenGL,这就是GLX扩展的原因。 GLX是一个有趣的野兽,用于Windows的X11服务器都只实现了一个非常基本的OpenGL命令基线来支持基本要素。

但那只是你问题的一半......

  

从那里我ssh -Y到我启动OpenGL应用程序的远程机器。

执行此类操作始终调用间接呈现,其中所有命令都必须作为GLX操作码命令流发送。不幸的是(对你而言)GLX操作码只能在OpenGL-2.1之前指定,但只有OpenGL-1.4才支持完全GLX支持。 OpenGL-1.5引入了顶点缓冲区对象,这为间接渲染上下文增加了很多复杂性,因此GLX可能会实现选择不支持间接渲染。

对于Linux,至少专有的NVidia驱动程序和客户端库具有完全间接的OpenGL-2.1支持。但是你在Windows上运行的X11服务器,可能是客户端库。