Root権限なしで、Androidスマホ上でPC向けのMinecraft Java版を遊びます。ここでは私の設定手順を記録します。
Minecraft Java版自体はクロスプラットフォームで、Linux/Windows/macOSのパソコンで動かせます。つまりJava版を遊ぶには、スマホ上でLinux環境を動かせばよいわけです。
この方法はPojav Launcherと比べて、より多くのPC版Minecraftクライアント(Linux対応であれば)を動かせる点と、Modパックのインストール方法がPC版と変わらない点が利点です。
ただし、現時点ではこの方法はかなり実験的です。ハイエンドスマホでもFPSは30を超えにくく、端末は熱くなり、シェーダーも使えません。さらにJava版を動かすには、スマホに少なくとも6GB以上のRAMが必要です。タッチ操作にも対応しないため、キーボードとマウスも用意する必要があります。
純粋に面白いから、試してみる価値はあります。
1. TermuxとProot-distroをインストールする#
まず、Termuxをインストールします。
続いてTermux X11をインストールします。
Proot Debianをインストールします。
最後に、ハードウェアアクセラレーションを有効にします。
2. Prism Launcherをインストールする#
Prism Launcherは、複数のMinecraftバージョンやModを簡単に管理できるサードパーティ製ランチャーです。PolyMCとMultiMCを源流としているため、操作感もかなり似ています。
自分でコンパイルするのはあまりに面倒なので、ここではPi-Appsを使って自動インストールします。Pi-AppsはもともとRaspberry Pi向けのアプリインストーラーですが、AndroidスマホもARMプラットフォームなので利用できます。
virgl serverを起動します。Proot-distroへログインします。Termux X11を起動します。デスクトップ環境を起動します。
Pi-Appsをインストールします。
wget -qO- https://raw.githubusercontent.com/Botspot/pi-apps/master/install | bashEnterを押して続行します。

Prism Launcherをインストールします。
~/pi-apps/manage install 'Minecraft Java Prism Launcher'このスクリプトはPrism Launcherを自動でインストールしますが、OpenJDKのダウンロードに失敗することがあります。

その場合はOpenJDK 17(Minecraft 1.17以降に対応)を自分でインストールします。
sudo apt install openjdk-17-jdk- 次のコマンドでJavaのバージョンを確認します:
java -version
3. Minecraft 1.19.3を起動する#
Prism Launcherの使い方はMultiMCとよく似ています。詳しい使い方は自分で検索するか、Prism Launcher Wikiを参照してください。
- ターミナルを開き、以下のパラメータでPrism Launcherを起動します。
GALLIUM_DRIVER=virpipe MESA_GL_VERSION_OVERRIDE=4.0 prismlauncher右上の「アカウント」をクリックし、Microsoftアカウントでログインします。
Minecraft 1.19.3のインスタンスを追加します。fabricとSodium Modをインストールして、ゲーム性能を改善することもできます。
ゲームを起動します。マウスを少し動かしただけで視点が暴れないように、ゲーム設定 → 操作設定を開き、Raw Inputをオフにします。
ゲーム中にF3を押すと、
virglドライバが正常に読み込まれていることを確認できます。私のテストでは、Sodiumを有効にしてもMinecraftのFPSはかなり厳しいままでした。
4. 1.12.2以前の古いMinecraftを起動する#
1.12.2以前の古いMinecraftを起動するには、古いバージョンのOpenJDKも別途インストールする必要があります。
Adoptiumからaarch64 Linux用のOpenJDK 8実行ファイルを自分でダウンロードします。
解凍し、システムディレクトリへ移動します。
tar -zxv OpenJDK8U-jdk_aarch64_linux_hotspot_8u352b08.tar.gz
sudo mv jdk8u352-b08 /usr/lib/jvm- 続いてPrism Launcherを起動します。ここではパラメータが少し異なるため、
MESA_GL_VERSION_OVERRIDE=4.0を付けないでください。
GALLIUM_DRIVER=virpipe prismlauncherMinecraft 1.12.2のインスタンスを追加します。同様に、ForgeとOptifineをインストールしてゲーム性能を改善することもできます。
1.12.2のアイコンを右クリックしてインスタンスを編集し、Javaのパスを先ほどインストールしたOpenJDK 8に設定します。

ゲームを起動し、F3を押すと
virglドライバが読み込まれていることを確認できます。新しいバージョンのMinecraftと比べると、古いバージョンにOptifineを入れた方がFPSはやや高いようです。
5. ゲームデータのインポートとエクスポート#
Prism Launcherのゲームデータは~/.local/share/PrismLauncher/にあります。
Termuxのproot-distroは、ログイン後にスマホの内部ストレージをProot内部の/sdcardディレクトリへ自動でマウントするはずです。そのため、Proot内のファイルマネージャーを使えばゲームデータをインポート・エクスポートできます。
