メインコンテンツへスキップ

PCでAndroidアプリを動かしたい?Linux向け「Androidゲームエミュレーター」ソリューション紹介

·
カテゴリー Linuxシステム Linuxソフト
タグ Linux Waydroid Android-X86 ReDroid Bliss OS Android
目次

この記事では、LinuxシステムでAndroidアプリを動かしたり、スマホゲームを遊んだりするための、無料の「Androidエミュレーター」ソリューションをいくつか紹介します。

Gentoo LinuxのKDE PlasmaデスクトップでAndroid-x86仮想マシンを使ってFGOをプレイ

概論
#

市場にはBlueStacks、NOX、LDPlayer、MEmu、Google Play Games on PCなど、多くの商用Androidエミュレーターがあります。形はいろいろですが、結局のところx86 PC上でx86またはARMアーキテクチャのスマホゲームを遊べるというものです。多重起動、放置周回、キーボードマッピングも難しくありません。

Windowsに多数存在するAndroidエミュレーターと比べると、GNU/Linuxシステム(Ubuntu、Fedora、Arch Linux、openSUSE、Gentoo、ChromeOSを除く)の選択肢はかなり少ないです。Windowsで有名なAndroidエミュレーターの多くはLinux版を出していません。初期のLinuxでは「Genymotion」と「Android Studio」くらいしか使えず、この2つは基本的に開発者向けで、ゲーム用途には使いにくいものでした。

また、上で述べたWindows向けAndroidエミュレーターは、Wineを使ってもLinuxでは動きません。

幸い、近年は状況が改善してきました。LXCコンテナ技術を使うAnboxとWaydroidの登場により、LinuxでもAndroidアプリを実行できるようになりました。LinuxのQEMU/KVM技術を利用して、高効率なAndroid-x86仮想マシンをインストールするのも堅実で実用的な方法です。

いまでは、LinuxユーザーがPC上でAndroidアプリを動かしたりゲームを遊んだりしたい場合、オープンソースソフトウェアで構成されたソリューションを使って「Androidエミュレーター」に近い効果を実現できます。ついでに商用Androidエミュレーターにありがちな企業案件や広告表示からも離れられます。

1. Waydroid
#

WaydroidはCanonicalが開発したAnboxに由来し、LXC技術を採用しています。コンテナはLinuxとカーネルを共有し、Androidシステムを実行します。開発チームはBliss OSの開発も担当しています。

Anboxは基本的に開発が停止しており、Waydroidがそれに代わる最も有名なAnbox後継となっています。

特徴:

  • ライセンス:GPLv3
  • LXCコンテナは非常に軽量で、実行効率は仮想マシンやエミュレーターよりかなり高く、PCのGPUを有効活用してゲーム性能を加速できます
  • LinuxシステムとAndroidクリップボードを共有し、アプリをウィンドウモードで操作できます。まるでネイティブLinuxアプリのような操作感で、MicrosoftのWSAに似ています
  • Google Playストアを内蔵
  • x86とARMのイメージを提供しており、x86 PCでもRaspberry Piでもデプロイできます
  • Waydroidを動かすにはWayland表示プロトコルのデスクトップが必要です
  • Waydroidは多重起動に向いておらず、1台のPCにインストールできるAndroidバージョンは1つだけです
  • ARMトランスレーターを手動でインストールする必要があります
  • 現在Nvidia GPUには対応しておらず、Mesaオープンソースドライバーを使うIntelとAMDなどのGPUのみ対応しています

インストール手順はこちらをご覧ください。

2. ReDroid
#

DockerコンテナでAndroidシステムを実行し、さらにScrcpyでデスクトップに接続します。開発者の本来の意図はサーバー上にクラウドスマホを構築することですが、デスクトップユーザーもこの方法を参考にできます。

特徴:

  • ライセンス:Apache
  • x86とARMアーキテクチャのイメージを提供しており、x86 PCでもRaspberry Piでもデプロイできます
  • GPUハードウェアアクセラレーションに対応
  • ARMトランスレーターを提供
  • Google Playストアは自分でインストールする必要があります
  • Dockerコンテナの特性によりサーバーへ素早くデプロイでき、Scrcpyでリモート接続できます
  • Dockerコンテナはリソース消費が少なく複製も容易なので、多重起動も可能です
  • インストール手順はやや煩雑で、うまく使うにはDockerの操作知識がある程度必要です
  • 現在Nvidia GPUには対応しておらず、Mesaオープンソースドライバーを使うIntelとAMDなどのGPUのみ対応しています

インストール方法はReDroidをご覧ください

3. Android-x86仮想マシン
#

Android-x86仮想マシンは、長く開発されてきた同名プロジェクトに由来します。物理PCにインストールできるだけでなく、仮想マシンにもインストールできます。

ただし、オリジナルのAndroid-x86はAndroid 9以降ほとんど更新されていません。

近年はAndroid-x86ベースの「Bliss OS」が登場し、非常に活発に更新され、Android 15まで対応しています。

特徴は以下の通りです:

  • ライセンス:Apache
  • Android-x86は完全なOSで、Android 7からAndroid 15までISOがあります
  • ほぼオープンソースソフトウェアで構成されたソリューションで、システムはクリーンかつ広告なしです
  • 仮想マシンにデプロイできるほか、Microsoft Surfaceなどの物理機にメインシステムとしてインストールすることもできます
  • ARM → x86アーキテクチャ変換に対応し、より多くのスマホゲームをサポートします
  • GPUパススルーなしでもVirGLで3Dハードウェアアクセラレーションを実現でき、Intel、AMD、Nvidia GPUに対応します
  • 多重起動の可能性があります
  • Google Playストアを内蔵
  • 仮想マシンのバックエンドにはQEMU/KVM、VirtualBox、VMwareなどを選べます
  • 仮想マシンなのでGPUアクセラレーション能力には限界があります
  • x86アーキテクチャのPCのみ対応

QEMU/KVMでAndroid-x86仮想マシンを動かす手順はこちら:Bliss OS QEMU VM

4. Android StudioのAVDエミュレーター
#

Android Virtual Device、略してAVDは、Google公式が開発するAndroidエミュレーターで、Android Studioに付属しています。

特徴:

  • ライセンス:プロプライエタリソフトウェア
  • 主にAndroidアプリ開発用で、他の方案と比べると比較的成熟しています
  • クロスプラットフォームで、同じソフトウェア一式をWindowsとmacOSでも使えます
  • ADBとRootを使用できます
  • 複数のスマホ機種をエミュレートでき、技術的には多重起動も可能です
  • Google PlayとARMトランスレーターlibndkを内蔵
  • GPUグラフィックアクセラレーションを提供し、Intel、AMD、Nvidia GPUに対応します。
  • Android Studio実行時は非常にリソースを食いますが、AVDエミュレーターはAndroid Studioに依存せず単独で実行するよう設定できます
  • x86アーキテクチャのPCのみ対応

参考手順:Linux + Android AVD

5. Genymotionエミュレーター
#

クロスプラットフォームの商用Androidエミュレーターです。

特徴:

  • ライセンス:プロプライエタリソフトウェア
  • インストールが最も簡単
  • 実行時にQEMU/KVMまたはVirtualBoxに依存します
  • さまざまなスマホ機種のエミュレーションを提供
  • スクリーンショット、録画、ジェスチャーのシミュレーションに便利なクイックボタン操作を提供
  • ARMトランスレーターを内蔵
  • Intel、AMD、Nvidia GPUグラフィックアクセラレーションに対応。
  • 使用には登録が必要
  • 無料版では画面上にウォーターマークが表示され、使用の妨げになります。ライセンス購入が必要です
  • x86アーキテクチャのPCのみ対応

Linux版Genymotionのインストール手順はこちら

どれを選ぶべきか?
#

Nvidiaグラフィックカードのユーザーで、内蔵GPUがなく、面倒な調整もしたくない場合、選択肢はAndroid StudioのAVDとGenymotionだけです。

IntelやAMDグラフィックカードのユーザーなら、選択肢は増えます。Linuxの各種「Androidエミュレーター」方案を比較すると、Waydroidは間違いなく最高性能です。LXCコンテナ技術を使い、Linuxとカーネルを共有するため、計算時の性能損失がほとんどありません。Waydroidの性能は、物理PCにAndroidをインストールしたようなものです。

Android StudioのAVDエミュレーターやAndroid-x86仮想マシン方案と比べると、Waydroidの性能はかなり高いです。特に低スペックPCでは、Waydroidが最も経済的な選択です。私がGeekbenchでベンチマークしたところ、仮想化を一層挟んだAndroidの性能は、最大でほぼ半分近く失われます!つまり仮想マシンの性能を支えるには、より多くのCPUコアを割り当てる必要があります。PCのCPUが4コア以下なら、Android-x86仮想マシンを起動すると全リソースを食い尽くしてしまいます!それに比べ、Waydroidのリソース消費は低いです。

Android-x86仮想マシンのグラフィックアクセラレーションはVirGLに依存しており、この性能はAndroid StudioのAVDエミュレーターよりやや弱いです。

ReDroidについては上級者向けで、クラウドスマホへリモート接続したいプレイヤーに向いています。

関連記事


最後までお読みいただきありがとうございます。本サイトでは公開コメント欄を設けていません。私はソーシャルな反応やアクセス数を追い求めるためではなく、自分の考えを誠実に探求するために文章を書いています。記事を丁寧にお読みいただいたうえで、ご感想やご意見をお寄せいただければ幸いです。誤字・誤り・技術的な問題などを見つけた場合、またはフィードバックを共有したい場合は、Aboutページに記載しているメールアドレスまでお気軽にご連絡ください。