2014-09-28 83 views
0

Boot2docker是一個在VirtualBox虛擬機中運行的輕量級Linux發行版。所有的基本功能工作正常,我可以在MacOS X中使用碼頭容器。Boot2docker虛擬機圖形

但是我的應用程序需要OpenGL渲染,我無法使它工作。 如何控制在VirtualBox VM中使用哪種圖形加速?我想徹底刪除任何3D加速功能,因爲Mesa軟件驅動程序應該完美工作(在VMware VM上測試)。

有沒有一種方法來控制boot2docker虛擬機的圖形設置,就像我爲普通的VirtualBox虛擬機一樣?

回答

1

我會說最直接的方法(我將它作爲boo2docker開發者的一個功能/ bug請求)將安裝一個純OpenScene Mesa llvm軟管構建。這應該給你OSMesa。然而,對於經典的OpenGL環境,您可能需要某種X服務器(直到EGL /離屏Wayland工作令人滿意)。只要使用幀緩衝區對象,帶有dummy設備的X.org服務器應該可以正常工作。

+0

嗨,謝謝你的回答。現在我更好地理解了這個問題,我可能會問一個稍微不同的問題。我真正需要的是獨立於主機系統圖形硬件的Docker容器。它應該在物理PC和虛擬機上運行,​​所以我只想使用軟件仿真。有沒有辦法創建這樣的容器配置,以確保我總是隻使用軟件OpenGL渲染? – 2014-09-28 19:48:12

+0

另外,你如何運行「虛擬」X服務器,它是什麼意思? – 2014-09-28 19:49:22

+1

@AlexPetrenko:通過全新的Mesa安裝,只要您嘗試創建OpenGL上下文而沒有支持的GPU,則您將進入「softpipe」後備實現。目前,大多數以某種方式使用OpenGL的Linux庫都是以一種方式構建的,即它們需要運行中的X1服務器才能工作(X服務器是Linux中使用的傳統圖形系統; Wayland是繼任者infrastrucure)。 X服務器配置了*一些*圖形設備。對於沒有物理圖形輸出的系統,這是一個* dummy *設備。 – datenwolf 2014-09-28 20:03:36

0

事實證明,boot2docker只是VBoxManage命令的一個包裝。 如果你真的想要,你可以使用VBoxManage命令來控制由boot2docker創建的虛擬機 - 你可以改變3D圖形加速,VMem等。