Minecraft Bedrock (Windows / GDK edition) on Linux, with native in-game Microsoft sign-in and multiplayer. Install it, pick a version, play.
Ubuntu · Debian · Linux Mint / LMDE · Fedora · Arch · openSUSE

One app, everything automatic:
XUser + request signing, so you sign in to Microsoft inside the game
— no relay, no proxy;options.txt, then launches the game.You then play like on any platform: sign in, open Play ▸ Servers, and join native Bedrock servers (Hive, CubeCraft, …) or crossplay/Geyser servers.
Debian / Ubuntu / Mint — .deb
sudo apt install ./bedrock-on-linux_*_all.deb
Any distro — AppImage
chmod +x BedrockOnLinux-*-x86_64.AppImage && ./BedrockOnLinux-*-x86_64.AppImage
Portable — single-file .pyz (any distro with Python 3)
chmod +x bedrock-on-linux-*.pyz && ./bedrock-on-linux-*.pyz gui
Flatpak
flatpak install --user ./BedrockOnLinux-*-x86_64.flatpak
flatpak run io.github.wyze3306.BedrockOnLinux
Build it yourself with
scripts/build-flatpak.sh(seeflatpak/README.md).Needs:
python3,python3-tk,tar,zstd, and Pythoncryptography(for Microsoft sign-in). The.deband Flatpak pull these in; on the AppImage/.pyzthe launcher auto-installscryptographyon first login (or runpip install --user cryptography).bedrock-on-linux doctorreports anything missing.
The first PLAY downloads the version and the engine (once); after that it just starts. Everything else is handled for you — no build tools needed.
The game runs on a WineGDK-based GDK-Proton ("the engine"). On first launch
the launcher downloads a prebuilt engine from the releases and unpacks it —
just like the game itself. You do not need a compiler or any -dev
packages.
Only when no prebuilt has been published for the current engine revision does the launcher fall back to building Wine from source (a long build that needs the mingw toolchain) — a path meant for developers iterating on the fork.
Maintainers — publishing a prebuilt engine: build it once
(bedrock-on-linux setup --force), then package and upload:
scripts/package-engine.sh # → dist/GDK-Proton-xuser-<rev>.tar.gz
gh release upload v1.0.0 dist/GDK-Proton-xuser-*.tar.gz --clobber
The launcher finds the asset by name (GDK-Proton-xuser-<rev>.tar.gz) across
the app's releases, so it can hang off any tag. Bump WINEGDK_BUILD_REV in
bol/config.py whenever the engine changes, then publish a fresh asset.
bedrock-on-linux # open the launcher (same as 'gui')
bedrock-on-linux versions # list available Minecraft versions
bedrock-on-linux setup --mc 1.26.21.1 # download + prepare a version
bedrock-on-linux login # sign in to a Microsoft account
bedrock-on-linux play # launch
bedrock-on-linux repair # reset a broken Wine prefix
bedrock-on-linux doctor # check host requirements
bedrock-on-linux update # check for and install a launcher update
The launcher also checks for updates on its own: when a newer version is
released, a banner appears at the top of the window with an Update now
button (one click downloads and installs it, then offers to restart). Git
checkouts are left alone — git pull there — and packaged installs (.deb,
Flatpak) point you at your package manager instead.
Use ⚙ Settings ▸ Open logs folder
(~/.local/share/bedrock-on-linux/logs/), or ⚙ Settings ▸ Repair to
rebuild a broken Wine prefix. The live step-by-step log is also under
Details in the launcher.
BedrockOnLinux ships no Minecraft files — it is a compatibility launcher.
Game files come from a source you choose (default: the community archive
bubbles-wow/mcbe-gdk-unpack-archive)
or your own folder; you must own Minecraft. GDK-Proton and WineGDK are
free software under their own licenses. Realms is not supported.
scripts/build-release.sh # .deb + AppImage + portable .pyz → dist/
scripts/build-flatpak.sh # Flatpak bundle → dist/ (needs flatpak-builder)
The launcher is a small Python package, bol/ — one module per
concern (config, auth, prefix, fixups, launch, gui, …) behind the
thin bedrock-on-linux entry point. The portable artifact is that package
zipped into a single executable .pyz; the .deb/Flatpak/AppImage ship the
package alongside the entry point.
MIT — see LICENSE.
$ claude mcp add BedrockOnLinux \
-- python -m otcore.mcp_server <graph>