※ 이 글은 오가사와라 히로유키(小笠原博之) 씨가 블로그에 적은 글을 번역한 것입니다. 사정에 따라 예고없이 삭제될 수 있으므로 양해부탁드립니다.

Android 5.0 Nexus Player x86과 대응 ABI

(원문 : Android 5.0 Nexus Player x86 と対応 ABI)

Android는 5.0부터 64bit CPU에 대응합니다. Android에서의 첫 64bit device는 Nexus 9입니다. 물론 상위호환성이 있어서 종래의 32bit ARM Native code도 실행가능합니다. 32bit ARM에는 2종류의 ABI가 존재하므로 전부 3종류입니다.

ARMv8A AArch64  arm64-v8a
ARMv7A          armeabi-v7a
ARMV5TE         armeabi

Android 4.4까지는 동시에 2종류의 ABI에 대응할 수 있었습니다. Android 5.0 이후는 위에 적은 대로 3개 이상 지정할 수 있게 되었습니다.

동시에 발표된 Nexus Player는 Nexus 첫 Intel CPU (Atom Z35xx) 탑재 단말입니다. OS도 Android 5.0이지만, 아쉽게도 64bit(x86_64)가 아니라 32bit(x86)로 동작하는 것 같습니다.

ro.product.cpu.abi=x86
ro.product.cpu.abi2=armeabi-v7a
ro.product.cpu.abilist=x86,armeabi-v7a,armeabi
ro.product.cpu.abilist32=x86,armeabi-v7a,armeabi
ro.product.cpu.abilist64=

이전에 알아본대로, Android x86 단말은 Binary Translator를 통해 ARM의 Native code를 실행할 수 있습니다. 같은 x86(32bit)이라도 5.0 이후라면 3종류 지정할 수 있으므로, Nexus Player의 경우 armeabi도 포함되어있다는 것을 알 수 있습니다.

Device       Android CPU           ABI
-------------------------------------------------------------------
Nexus 5         5.0  Krait 400                armeabi-v7a  armeabi
Nexus 9         5.0  Denver        arm64-v8a  armeabi-v7a  armeabi
Nexus Player    5.0  Silvermont    x86        armeabi-v7a  armeabi
MeMO Pad ME176  4.4  Silvermont    x86        armeabi-v7a

Android 5.0부터는 지금까지 x86에서 돌지 않던 앱도 돌아가게 될 지도 모릅니다. 장래 x64(x86_64) 단말이 등장하면 x86_64를 포함하여 4종류가 됩니다.

관련글

※ 이 글은 오가사와라 히로유키(小笠原博之) 씨가 블로그에 적은 글을 번역한 것입니다. 사정에 따라 예고없이 삭제될 수 있으므로 양해부탁드립니다.

Android 5.0 Nexus 10 Mali-T604는 OpenGL ES 3.1 대응

(원문 : Android 5.0 Nexus 10 Mali-T604 は OpenGL ES 3.1 対応)

OS의 갱신이 시작되어, 어떤 단말은 사용할 수 있는 API가 늘어났습니다. Nexus 10(Exynos 5 Dual 5250)는 Android 5.0에서 OpenGL ES 3.1을 사용할 수 있게 되었습니다. Tegra K1과 달리 AEP에는 대응하지 않습니다.

GL_VERSION: OpenGL ES 3.1
GL_RENDERER: Mali-T604
GL_VENDOR: ARM
GL_SHADING_LANGUAGE_VERSION: OpenGL ES GLSL ES 3.10

자세한 내용은 Extension 페이지↓에 추가했습니다.

아래는 갖고 있는 단말로 조사한 결과입니다.

Nexus의 OpenGL API
Nexus         SoC       GPU          Android 4.4     Android 5.0
----------------------------------------------------------------------
Nexus 7 2012  Tegra 3   ULP GeForce  OpenGL ES 2.0   OpenGL ES 2.0
Nexus 7 2013  APQ8064   Adreno320    OpenGL ES 3.0   OpenGL ES 3.0
Nexus 5       MSM8974   Adreno330    OpenGL ES 3.0   OpenGL ES 3.0
Nesus 10      Exynos 5D Mali-T604    OpenGL ES 3.0   OpenGL ES 3.1
Nesus 9       Tegra K1  Kepler       --              OpenGL ES 3.1 AEP

Amazon Kindle Fire도 Fire OS 4로 갱신되어, Android 4.4 기반이 되었습니다. GPU가 대응하는 경우 OpenGL ES 3.0를 사용할 수 있게 되었습니다.

Amazon Fire의 OpenGL API
Fire               SoC       GPU          FireOS 3       FireOS 4
----------------------------------------------------------------------
Kindle Fire HDX 7  MSM8974 Adreno 330     OpenGL ES 2.0  OpenGL ES 3.0
Fire HD 6          MT8135  PowerVR G6200  --             OpenGL ES 3.0

관련글

+ Recent posts