opengl - 导出展示应用

标签 opengl ssh xserver paraview

对于我的工作,我们正在寻找一个允许我们进行导出显示的应用程序。规范为:

  • 客户端使用 Windows/Linux 系统
  • 服务器是一个 linux Red-Hat 6 集群
  • 服务器端有基于 OpenGL 的应用程序。它们必须在客户端上运行得很快,至少尽可能快
  • GPU在服务器端。用户在集群上打开一个可视化 session ,该 session 使用 GPU 分配特定节点。

  • 目前,我们在服务器上使用 TurboVNC(带有一个名为“vncviewer”并由 ssh 隧道保护的 vnc 客户端)和 virtualGL 来使用“vglrun name_application”命令启动 OpenGL 应用程序(类型 paraview)。

    有人可以给我一些替代解决方案的建议吗?

    我看到了 XDCMP 解决方案,但它不是安全的。
    我们不能使用 ssh X 转发,因为它的工具很慢。

    顺便问一下,客户端分配的资源和服务器分配的资源之间的导出显示比例是多少?

    TurboVNC 似乎在服务器上分配了更多的资源:这是否意味着客户端不管理图形处理而只从服务器接收原始数据,这些数据显示在客户端?

    那么,当我执行“ssh -X”时不会出现这种情况? (这应该是在本地处理 OpenGL 处理的客户端)

    任何澄清都会很棒,

    谢谢

    最佳答案

    您愿意等待多长时间才能将其投入生产?

    现在 Linux 图形堆栈是围绕 Xorg 构建的。 Xorg 有一个不方便的缺点,即您不能运行使用 GPU 的纯屏幕外 X 服务器。如果您只能与一个使用 GPU 的用户和持有 VT 的 GPU 一起生活,那么您可能需要查看 Xpra您从使用 GPU 而不是 dummy 的 X 服务器配置开始。司机。

    如果您愿意再等两年(希望如此),所有驱动程序都将完全支持 KMS 和 DRM 内核接口(interface);尽管我不喜欢 Wayland 的某些方面,但它也是一个巨大的游戏规则改变者,它给 NVidia 带来了很大的同行压力,以最终绕过并使用“标准”API。现在您可以使用 libgbm使用支持它且不运行显示服务器的 GPU 创建纯粹的屏幕外 OpenGL 渲染上下文;即在 Mesa3D 树中具有开源驱动程序的 GPU(英特尔和 AMD,但目前只有 OpenGL-3,没有 OpenCL)。再过 2 年,API 和工具就会稳定下来,您可以在生产中方便地使用它。

    关于opengl - 导出展示应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23455503/

    相关文章:

    java - C++ OpenGL - 获取对象的世界坐标(碰撞检测需要)

    c++ - 如何在opengl中停止拉伸(stretch)

    c++ - 获取旋转顶点的当前顶点位置

    c++ - 在不同斜坡上平移 openGL 中的对象

    bash - ssh 找不到/usr/local/bin 路径

    即使不需要 xserver,Java 应用程序也会抛出 `Gtk-WARNING **: cannot open display:`

    bash - 通过 Plink 在 Windows 命令行上运行 shell 脚本(带参数)

    ssh - travis-ci的scp传输

    linux - 在没有 X 服务器的 Centos 5.7 上运行 CutyCapt 时出错

    hadoop - 宏:编辑记录的MobaXterm宏