Skip to content

Instantly share code, notes, and snippets.

@takeru
Created November 1, 2025 10:55
Show Gist options
  • Save takeru/8608e190418b1a1b91df5cf1188969c6 to your computer and use it in GitHub Desktop.
Save takeru/8608e190418b1a1b91df5cf1188969c6 to your computer and use it in GitHub Desktop.
Apple SiliconマシンでMinecraft Bedrock版を動かす
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.
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
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