Android 模擬器 GPU ON

Android 模擬器 3D 加速架構

運行 Android 模擬器的有個 GPU 開關,當打開 GPU 開關 3D 加速功能將轉給 HOST的 GPU, 否則就是用 Soft 3D(CPU 執行 GPU 運行), 因此勾選此項可以讓3D程序運行流暢。

其設計如下:

可以參見官方 sdk/emulator/opengl/DESIGNvcD4KPHA+JiMyMDU0MDu1w9ei0uK1xMrHIEFuZHJvaWQg1qez1rXEIEdMRVMgus0gT1BFTiBHTCC7udPQx/ix8KOsy/nS1NPQIFRSQU5TTEFUT1IgxKO/6b340NDXqruvoaM8L3A+CjxwPjxicj4KPC9wPgo8aDE+VWJ1bnUgTGludXggz8LD5sq508POysziyPS4yTwvaDE+CjxwPtTaIHdpbmRvd3MgyrnTw8SjxOLG97rDz/HDu9PQyrLDtM7KzOKjrNLyzqogd2luZG93ICDSssrHobHTzs+3u/qhsKOsIG9wZW5nbCDH/bavtrzKx7Cy17C6w7XEoaMgVWJ1bnUgTGludXggz8LD5sq508POysziyPS4yaGjPC9wPgo8cD48YnI+CjwvcD4KPGgyPtTL0NDEo8Tixvc8L2gyPgo8cD7PwtTYudm3vczhuam1xCBzZGsgb24gTGludXggPC9wPgo8cD7Uy9DQIC4vYW5kcm9pZCAgo6wgta+z9lNESyBNYW5hZ2VyvefD5iCjrMilz8LU2CBTREvWp7PWzsS8/jwvcD4KPHA+1MvQ0C4vYW5kcm9pZCAgYXZkLCC1r7P2IEFWRCBNYW5hZ2VyvefD5iAsIMiltLS9qNK7uPZBVkQoIGFuZHJvaWQgdmlydHVhbCBkZXZpY2VzKSwgscjI5yBhdmQxPC9wPgo8cD7Tw8P8we7Uy9DQxKPE4sb3IKOoyOe5+9Taw/zB7tDQ1tDDu9PQv6ogZ3B1IG9uLCC/ydLU1Nqyzsr91tDWuLaoo6k8L3A+CjxwPi4vZW11bGFvdHIgLWF2ZCBhdmQxIC1ncHUgb24gLXZlcmJvc2U8L3A+CjxoMj5VYnVudHXPwsTjtcTP1L+ow7vT0LCy17AgT3BlbkdMPC9oMj4KPHA+PC9wPgo8cD7I57n7VWJ1bnR1z8LE47XEz9S/qMO709CwstewIE9wZW5HTKOsIEFuZHJvaWQg0sDIu8TcxvS2r6Ostau4+b7dz8LD5rXEIExvZyDWqrXAysfTwyBzb2Z0d2FyZSByZW5kZXJlci48L3A+CjxwPkZhaWxlZCB0byBjcmVhdGUgQ29udGV4dCAweDMwMDU8L3A+CjxwPmVtdWxhdG9yOiBDYW4=”t start OpenGLES renderer?
emulator: WARNING: Could not initialize OpenglES emulation, using software renderer.

自編譯 SDK,gpu on不能運行

如果自己編譯的 sdk 還是安裝上面的運行步驟, 並不能把 Android 啟動,有下面的錯誤。

emulator: Initializing hardware OpenGLES emulation support

Failed to create Context 0x3005
emulator: KVM mode auto-enabled!

destroyOpenGLSubwindow not implemented for separate renderer process !!!
createOpenGLSubwindow not implemented for separate renderer process !!!
repaintOpenGLDisplay not implemented for separate renderer process !!!
emulator: Realistic sensor emulation is not available, since the remote controller is not accessible:

這應該是 模擬器沒有自動切換為 soft 3d, 仍然向不存在的模擬器要構建的 hardware 3d 中pipe 通信,結果失敗。

Virtual box中跑 ubuntu 再跑 emulator

在 Virtual box 中運行 Ubuntu 12.04, 再在啟動運行運行 Android 模擬器

Android 模擬器可以運行,就是非常慢

因為Virtual box虛擬的設備沒有3d設備, 得到下面的錯誤

emulator: Initializing hardware OpenGLES emulation support
OpenGL Warning:Failed to connect to host. Make sure 3D acceleration is enabled for this VM.

在Virtual box中勾選3D加速,再次啟動 Ubuntu, 再運行 android emulator

得到下面log,可見Virtual box提供3d 運行 android emulator 還是有問題

Failed to create Context 0x3005
emulator: Can’t start OpenGLES renderer?
emulator: WARNING: Could not initialize OpenglES emulation, using software renderer.

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *