【问题标题】:run OpenGL program on server without window over ssh在没有 ssh 窗口的服务器上运行 OpenGL 程序
【发布时间】:2017-06-20 17:39:44
【问题描述】:

我正在尝试运行一个不需要窗口的 OpenGL 程序,该程序会创建一个文件。 这是在 debian xfce 上完成的,到目前为止一切顺利。

然后我尝试使用 ssh 从另一台计算机运行程序,如果 xfce 使用监视器打开,我可以使用 DISPLAY=:0 编译和运行程序(因此 glut 会打开一毫秒然后关闭)。

问题是当我重新启动并断开监视器时,xfce 不会启动 GUI,并且 glut 也不会启动。

VirtualGL 不是我想要的,隐藏窗口不是我想要的,我想在没有 X GUI 的情况下从终端运行 OpenGL 程序。或者能够强制 xfce 启动 GUI 并使其登录 GUI,这样我就可以启动 glut。

举个小例子就好了。

【问题讨论】:

    标签: linux opengl ssh glut windowless


    【解决方案1】:

    对于当前的驱动程序模型,您想要以可靠的方式完成是不可能的。到目前为止,Linux 上存在的所有 OpenGL 实现都绝对需要某种类型的窗口(可以是不可见的、隐藏的 1×1 像素小窗口)来创建 OpenGL 上下文。

    请注意,在不久的将来,随着 Wayland 和更大的基于 EGL 的引入,OpenGL 基础架构即将发生变化。但我们还没有。

    此外,如果您可以忍受缓慢的软件实现,Mesa 有一个名为“OSMesa”的 Sidekick 库,它为您提供渲染到程序提供的内存区域的 OpenGL 上下文。但 OSMesa 不会使用任何类型的 GPU 加速。

    【讨论】:

    • 那么有没有办法在没有显示器的情况下启动窗口?如果我登录到 linux,然后移除显示器显示电缆并运行 glut,它运行良好,但如果我重新启动它不会,我需要一种方法来强制 linux 在没有连接显示器的情况下在 x 中运行,然后是一种方法来使它登录,这样我就可以从 ssh 运行 freeglut.. 感谢您的回复。
    • @user3797639:即使没有连接显示器,您也应该始终能够启动 X 服务器。如果X server 拒绝启动,可以在xorg.conf 中强行添加显示配置。或者,您可以通过使用 150 欧姆电阻将绿色模拟输出引脚拉至信号地来欺骗显卡,使其认为显示器已连接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多