トップ画像
Surface Pro×Androidを試したお話2

執筆者: しげ

最終更新: 2021/03/07

前回はSurface ProへのAndroid-x86の導入契機と動作状況について説明した.今回は,Android-x86におけるゲームの起動を試す.もちろんこれはGoogleが推奨しているものではないため,すべてのゲームが起動するわけではない.
Android OS向けのアプリではIntel x86アーキテクチャやAMD64アーキテクチャで動作しないものがある.Android OSの多くはARMアーキテクチャの端末に搭載されるため,アプリ側もこれを前提としているのである.Android-x86にはIntel x86やAMD64アーキテクチャ上でARMアーキテクチャ向けのアプリの動作を可能にするために,Houdiniと言われている変換プログラムを利用したnative bridgeという機能がある.これを用いてIntel x86及びAMD64アーキテクチャ上でARMアプリをエミュレートすることが出来る.
なお設定アプリからnative bridgeのトグルスイッチをONにすれば自動で有効になるはずなのだが,仕様変更に伴いhttpからのファイルのダウンロードが行われないようになったため,手動で行う必要がある.この操作にはroot権限を要するため,予めAndroid-x86をroot化してインストールする必要がある.Android-x86にはターミナルエミュレータがインストールされているため,これを用いてシステムの中枢部にアクセスする.
Android-x86 9.0-r2の場合は,まず設定アプリからEnable native bridgeのトグルスイッチをONにしてから, ターミナルエミュレータで次のように実行して,ファイルダウンロードのためのリンクを見ておく.

cat /system/bin/enable_nativebridge | grep -F urls[4]

ここで次のurls[4]を先程のコマンドで出力されたリンクに変えて1行ずつ実行する.

su
cd /data/arm
wget urls[4] -cO houdini9_y.sfs

suはroot権限に昇格するコマンドなので,root化されていない場合は実行できない.受信完了後に再起動しておく.
Play Storeからゲームをインストールすれば起動可能になっているはずである.筆者はデレステことアイドルマスターシンデレラガールズスターライトステージと,ミリシタことアイドルマスターミリオンライブシアターデイズをプレイしている.ストレージにはSSDが搭載されているため,アプリ内の移動も高速で満足している.なお3Dレンダリングを行うと発熱して,バッテリーの減りが早くなる.本来そのような用途を想定していないため,オーバーヒートしないだけマシだと考えよう.

動画1 Surface Pro 2のAndroid-x86上で動作するデレステ


なお,ゲームアプリ「VIVACE」の開発にはAndroid-x86を搭載したSurface Pro 2を使用していた.PCのCPUはスマホのSoCより性能が良いため,肝心のAndroidスマホでは重すぎて動かなかったという笑い話がある.

動画2 ゲーム「VIVACE」


さて,ここまで2回に渡ってSurface Pro×Androidのお話をしてきた.筆者はSurface Pro 2とSurface Pro 3(i7モデル)でしか動作確認できていない.Surface Pro 4以降においては軒並みタッチパネルが反応しなかった.対応するカーネルでAndroid-x86を起動できれば使用可能かもしれない.
もしこのシリーズが続けば,次回は実際のAndroid-x86のインストールを紹介しようと思う.

取得に失敗しました

2019年度 入部

Twitter GitHub