QEMUのIntel Hardware Accelerated Execution Managerのサポート

スマホのアプリ開発では、Android SDKが使われます。このSDKの中でQEMUがエミュレーターとして使われています。Intelから、このQEMUを補助するドライバとしてHardware Accelerated Execution Manager(Intel HAXM)というアクセラレーターが提供されています。

動作する条件は、2つあります。1つは、パソコンの開発環境がIntelのCPU上であること。2つめは、エミュレートするAndroidは、Intelのチップ上で動くx86用のAndroidであることです。

WindowsとMac OS用に以下の場所でデバイスドライバーが提供されています。

IntelR Hardware Accelerated Execution Manager (Intel HAXM)

自分もAndroid SDKを動かしてみたことがあります。やはり素のQEMUよりアクセラレーターがあったほうがアプリもきびきび動いてよいです。

このデバイスドライバーを使うパッチがメーリングリストに投稿されました。2017年の4月ごろに予定されているQEMUの次のバージョン2.9.0でサポートされるようになるようです。

Linux上ではKVMがありましたが、WindowsやMac OS上でアクセラレーターがなかったので動くとうれしいですね。

仮想マシンとコンテナの違い

仮想マシンとコンテナの違いが簡単にまとめられています。

コレ1枚で分かる「仮想マシンとコンテナの違い」

両者ともアプリケーションを動かす環境を提供します。一言で違いをいうと、OSを動かすかどうかです。それに伴って様々な違いが生まれるのですけど。

両者の特性を生かして上手に使いたいですね。

ARM版のWindows 10でWin32アプリが動く

ARM版のWindows 10でWin32アプリケーションが動くそうですね。

【詳報】Win32アプリが動く“ARM版Windows 10”はフル機能搭載の完全なるWindows 10

もうすでにスマホのAndroidでは、IntelのCPU上でARM版のアプリがエミュレーションによって動いています。これの逆をやることになるわけで、できないことではないと思っていました。ARMのCPUの処理速度がエミュレーションに耐える速度になってきたということでしょう。

ただ、Win32のアプリは簡単なものから複雑なものまで多岐にわたります。よく使うアプリが快適に動くのはもう少し時間がかかるのではないかと思います。Photoshopをデモに使っていたそうですが、実用に耐えるのでしょうか。