我试图运行一个程序,该程序使用 OpenGL 通过 VNC 在视口中渲染模型失败。
我收到的错误消息是 - Xlib:显示“:1.0”上缺少扩展“GLX”。
我的理解是,VNC 可以配置为远程渲染所有图形,并将压缩的屏幕抓取从显示缓冲区发送到本地客户端。这似乎否定了本地客户端对 GLX 扩展的需求。VNC 可以这样配置吗,你能简要描述一下如何配置吗?
远程主机:
RHEL 5 上的 vncserver
本地客户:
Windows XP 上的 UltraVNC
我的研究实验室最近添加了一台配备强大 NVIDIA 显卡的服务器,我们希望用它来进行科学计算。由于它不是工作站,我们必须通过 ssh 连接远程运行我们的作业。我们的大多数应用程序都需要对屏幕外缓冲区进行 opengl 渲染,然后在 CUDA 中对结果进行图像分析。
我的初步调查表明 X11 转发是一个坏主意,因为 opengl 渲染将发生在客户端机器上(或者更确切地说是 X11 服务器 - 多么令人困惑的命名约定!)并且在发送我们的大量纹理时会遇到网络瓶颈。我们永远不需要显示输出,所以似乎不需要 X11 转发,但是 Opengl 需要将 $DISPLAY 设置为有效的值,否则我们的应用程序将无法运行。我确定存在执行此操作的渲染农场,但它是如何完成的?我认为这可能是一个简单的 X11 配置问题,但我对它太陌生,不知道从哪里开始。
我们正在运行 Ubuntu 服务器 10.04,没有安装 gdm、gnome 等。但是,安装了 xserver-xorg 包。
是否有任何解决方案可以让您远程运行 GPU 加速的 OpenGL 应用程序,假设:
特别是,这是否可以使用 Microsoft 远程桌面客户端通过 RDP?
据我所知,Microsoft 的 RemoteFX 技术仅对 DirectX 进行 3D 加速,而不会对 OpenGL 进行 3D 加速。VirtualGL+VNC 适用于 Linux,但据我所知没有 Windows 端口。