Created
November 1, 2025 10:55
-
-
Save takeru/8608e190418b1a1b91df5cf1188969c6 to your computer and use it in GitHub Desktop.
Apple SiliconマシンでMinecraft Bedrock版を動かす
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| https://nyacom.net/?p=890 | |
| Skip to content | |
| about | |
| mac | |
| 【備忘録】Apple SiliconマシンでMinecraft Bedrock版を動かす | |
| October 5, 2025 | |
| nyacom | |
| 子供がMinecraftにハマっているものの、スマホだと画面が小さいのでどうにかPCに誘導したい・・・ | |
| Minecraft | |
| 今時のキッズに大人気のクラフト系ゲームである。 | |
| ちなみに、僕自身はいまいち楽しさが分かりきっていない。 | |
| いや、多分プレイすれば楽しいんだろうけれど、クラフト系ゲームで遊ぶよりも、コードを書いたり、電子工作したり、3Dプリンタで遊んでいるほうが好きなのだ。 | |
| そして、この手のブログ記事も三日坊主で続いた試しがない。 | |
| 基本的に書くことが面倒臭いのだ。なので、これは備忘録である。 | |
| 長いのでお付き合い願いたい。 | |
| 背景 | |
| 息子がMinecraft(MC)にハマっている。これ自体はクラフト系のゲーム自体は現代版の”レゴブロック”と同じようなものと思っているのでいいのだが、Android版を買え与えてしまったので、彼はスマホでプレイしている。 | |
| しかし、スマホはどこにでも持ち歩ける反面で、画面が小さいのと、必然的に凝視するので目に悪いのである。そこで、親としてはどうにかこの状況を解消したい。 | |
| 選択肢として、1. Windows版を購入し、PCでプレイさせる。 2. もう少し大きなタブレットでプレイさせる が考えられるが、2だとiPadでは動かないのでAndroidタブレットを買う必要がある。ゲーム以外の諸々を考えると、PCでプレイさせるのが将来的を考えると良い選択肢に思える。さらに彼の学校の教材(※米国のPreschool)もブラウザベースでアクセスできるようになっているので、ラップトップを与えるのが良さそうである。 | |
| 問題はどのバージョンのMCが導入できるかである。 | |
| MCは大きくオリジナルのJava版と、Microsoftに買収された後にプラットフォームに最適化されたBedrock版がある。(他に、教育現場向けのEducation EditionやRaspberry Piに入っているPi Editionなどもある・・・)一般的にNintendo SwitchやAndroid・XBox向けのはBedrock版で、要するに公式のオンライン機能とマーケットプレイスがあり友達と協力プレイや公式のMOD導入ができる。 | |
| 一方で、とりあえずオンラインの機能を使わずにクラフトだけをするのであれば、Java版でよく、こちらはWindows以外にもMacOSとLinuxもサポートされている。 | |
| 問題はオンラインの機能と息子がAndroid版で作ったセーブデータを使おうとするとBedrock版である必要があり、Microsoftの呪縛なのかPC版はWindows以外に選択肢がないのである。 | |
| ここからは我が家固有の問題なのだが、我が家にはWindowsがまともに入っているマシンがない。 | |
| 僕のメインPCは長年Debianだし、それ以外のマシンはKVMで動いているVMで、家族用のクライアントマシンはMacbookしかないという極端な家庭なのである。 | |
| ここからが本題で、なんとかBedrock版をMacOSで動かしたい のである。 | |
| Unofficial *NIX Lancher for Minecraft | |
| https://minecraft-linux.github.io というプロジェクトがある。 | |
| これは、Bedrock版のMCをWindows以外のプラットフォーム(Linux or MacOS)で動かしてしまおうというプロジェクトである。 | |
| 原理としては、AndroidのBedrock版のMCを起動するためのランチャーである。そのため海賊版とか割れ物というわけではなく、Android版のMCを正規で購入しておき、あくまでそれを起動するためのツールである。グレー寄りではあるので、使い方等はここでは説明しない。 | |
| 実はこのアプリ、Raspberry Pi OSにも収録されており、Raspberry Piでは導入できたりする。 | |
| Linux向けにはdebパッケージやAppimage形式で配布されており、非常に簡単に導入できる。前述した通り、Raspberri Piなどのディストリによっては標準的なパッケージマネージャから導入できるほどである。 | |
| MacOS向けにもpkgが公開されており、普通にインストール可能なのだが、Linux版と比べて幾分かコードベースが古く、現状(2025/10/04)時点ではマトモに起動しないため、この備忘録では僕がMacOS上でソースからビルドした方法を書いておくことにする。 | |
| ちなみに、先に言っておくとMacOSにはOpenGL ESのレイヤーが存在しないため、パフォーマンス的にはあまりよくないらしい。(ただし、M4 MBAで動かしてみた分には普通に遊べるくらいのFPSは出ていたが・・・) | |
| How to build | |
| 基本的には公式 https://minecraft-linux.github.io/source_build/index.html に書いてある通りなのだが、若干古新聞になっており、Qt6を使う場合はマニュアルのままではビルドできないのと、OpenGL ESのレイヤーをどうするか問題が残る。 | |
| 大まかに言って、次の3つをビルドする必要がある。 | |
| Game launcher (mcpelauncher):MCを起動するためのLauncherコアプログラム | |
| MSA:Xbox Liveと通信するためのコンポーネントらしい | |
| GUI:QtベースのUI | |
| Qtベースということで、Qt6のパッケージが必要である。また、OpenSSLは1系がすでにdeprecatedなので、3系でビルドする必要がある。それと、ビルドしようとしているくらいなので、Homebrew は入っていることを前提とする。 | |
| Required packages | |
| 自分の環境ではこんな感じである。 | |
| brew install cmake ninja pkg-config git libpng openssl@3 qt@6 libzip protobuf | |
| Configure | |
| 適当なディレクトリを掘って、gitでgithubからソースをもらってくる。 | |
| mkdir minecraft-linux | |
| git clone --recursive https://github.com/minecraft-linux/mcpelauncher-manifest.git mcpelauncher | |
| git clone --recursive https://github.com/minecraft-linux/msa-manifest.git msa | |
| git clone --recursive https://github.com/minecraft-linux/mcpelauncher-ui-manifest.git mcpelauncher-ui | |
| これで、3つのrepoがcloneされたはずなので、以下のようになっているはず。 | |
| ls | |
| mcpelauncher mcpelauncher-ui msa | |
| ついでに、bin用のディレクトリも作っておく。 | |
| mkdir bin | |
| ls | |
| bin mcpelauncher mcpelauncher-ui msa | |
| PREFIXでインストール先をさっき作ったbin用のディレクトリを指定。 | |
| export PREFIX="~/minecraft-linux/bin" | |
| mcpelauncher | |
| まず、launcherからビルドしていく。qt6ブランチに切り替えておかないと標準ではQt5を使ってしまうのでqt6ブランチに切り替える。 | |
| cd mcplauncher | |
| git checkout qt6 | |
| git submodule sync --recursive | |
| git submodule update --init --recursive --checkout | |
| ls次に、cmakeでconfigureしていく。 | |
| mkdir build && cd build | |
| cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release \ | |
| -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ | |
| -DCMAKE_INSTALL_PREFIX="$PREFIX" \ | |
| -DCMAKE_PREFIX_PATH="$(brew --prefix qt@6)" \ | |
| -DOPENSSL_ROOT_DIR="$(brew --prefix openssl@3)" | |
| 無事に通ったら、ninjaでビルド。 | |
| ninja | |
| ninja install | |
| msa | |
| 基本的にはmcpelauncherとやることは一緒。qt6用のブランチはないので、QT_VERSIONでQt6を指定する。 | |
| cd msa | |
| git checkout qt6 | |
| git submodule sync --recursive | |
| git submodule update --init --recursive --checkout | |
| mkdir build && cd build | |
| cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release \ | |
| -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ | |
| -DQT_VERSION=6 \ | |
| -DCMAKE_INSTALL_PREFIX="$PREFIX" \ | |
| -DCMAKE_PREFIX_PATH="$(brew --prefix qt@6)" \ | |
| -DENABLE_MSA_QT_UI=ON | |
| ninja | |
| ninja install | |
| mcpelauncher-ui | |
| cd mcpelauncher-ui | |
| git checkout qt6 | |
| git submodule sync --recursive | |
| git submodule update --init --recursive --checkout | |
| mkdir build && cd build | |
| cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release \ | |
| -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ | |
| -DCMAKE_INSTALL_PREFIX="$PREFIX" \ | |
| -DCMAKE_PREFIX_PATH="$(brew --prefix qt@6)" \ | |
| -DOPENSSL_ROOT_DIR="$(brew --prefix openssl@3)" | |
| ninja | |
| ninja install | |
| 無事に3つともビルドできると、bin ディレクトリが以下のようになってるはずある。 | |
| drwxr-xr-x 4 nyacom staff 128B 10 5 00:31 . | |
| drwxr-xr-x 6 nyacom staff 192B 10 4 23:38 .. | |
| drwxr-xr-x 9 nyacom staff 288B 10 5 00:50 bin | |
| drwxr-xr-x 3 nyacom staff 96B 10 5 00:31 share | |
| PATHにmcpelauncher-ui-qtのあるディレクトリを通した上で、bin/mcpelauncher-ui-qt を叩くとUIが起動してくる。 | |
| export PATH=$PATH:~/minecraft-linux/bin/bin/ | |
| cd ~/minecraft-linuux/bin/bin | |
| ./mcpelaunchher-ui-qt | |
| ただし、このまま起動してもMCの起動に失敗する。理由としてはMacOSにはOpenGL ESのレイヤーがないため。 | |
| ANGLE | |
| MacOSにはOpenGL ESのレイヤーがないので、Googleが開発している互換レイヤーのANGLEを導入する。 | |
| もちろんソースから導入してもいいのだが、面倒臭いので https://medium.com/@grplyler/building-and-linking-googles-angle-with-raylib-on-macos-67b07cd380a3 を参考にGoogle Chromeに同封されているのをもらってくる。 | |
| おわりに | |
| ちなみに、Intel版MacOSでも基本的に同じで、Intel Macでも割と快適に動く。 | |
| Share this: | |
| Related | |
| Xplova NOZA (無印) をハックする (1) | |
| September 21, 2021 | |
| In "cycling" | |
| ドラレコ導入 | |
| June 14, 2015 | |
| In "Car" | |
| Xplova NOZA (初期型)を修理した話 | |
| September 18, 2021 | |
| In "cycling" | |
| Sodastreamの飲み物ミックス用シロップポンプアダプタ | |
| Leave a Reply | |
| Your email address will not be published. Required fields are marked * | |
| Comment * | |
| Name * | |
| Email * | |
| Website | |
| Notify me of follow-up comments by email. | |
| Notify me of new posts by email. | |
| Recent Posts | |
| 【備忘録】Apple SiliconマシンでMinecraft Bedrock版を動かす October 5, 2025 | |
| Sodastreamの飲み物ミックス用シロップポンプアダプタ September 12, 2024 | |
| S-993Aハンダ吸い取り機のヒーター交換 September 1, 2024 | |
| Debian12のxrdpでroot以外でログインできなくなるのを解消した話 March 25, 2024 | |
| DebianでffmpegをNVENCに対応させる March 27, 2023 | |
| Search | |
| Copyright © 2025 . All rights reserved. | |
| Theme: ColorMag by ThemeGrill. Powered by WordPress. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| https://medium.com/@grplyler/building-and-linking-googles-angle-with-raylib-on-macos-67b07cd380a3 | |
| 3. クイックスタート(ブラウザからANGLEを使用する短縮版) | |
| このことを指摘してくれた Github と Raylib の Discord サーバーのPeter0x44に感謝します。実際には、おそらくすでにお持ちの Chromium ベースのブラウザーからlibEGL.dylibANGLEを入手できます。libGLESv2.dylib | |
| では、始めましょう。 | |
| ステップ1:ChromelibEGL.dylibからlibGLESv2.dylib | |
| Enterキーを押すかクリックすると、画像がフルサイズで表示されます。 | |
| Chromeを例に挙げて、.app以下のファイルを取得してみましょう。以下のコマンドを使用しますfind。 | |
| cd /Applications/Google\ Chrome.app | |
| find ./ -name 'libEGL.dylib' | |
| 出力は次のようになるはずです。いいですね。 | |
| .//Contents/Frameworks/Google Chrome Framework.framework/Versions/113.0.5672.126/Libraries/libEGL.dylib | |
| .//Contents/Frameworks/Google Chrome Framework.framework/Versions/114.0.5735.90/Libraries/libEGL.dylib | |
| 次の場所を見つけることができますlibGLESv2.dylib: | |
| ./ -name 'libGLESv2.dylib'を検索します | |
| ブーム: | |
| .//Contents/Frameworks/Google Chrome Framework.framework/Versions/113.0.5672.126/Libraries/libGLESv2.dylib | |
| .//Contents/Frameworks/Google Chrome Framework.framework/Versions/114.0.5735.90/Libraries/libGLESv2.dylib | |
| ステップ2: rayliblibEGL.dylibをlibGLESv2.dylibプロジェクトフォルダにコピーする | |
| cd <プロジェクト> | |
| cp "/Applications/Google Chrome.app/Frameworks/Google Chrome Framework.framework/Versions/114.0.5735.90/Libraries/libGLESv2.dylib" ./ | |
| cp "/Applications/Google Chrome.app/Contents/Frameworks/Google Chrome Framework.framework/Versions/114.0.5735.90/Libraries/libEGL.dylib" ./ | |
| ステップ3: raylibとのリンク | |
| raylib の静的ビルドを使用している場合は、次のワンライナーを使用します。 | |
| g++ -std=c++14 -I/path/to/raylib/include -o main main.cpp /path/to/raylib.a /path/to/libEGL.dylib /path/to/libGLESv2.dylib |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| set -ex | |
| brew install cmake ninja pkg-config git libpng openssl@3 qt@6 libzip protobuf | |
| export MINECRAFT_LINUX_ROOT=~/proj/minecraft-linux | |
| export PREFIX="$MINECRAFT_LINUX_ROOT" | |
| mkdir $MINECRAFT_LINUX_ROOT | |
| cd $MINECRAFT_LINUX_ROOT | |
| git clone --recursive https://github.com/minecraft-linux/mcpelauncher-manifest.git mcpelauncher | |
| git clone --recursive https://github.com/minecraft-linux/msa-manifest.git msa | |
| git clone --recursive https://github.com/minecraft-linux/mcpelauncher-ui-manifest.git mcpelauncher-ui | |
| ######################################################## | |
| # mcpelauncher | |
| cd $MINECRAFT_LINUX_ROOT/mcpelauncher | |
| git checkout qt6 | |
| git submodule sync --recursive | |
| git submodule update --init --recursive --checkout | |
| mkdir build && cd build | |
| cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release \ | |
| -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ | |
| -DCMAKE_INSTALL_PREFIX="$PREFIX" \ | |
| -DCMAKE_PREFIX_PATH="$(brew --prefix qt@6)" \ | |
| -DOPENSSL_ROOT_DIR="$(brew --prefix openssl@3)" | |
| ninja | |
| ninja install | |
| ######################################################## | |
| # msa | |
| cd $MINECRAFT_LINUX_ROOT/msa | |
| git checkout qt6 | |
| git submodule sync --recursive | |
| git submodule update --init --recursive --checkout | |
| mkdir build && cd build | |
| cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release \ | |
| -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ | |
| -DQT_VERSION=6 \ | |
| -DCMAKE_INSTALL_PREFIX="$PREFIX" \ | |
| -DCMAKE_PREFIX_PATH="$(brew --prefix qt@6)" \ | |
| -DENABLE_MSA_QT_UI=ON | |
| ninja | |
| ninja install | |
| ######################################################## | |
| #### mcpelauncher-ui | |
| cd $MINECRAFT_LINUX_ROOT/mcpelauncher-ui | |
| git checkout qt6 | |
| git submodule sync --recursive | |
| git submodule update --init --recursive --checkout | |
| mkdir build && cd build | |
| cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release \ | |
| -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ | |
| -DCMAKE_INSTALL_PREFIX="$PREFIX" \ | |
| -DCMAKE_PREFIX_PATH="$(brew --prefix qt@6)" \ | |
| -DOPENSSL_ROOT_DIR="$(brew --prefix openssl@3)" | |
| ninja | |
| ninja install | |
| ######################################################## | |
| find /Applications/Google\ Chrome.app -name 'libEGL.dylib' | |
| # /Applications/Google Chrome.app/Contents/Frameworks/Google Chrome Framework.framework/Versions/141.0.7390.123/Libraries/libEGL.dylib | |
| # /Applications/Google Chrome.app/Contents/Frameworks/Google Chrome Framework.framework/Versions/140.0.7339.81/Libraries/libEGL.dylib | |
| # /Applications/Google Chrome.app/Contents/Frameworks/Google Chrome Framework.framework/Versions/142.0.7444.60/Libraries/libEGL.dylib | |
| MINECRAFT_LINUX_ROOT=~/proj/minecraft-linux | |
| cd $MINECRAFT_LINUX_ROOT/bin | |
| cp /Applications/Google\ Chrome.app/Contents/Frameworks/Google\ Chrome\ Framework.framework/Versions/xxx.x.xxxx.xxx/Libraries/(libEGL|libGLESv2).dylib . | |
| ######################################################## | |
| MINECRAFT_LINUX_ROOT=~/proj/minecraft-linux && PATH=$MINECRAFT_LINUX_ROOT/bin:$PATH && cd $MINECRAFT_LINUX_ROOT/bin && mcpelauncher-ui-qt | |
| # 2025-11-01 | |
| # OK: 1.21.114.1 | |
| # NG: 1.21.120.4 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment