The Flarial Client launcher for Minecraft Bedrock Edition (Windows GDK build), running on macOS through Wine. A fork of flarialmc/linux with a macOS backend; see MACOS.md for the port details.
- Flarial OAuth sign-in
- Release, Beta or Custom client DLL
- Install, select and delete Minecraft Bedrock GDK versions, downloaded with your own Microsoft account
- Xbox Live sign-in inside the game (friends, servers, Realms)
- The Wine engine (Wine 11 + DXMT) and Wine prefix are downloaded and managed for you
- Signed and notarized
Flarial.appthat updates itself
- A Mac with Apple Silicon, macOS 14 or newer
- Rosetta 2 (the launcher offers to install it if missing)
- A Microsoft account that owns Minecraft for Windows (Bedrock)
- Disk space for the engine plus the game itself
Keyboard and mouse work; controllers do not yet (the GameInput service crashes under Wine).
Download Flarial.dmg, open it and drag Flarial.app to Applications.
Run it from Applications, not from the DMG: the launcher replaces its own bundle when it updates, so it needs a writable location.
Delete Flarial.app from Applications. To also remove games, the Wine prefix and logins, delete
~/Library/Application Support/Flarial/macOS.
- Open the launcher and sign in to Flarial (Settings > Accounts).
- Sign in to your Microsoft account (Settings > Accounts > Microsoft), then open Settings > Versions and download a Minecraft version.
- Press Launch. The first launch is slow: the engine is downloaded and the Wine prefix is created. Later launches are much faster.
Everything is under ~/Library/Application Support/Flarial/macOS:
| Path | Contents |
|---|---|
games/ |
Downloaded Minecraft versions (Settings > General > Open Installation Directory) |
prefix/ |
Wine prefix; the Flarial client folder lives inside it (Settings > General > Open Client Folder); game data, worlds and packs are in its AppData/Roaming/Minecraft Bedrock (Open Data Directory, or use the Import buttons for .mcpack/.mcworld/.mcaddon/.mctemplate files) |
engine/, xodus/ |
Wine + DXMT engine and xodus-cli |
xodus-home/, msa/, winegdk-preauth/ |
Microsoft/Xbox login state (Flarial credentials are in the Keychain) |
launcher/ |
Previous launcher bundle kept for rollback after an update |
logs/ |
Logs |
settings.json |
Optional advanced settings (inject_delay, inject_settle_ms, custom_env, ray_tracing, diagnostics) |
Logs are in ~/Library/Application Support/Flarial/macOS/logs: launcher.log, launch.log (launch timeline), minecraft.log (game
output), injector.log, plus xodus.log, xbox.log, prefix.log, setup.log, dependencies.log and updater.log.
- "Device group is full": your Microsoft account has reached its device limit. Remove a device at https://account.microsoft.com/devices/content and try again.
- First launch takes a long time: expected, see above. Do not close the launcher while it is installing.
- Game refuses to launch with a license error: the account must own Minecraft for Windows, and a license check happens on every launch, so you need to be online.
- The launcher does not update: it only updates itself when
Flarial.appis in a writable folder such as Applications, not when run from the DMG.
- The game is downloaded with
xodus-cli(arm64 build of flarialmc/xodus branchflarial-macos) using your Microsoft account, and decrypted on every launch after a license check. Game files are never redistributed. - The game runs on Wine 11 (x86_64 under Rosetta 2) with DXMT translating D3D11 to Metal. A stub
d3d12.dllmakes the game fall back to its D3D11 renderer. xgameruntime.dll/mcwinrt.dllshims provide the GDK runtime and the WinRT classes Wine lacks, including Xbox device-code sign-in.- The decrypted game is staged in a private RAM disk by a launch wrapper, then the Flarial client DLL is injected with a small Windows injector run under Wine, which also hands the client your Flarial account access token, see docs/account-payload.md.
Architecture:
src/Flarial.Launcher: Avalonia UI and view models, ported 1:1 from flarialmc/Flarial.Launchersrc/Flarial.Runtime: cross-platform backend (HTTP, OAuth, DLL download, version registry, settings) that talks to the OS only throughPlatform/Platform.cssrc/Flarial.Runtime.Mac: macOS backend. Compiles the OS-neutral sources ofFlarial.Runtime.Linuxunchanged and replaces the Linux-specific parts (engine, prefix, launch wrapper, process scan, Keychain, updater); GDK shims inNative/shimssrc/Flarial.Runtime.Linux: Linux backend, shared with upstreamsrc/Flarial.Runtime.Windows: original Windows sources, synced with upstream and not built
src/Directory.Build.props selects the Mac backend when building on macOS.
Requires the .NET 10 SDK on macOS.
dotnet run --project src/Flarial.Launcher
tools/make-app-macos.sh # publish/Flarial.app (ad hoc signed unless MACOS_SIGN_IDENTITY is set)
tools/make-dmg-macos.sh publish/Flarial.app Flarial.dmgThe GDK shims are rebuilt with src/Flarial.Runtime.Mac/Native/build-shims.sh; the engine and xodus-cli release assets are packaged with
tools/package-engine-macos.sh and tools/build-xodus-macos.sh.
Self-tests (run them with a scratch home so they never touch your install: T=$(mktemp -d); HOME=$T Flarial.Launcher --selftest-<name>):
--selftest-dependencies, --selftest-procscan, --selftest-engine, --selftest-prefix, --selftest-payload, --selftest-import.
FLARIAL_MAC_SEED_ENGINE=<Libraries dir> links an existing engine instead of downloading it.
Pushing a commit to main whose subject starts with release: starts a release in two stages:
.github/workflows/macos.ymlbumpsversion.txt, builds and signsFlarial.appwith the Developer ID certificate and submits it to Apple's notary service, parking it on a draft releasemac-pending-<version>..github/workflows/macos-publish.ymlchecks the submission every 20 minutes. Once accepted, it staples the app, builds, notarizes and staplesFlarial.dmg, signs the update archive and pushes everything toflarialmc/newcdnlauncher/macos/, which serves it from cdn.flarial.xyz.
See MACOS.md for the secrets and the update flow.
The UI must match the upstream Windows launcher. Do not restyle it; any necessary difference is recorded in docs/ui-deviations.md. Backend changes should go through the interfaces in Platform/Platform.cs.
GPL-3.0, see LICENSE, matching upstream Flarial.Launcher. Third-party components and their licenses are listed in CREDITS.md.
This project is not affiliated with, endorsed by or sponsored by Mojang Studios, Microsoft or Apple. Minecraft is a trademark of Mojang/Microsoft. You must own a legitimate copy of Minecraft for Windows; the launcher downloads the game from Microsoft's servers under your own license and does not bypass licensing. Piracy is not supported.