这应该是直截了当的,但由于某种原因,我无法使其发挥作用。 我聘请了一台带有Nvidea Tesla GPU的Softlayer裸机服务器。
我正在执行一个需要OpenGL的程序(openScad)> 2.0以便正确导出PNG文件。 当我调用openScad并导出模型时,我得到一个0kb的png文件作为输出,这是一个明显的症状,即OpenGL> 2.0支持不存在。
为了确保我正在运行openGL> 2.0我通过RD连接到我的服务器并运行GlView
。令我惊讶的是,我看到服务器只支持openGL 1.1。
经过一番研究后,我发现对于标准的RD会话,没有使用GPU,所以我只看到了openGL 1.1。 问题是,当我执行openscad remotley时,似乎也没有使用GPU。
当我远程调用openscad时,如何才能成功地使服务器的GPU功能正常工作?
PS:我用softlayer支持检查了他们没有承担任何责任答案 0 :(得分:3)
大多数(目前所有)使用GPU的OpenGL实现都假设使用该GPU的某种显示系统;在Windows的情况下,将是GDI。然而,在无头服务器上,Windows通常不会在GPU上启动GDI,而是使用一些帧缓冲。
NVidia Tesla GPU作为仅计算设备销售,因此它们的驱动程序不支持任何图形功能(请注意,这是在软件中实现的营销限制,因为硅完全能够执行图形处理)。或者换句话说:如果您可以使用CUDA或OpenCL实现图形操作,则可以使用它来生成图片。否则(即对于OpenGL或Direct3D)它没用。
请注意,NVidia正在推广其用于远程/云渲染的“GRID”产品。
答案 1 :(得分:1)
我回答是因为我过去遇到过类似的问题;还试图在Windows服务器上运行需要openGL 4的应用程序。
Windows远程桌面确实没有触发opengl。但是,如果您使用tigervnc然后启动openScad应用程序,它可能会识别您的opengl驱动程序。至少这个伎俩对我有用。 (当在程序中打开openGL上下文时,它会扫描监视器/ RD附加的压力)。 希望它有所帮助。