Android は主に ARM ベースのハードウェア上で動作しているが,これを他のプラットフォームに持ち込もうという試みがいくつかある。ひとつは多数の PC やラップトップに使用されていることで有名な x86 プラットフォームであり,もうひとつは Linux ベース,最近では Android ベースの組込システムで主に採用されている MIPS である。
Intel は Atom Medfield デバイス上で動作する Gingerbread を公開して,2012 年前半に生産予定であることを明らかにした。Medfield は Intel の スマートフォン/タブレット用 x86 ソリューションをサポートする 32nm SoC (System on a Chip) であり,同社によれば現行の ARM プロセッサよりもエネルギー効率に優れる。ただし,同じく 2012年前半に提供が予定されている Qualcomm の Krait など, ARM の SoC ソリューションと比較した場合については明らにしていない。
Google Program Office を統括する Alec Cefrides 氏の説明によると,"Medfield 用 Android 4.0 は,Google がこの OS をオープンソースで公開したその日のうちに動作しました。現在は,Medfield 用ドライバを同梱したスマートフォンおよびタブレット用のパッケージが,デバイスマーケットで公開されています。" さらに氏は,Android の断片化を回避するため,それぞれのデバイスが市場で公開されたときにはドライバをオープンソースにする予定であることも付け加えた。
今のところは Chih-Wei Huang 氏を中心とする愛好家グループが,さまざまなバージョンの Android を x86 プラットフォームに移植 する作業を続けている。初期ポートのいくつかはすでに 廃止されている が,Gingerbread や Honeycomb,ICS (Ice Cream Sandwich) などのバージョンが公開中である。Huang 氏が自身で Honeycomb を x86 に移植したのは,当時 Google が コードをオープンソースにしていなかったが,氏の会社が Google のパートナーであったのでソースへのアクセスできたことが理由である。ICS に関しては,AMD Brazos 用の部分的ポート開発に2週間を要したものの,ハードウェアビデオアクセラレーションとサウンド,カメラ,イーサネットはまだ動作していない。その主な問題点は,ドライバ実装の不足にあるようだ。我々は Huang 氏にインタビューして,Android の別プロセッサアーキテクチャへの移植に必要な作業と,ICS 移植の現状について尋ねてみた。
InfoQ: iCS/x86 の状況はどのようなものでしょう。何が完成していて,何が残っているのですか。
CWH: 私たちは x86 プラットフォームのいくつかのターゲットに ICS android -4.0.1_r1 リリースを移植する作業を実施して,そのソースコードをリリース公開しています。しかし AMD Brazos プラットフォームを除くと,他の Intel プラットフォームをターゲットとしたものにはビデオチップセットに問題があって,実際には動作していません。Intel ビデオチップセットのハードウェアアクセラレーションを有効にするための問題が,まだ解決できていないのです。いくつかのベンダが提供している WiFi やマルチタッチについては動作するはずです。サウンド,カメラ,イーサネットなどはまだ動作しません。
GMS (Gmai や Maps,Market などの Google apps) と Defender や Fruit Slice などのゲームをテスト中ですが,問題なく動作しています。
InfoQ: AMD Brazos 以外のプラットフォームに Android を移植する予定はありますか。
CWH: もちろんです。先ほど答えたとおり,すでに着手もしています。ただし問題がいくつかあるのですが,1~2週間のうちには解決できると思います。
InfoQ: Honeycomb の移植にはどれくらいの期間とマンパワーが必要でしたか。ICS の移植作業はどの程度の規模になるとお考えですか。
CWH: 移植作業の目標をどのあたりに置くかによって違ってきます。Honeycomb の移植は大変でした。当初,ソースが公開されていなかったからです。実際に私は過去半年間,ほとんど一人で作業しました。(私の会社が Google のパートナーであったためコードを入手できたのですが,他のメンバとの共有ができなかったのです。) ICS はオープンソースですし,x86 サポートも改良されましたから,Brazos 上でハードウェアアクセラレーションを実現する作業は2週間程度で済みました。ただし (先ほど説明したように) 解決すべき問題はまだまだあります。私が使用できるのは余暇時間だけですので,完成時期を明言するのは難しいのですが,オープンソースコミュニティの協力を受けることで,Honeycomb の時よりは早く作業が進められると思っています。
InfoQ: x86 に移植する上での主な問題点はどのようなものでしょう。
CWH: 開発者の不足ですね。実を言うと,2009年6月のプロジェクト開始時から活動している開発者は私だけなのです。メーリングリストには 2,600 人の購読者があるのですが,開発に参加しているのはごくわずかです。一度は参加してくれた人たちも,時間や興味を持続することができませんでした。
そのため st103t や Sparta [Android-x86 2,2 for Dell Inspiron Mini Duo] など,寄贈されたターゲットのメンテナンスも十分にできていない状態です。しかし幸いなことに,私にはオープンソースコミュニティ内に,高い技術を持っていつでも協力してくれるよい友人がたくさんいます。例えば OpenGL ES の分野では Cha-I Wu 氏,タッチスクリーンドライバに関しては Benjamin 氏,という具合です。フォーラムに参加した初心者からの質問のほとんどには,詳細な情報が添えられていません。そのためたいていの場合,彼らを助けることができないのです。あるいは十分な情報があったとしても,彼らがテストやデバッグに使っているデバイスを持っていないので,問題が未解決のままになってしまいます。その上,Viewsonic や Insyde のようなベンダは Android-x86.org ベースの製品を出荷しているにも関わらず,何の貢献もしてくれません。これは残念ですし,怒りも覚えます。Intel は私たちのことを気にも留めていません。彼らには独自の Android バージョンを開発する計画があるのですが,未だリリース公開には至っていません。これにも落胆を覚えます。AMD とは最近になって共同作業を始めたのですが,まだまだ初期の段階です。将来的にはより多くの貢献者が現れることを願っています。
InfoQ: ADM あるいは他の企業に製品として採用される計画はあるのでしょうか。
CWH: おそらくあると思います。しかしいつも,彼らは教えてくれないのです。
例えば MIPS の場合,同社は Android の旧バージョンについてはすべて自社のプロセッサアーキテクチャに移植済みで,今月半ばに ICS の移植版のリリースを計画しています。Android 4.0 は Linux 3.0.8 をベースにしていますが,このカーネルを MIPS 上で動作させる開発作業はすでに完了しています。ですから彼らの RISC プラットフォームで ICS を動作させるのに,それほど時間は掛からないでしょう。
Android を他の一般的なプラットフォームに移植するのは比較的簡単のようだ。恐らくは Linux の遺産によるものだろう。Intel は Android の動作するチップを用意すると決めたようだ。もし AMD がこのゲームに乗るならば,Android は安定したハードウェアサポートを手中にしたことになるだろう。