2011-09-15 51 views
5

我想通過連接到遠程linux服務器來運行linux中的opengl程序。 我使用ssh連接並提供-X選項,以使用X窗口系統。在Linux中執行OpenGL程序

我能夠連接到服務器並編譯它。我成功創建了可執行文件。 現在,當我運行可執行文件時,出現錯誤。它說

freeglut (./lineTest): ERROR: Internal error <FBConfig with necessary capabilities not found> in function fgOpenWindow 
X Error of failed request: BadWindow (invalid Window parameter) 
    Major opcode of failed request: 4 (X_DestroyWindow) 
    Resource id in failed request: 0x0 
    Serial number of failed request: 26 
    Current serial number in output stream: 29 

哪裏lineTest是可執行文件的名稱。

當我編譯代碼時,我將它鏈接到glut和GLU庫。

由於服務器是遠程服務器,所以我無法對驅動程序進行任何更改。

+0

請閱讀'ssh -Y'選項。請注意,在'sshd'配置中需要啓用'-X'和'-Y'。 –

+0

取決於你想要做什麼http://www.virtualgl.org/可能會有所幫助。 – masebase

回答

5

錯誤消息的第一行是一個指示器:

freeglut (./lineTest): ERROR: Internal error <FBConfig with necessary capabilities not found> in function fgOpenWindow 

...它意味着,X11服務器的客戶端被連接到不支持設置的需要的通過的OpenGL幀緩衝器格式。

第一步是使用glxinfo來檢查實際支持的內容。請像運行程序一樣運行glxinfo,並在此輸出它的輸出(很可能沒有OpenGL支持)。在本地執行glxinfo,因爲它是你的本地機器,它將完成所有的OpenGL工作。