2015-03-13 699 views
0

這應該很簡單,但由於某些原因,我無法使其工作。 我僱傭了Nvidea Tesla GPU附帶的Softlayer裸機服務器。在Windows Server 2012 R2上運行OpenGL

我是遠程執行程序(openScad),需要OpenGL> 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支持,他們不採取任何責任

回答

3

大部分(目前全部)使用GPU假設有某種使用GPU的顯示系統OpenGL實現;在Windows的情況下,這將是GDI。然而,在無頭服務器上,Windows通常不會啓動GPU上的GDI,但會使用一些幀緩衝區。 NVidia Tesla GPU作爲計算專用設備進行銷售,因此它們的驅動程序不支持任何圖形功能(請注意,這是一種在軟件中實施的營銷限制,因爲硅完全有能力做圖形)。換句話說:如果您可以使用CUDA或OpenCL來實現圖形操作,那麼您可以使用它來生成圖片。否則(即對於OpenGL或Direct3D)它是無用的。

請注意,NVidia正在推銷其用於遠程/雲渲染的「GRID」產品。

+0

非常感謝您的幫助datenwolf。 你能想到任何解決方法來「模擬」連接到服務器的GDI嗎? – cyberjoac 2015-03-24 09:15:31

+0

@cyberjoac:你可以做的事情不多,我很抱歉地告訴你。 NVidia保持對GPU內部的緊密包裝。除了逆向工程(Nouveau驅動程序,這只是基本的)之外,您被鎖定使用NVidia的軟件。而在Tesla GPU的情況下,驅動程序決定「沒有OpenGL給你」,就是這樣。現在你可以做的不是使用OpenGL,而是使用基於CUDA或OpenCL的渲染器(例如Luxrender)。儘管如此,您可能必須爲OpenScad實施新的渲染後端。 – datenwolf 2015-03-24 20:10:21

1

我在回覆,因爲我過去遇到類似的問題;也試圖在Windows服務器上運行需要openGL 4的應用程序。

windows遠程桌面確實不會觸發opengl。但是,如果您使用tigervnc,然後啓動您的openScad應用程序,它可能會識別您的opengl驅動程序。至少這個訣竅是爲我做的。 (當它打開一個程序中的openGL上下文時,它掃描的監視器/ RD的連接我按下)。

希望它有幫助。

相關問題