2014-10-10 285 views
2

我想運行一個不需要窗口的OpenGL程序,該程序創建一個文件。 這是在debian xfce上完成的,到目前爲止都非常好。然後我嘗試從另一臺計算機上使用ssh運行程序,如果xfce在監視器上,我可以使用DISPLAY =:0編譯和運行該程序(因此,過度打開的時間就像毫秒並關閉) 。在服務器上運行OpenGL程序,無需通過ssh窗口

問題是當我重新啓動並斷開顯示器時,xfce不會啓動GUI,並且glut不會啓動。

VirtualGL不是我想要的,隱藏的窗口不是我想要的,我想從沒有X GUI的終端運行OpenGL程序。或者可以強制xfce啓動GUI並使其在GUI中登錄,這樣我就可以啓動過量了。

一個小例子會很好。

回答

1

使用當前的驅動程序模型,您希望以可靠的方式進行操作。到目前爲止,Linux所有的OpenGL實現絕對需要某種窗口(並且是一個不可見的,隱藏的1×1像素小窗口)來創建OpenGL上下文。

請注意,在不久的將來,隨着Wayland和更大的基於EGL的引入,OpenGL基礎架構即將發生變化。但我們還沒有。

另外,如果你可以忍受一個緩慢的軟件實現,Mesa有一個名爲「OSMesa」的夥伴庫,它給你一個渲染到你的程序提供的內存區域的OpenGL上下文。但OSMesa不會使用任何形式的GPU加速。

+1

那麼有沒有辦法啓動沒有監視器的窗口?如果我登錄到Linux,然後刪除顯示器顯示器電纜,並運行過剩,它運行良好,但如果我重新啓動它不會,我需要一種方法來強制Linux運行在x沒有監視器連接,然後一種方法來使它登錄,所以我可以從ssh運行freeglut .. 感謝您的回覆。 – 2014-10-10 08:36:29

+2

@ user3797639:即使沒有連接顯示器,您也應始終能夠啓動X服務器。如果X服務器拒絕啓動,則可以在xorg.conf中強制添加顯示配置。或者,您可以通過使用150歐姆電阻將綠色模擬輸出引腳拉至信號地,讓圖形卡認爲顯示器已連接。 – datenwolf 2014-10-10 08:54:20

相關問題