在 Android x86 和 VirtualBox 上運行 OpenGL 應用程式?

在 Android x86 和 VirtualBox 上運行 OpenGL 應用程式?

我已經在 VirtualBox 上成功安裝了 Android x86 4.0,並且我正在嘗試讓 OpenGL 應用程式正常運作。我在 VirtualBox 設定中啟用了“3D 加速”,但是當我打開應用程式時,它立即崩潰並記錄日誌

java.lang.IllegalArgumentException: No configs match configSpec

我嘗試了0xbenchmark 3D測試(0xbenchmark是Android-x86自帶的測試應用程式)。它工作得很好。編輯:我不知道為什麼會這樣,因為似乎沒有其他 OpenGL 應用程式可以工作。也許Android-x86其實並不支援GLES 2.0

我該怎麼做才能使所有 OpenGL 應用程式在 VirtualBox 上運行?

編輯:我之前忽略了包含堆疊跟踪,所以這裡是(來自 logcat):

E/AndroidRuntime( 1681): FATAL EXCEPTION: GLThread 146
E/AndroidRuntime( 1681): java.lang.IllegalArgumentException: No configs match configSpec
E/AndroidRuntime( 1681):        at android.opengl.GLSurfaceView$BaseConfigChooser.chooseConfig(GLSurfaceView.java:863)
E/AndroidRuntime( 1681):        at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:1024)
E/AndroidRuntime( 1681):        at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1401)
E/AndroidRuntime( 1681):        at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)

答案1

經過一番廣泛的搜尋和測試,我找到了解決方案。問題是 VirtualBox 的虛擬圖形驅動程式實際上並不完全支援 OpenGL。我需要的是能夠將我電腦自帶的GPU傳遞到Android的虛擬環境中的東西。我找到了可以做到這一點的東西,安卓虛擬機。它的 Android 版本具有自訂編寫的驅動程序,可以在 VirtualBox 中無縫工作,並且它帶有自己的播放器,可以使用主機的實體 GPU 模擬 GLES。使用 AndroVM 及其播放器,我能夠成功運行所有 OpenGL 應用程式。

相關內容