bedrock-linux-gdk nightly

Minecraft Bedrock Edition for Linux

Bedrock Linux GDK

Native Crystal launcher for Minecraft Bedrock Windows GDK on Linux.

Built with the same application stack as RestartFU/xd's Crystal rewrite:

  • Crystal
  • GTK4 through gtk4.cr
  • libadwaita through gi-crystal
  • custom modern-black GTK CSS
  • Shards

Bundled first-party Crystal engine uses a small command protocol (versions, setup, play, login, doctor, repair, update). Launcher UI and engine state remain separate, making long-running game processes non-blocking and independently testable.

Features

  • Native GTK4/libadwaita interface
  • Stable and preview Minecraft version picker
  • Install, update and launch workflows
  • Microsoft sign-in status and login
  • Account manager for adding and switching isolated Microsoft accounts
  • Independent concurrent sessions with separate accounts, prefixes, worlds and shared game installs
  • Fail-fast Play pipeline: system checks run before downloads; account checks run before launch
  • First-party Crystal install, update and launch engine
  • Crystal-owned Microsoft/Xbox sign-in; Minecraft never opens for authentication
  • Per-session refresh tokens and Xbox service credentials, renewed before play
  • System, network and Wine-prefix diagnostics
  • Live activity output with cancellation
  • Automatic official UMU and GDK-Proton setup
  • Original voxel grass-block app icon

Concurrent sessions keep separate account state, Wine prefixes and worlds. Minecraft versions and downloads are shared, so adding or switching an account never reinstalls the game.

Requirements

  • x86_64 Linux with Vulkan support
  • curl, tar and unzip
  • Docker only when building from source

Build

Docker is the supported build environment. Host only needs Docker:

make build
./dist/bedrock-linux-gdk.sh

Build output is a relocatable x86_64 bundle containing Crystal, GTK4, libadwaita and their complete runtime library closure. It runs on regular glibc distributions and NixOS.

One-line install

Rolling nightly:

curl -fsSL https://github.com/RestartFU/bedrock-linux-gdk/releases/download/nightly/install.sh | sh

Latest tagged release:

curl -fsSL https://github.com/RestartFU/bedrock-linux-gdk/releases/latest/download/install.sh | sh -s -- --release

Local bundle:

./scripts/install.sh --from ./dist

Uninstall nightly:

curl -fsSL https://github.com/RestartFU/bedrock-linux-gdk/releases/download/nightly/install.sh | sh -s -- --uninstall

Tests

make test

Tests also run entirely in Docker.

Updates

Header update button checks current channel. Release builds track latest semantic release; nightly builds track rolling nightly commit. Clicking an available update exits cleanly and reruns same atomic installer.

Publishing stable releases

Open Actions → release → Run workflow, then choose:

  • patch for 0.0.1
  • minor for 0.1.0
  • major for 1.0.0

The workflow updates every version source, commits the bump to main, creates an annotated tag, runs Docker tests/build, checksums the bundle and publishes a normal GitHub release. Direct vX.Y.Z tag pushes remain supported when the tag already matches the source version.

Engine selection

Discovery order:

  1. BEDROCK_LINUX_GDK_BACKEND=/absolute/path/to/engine for development
  2. Bundled bedrock-linux-gdk-engine

No desktop-entry discovery or third-party launcher fallback exists. Engine state stays in launcher-owned session storage for each command.

Data compatibility

The app reads and merges the backend's existing settings.json; unknown keys are preserved. All launcher-managed state lives under bedrock-linux-gdk:

  • Native: ${XDG_DATA_HOME:-~/.local/share}/bedrock-linux-gdk
  • Extra sessions: <data root>/sessions/<session>

Every engine command receives its session root through BEDROCK_LINUX_GDK_HOME. Existing state outside bedrock-linux-gdk is not reused, modified or locked.

License

Launcher code is MIT. Bundle also includes a pinned LGPL-2.1 WineGDK runtime component with its license in libexec/bedrock-linux-gdk/COPYING.WineGDK.

Repository

bedrock-linux-gdk

Owner
Statistic
  • 1
  • 0
  • 0
  • 0
  • 1
  • about 1 hour ago
  • July 30, 2026
License

MIT License

Links
Synced at

Thu, 30 Jul 2026 20:25:26 GMT

Languages