BedrockOnLinux

Home/Details

Everything the home page leaves out.

What your machine needs, where the game actually comes from, and what to do when something misbehaves.

What you need

Every build is x86-64.

  • An x86-64 desktop with glibc. Checked against a glibc 2.31 baseline. You do not need a 32-bit userspace. ARM and musl-only systems such as stock Alpine are out of scope.

  • A Vulkan 1.3 driver exposing VK_EXT_device_generated_commands, or the older NVIDIA VK_NV_device_generated_commands. The bundled vkd3d-proton payload carries both.

  • X11 or XWayland for the launcher window. The game normally uses XWayland too. Native Wine Wayland exists behind BOL_INPUT=wayland, but it stays experimental.

  • A Microsoft account that owns Minecraft. Required to install at all, not only to play online.

  • Disk space for the game, the compressed engine and a temporary extraction. Running out is harmless: free some space and press PLAY again.

  • WebKitGTK (libwebkit2gtk-4.1-0) for the Store sign-in window. The .deb and .rpm pull it in, and doctor reports it when missing.

Under the hood

Where the game comes from, and what runs it

Xodus signs in to your Microsoft account, asks Microsoft's licensing service for the title licence, then streams the MSIXVC package straight from the Xbox CDN and decrypts it on the way. This is the same path Windows takes.

The game then runs on a GDK-Proton engine built from a WineGDK fork. You never need a compiler, a Windows install or a second machine.

There is no version list. The Xbox CDN serves only the current build of each edition, so you get whatever Microsoft ships today, exactly as on Windows. The launcher re-checks for a delta every twelve hours and downloads only what changed.

Engine integrity

  • The engine is not built on your computer. The launcher accepts only the revision and archive SHA-256 recorded in bol/config.py.

  • WineGDK is built in an unprivileged Debian 11 chroot. Any binary needing a glibc symbol newer than 2.31 is rejected.

  • The exact source commit, the reviewed patches and per-file hashes live under third_party/.

  • Installation uses a lock and a transactional rename, so an interrupted update can never quietly become the active engine.

  • Nothing touches Minecraft while it runs. Three files are adjusted on disk before launch, each behind a byte fingerprint that skips the edit when it no longer matches.

Good to know

Stuck on Vulkan 1.2?

Settings, Advanced, Legacy compatibility renderer exists, but treat it as a last resort: it swaps the whole Direct3D stack to WineD3D. Minecraft renders purely through D3D12, so this replaces exactly the renderer it uses. Artifacts are common and performance may not improve.

Achievements

Your existing list loads. New ones do not unlock yet: Xbox awards those from in-game events, and that path is not implemented. Nothing is unlocked, emulated or forced.

Several players, one machine

Separate Xbox profiles keep accounts, prefixes and worlds apart, while the multi-gigabyte game and its caches stay shared.

If your desktop froze, do not just retry. Find out why the session died, then reboot. A fatal GPU event in the kernel log means fixing the driver first. Once the launcher can prove the incident belongs to a previous boot, Settings, Tools offers to acknowledge it.

When something misbehaves

Start with bedrock-on-linux doctor: host dependencies and graphics safety, in plain words. Run bedrock-on-linux doctor --network for DNS, TLS, clock and VPN observations.

Logs live in ~/.local/share/bedrock-on-linux/logs/, and Settings, Open logs folder opens them.

A bug report is far easier to act on with the launcher version, engine revision, Minecraft version, distribution, GPU and driver, plus the relevant logs. Never include account tokens.

Report a bug Ask on Discord

From a terminal

bedrock-on-linux doctor     # host deps + GPU safety
bedrock-on-linux play       # launch right now
bedrock-on-linux shortcut   # desktop / Steam entry
bedrock-on-linux import world.mcworld

On your PATH with the .deb and .rpm. The AppImage, .pyz and Flatpak take the same commands through their own entry point.

More questions

Does it run on Steam Deck?

Yes, Game Mode included. Add either the launcher or the generated Minecraft Bedrock shortcut as a non-Steam game. In Game Mode the launcher steps aside while the game runs, then comes back when you quit.

Can I install an older Minecraft version?

No. The Xbox CDN serves only the current build of each edition, so there is no way to match a server frozen on an older one. Updates arrive on their own.

Does it work on Wayland?

The launcher window needs X11 or XWayland, and the game normally uses XWayland too. Native Wine Wayland is available with BOL_INPUT=wayland, but it is experimental and does not remove the launcher's own requirement.

Does it modify Minecraft?

Not while it runs. The engine never scans or rewrites the Minecraft process, and packaging rejects any build that still contains that code. Before launch, three files on disk are adjusted: two Wine libraries and the game executable's stack size, which prevents a crash in the settings and pause menus. Every edit checks a byte fingerprint first and is skipped when the bytes no longer match.

Can I bring my worlds, add-ons and skins?

Yes. Files ending in .mcworld, .mcaddon, .mcpack, .mctemplate and .mcskin import from the command line, and nothing already installed is overwritten. Import World and custom-skin selection open your real desktop file chooser.

Does it run on ARM, a Raspberry Pi or Alpine?

No. Every build is x86-64 and glibc-based. ARM and musl-only systems are out of scope.

Is it free?

Yes. BedrockOnLinux is free and open source under the MIT licence. You still need to own the game.

Back to the home page.