X 转发具有 OpenGL 扩展的 CUDA SDK 应用程序
我正在尝试从 CUDA SDK X 转发演示应用程序,但收到此错误:
Xlib: extension "NV-GLX" missing on display "localhost:10.0".
ERROR: Support for necessary OpenGL extensions missing.[oceanFFT] test results...
其他 OpenGL 应用程序(如 glxgears)工作正常。
是否可以使用此 OpenGL 扩展来 X 转发应用程序?如果是的话,我该怎么做?
I'm trying to X forward a demo application from the CUDA SDK, but I get this error:
Xlib: extension "NV-GLX" missing on display "localhost:10.0".
ERROR: Support for necessary OpenGL extensions missing.[oceanFFT] test results...
Other OpenGL applications like glxgears works fine.
Is it possible to X forward applications with this OpenGL extensions? If it is, how can I do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题是,并非所有扩展 GLX 操作码都已定义(由于某些原因我无法理解)。所以你运气不好,尽管我知道 NVidia 有一些私有的 GLX 操作码,他们用它们来实现一些 OpenGL 扩展的转发,但尚未完全指定。
我实际上正在考虑实现某种私有的“GLX3”X.org 扩展模块和随附的 libGL3.so,用于纯粹的间接渲染。然而,由于 OpenGL-3 非常注重使用缓冲区对象,即保持较低的带宽利用率,因此现在纯粹的间接操作并没有太大的危害。带有客户端顶点数组的旧版 OpenGL-2 非常消耗带宽。
The problem is, that not for all extensions GLX opcodes have been defined (for some reasons I cannot fathom). So you're out of luck, although I know of NVidia to have some private GLX opcodes they use to implement forwarding for some OpenGL extensions, where it hasn't been fully specified.
I'm actually thinking of implementing some kind of private "GLX3" X.org extension module and accompanying libGL3.so, for purely indirect rendering then. However since OpenGL-3 has a strong focus on using Buffer Objects, i.e. keeping the bandwidth utilization low, there's not much harm in purely indirect operation these days. Old OpenGL-2 with client side vertex arrays, that was a bandwidth hog.