Files
Unlucky-Launcher/packaging/release-notes.md
T
AskaEth 7704a75424 fix(docs): M118 r1 —— release notes / NOTICE 停止自称 Slint 版,packaging README 补两处旧口径限定语
复审 r1 的两条 P2,都只动文档(`packaging/release-notes.md`、`NOTICE`、`packaging/README.md`)。

P2-1(发版阻断项):`packaging/release-notes.md` 是 Release body 模板,`NOTICE` 装在每个 tar.gz 里,
两者都仍自称 Slint 版:
- release notes:首段 `Slint + Metro UI` → `iced 0.14 + Material 3 Expressive UI`;「No GPU」小节从
  femtovg / `SLINT_BACKEND=winit-software` 改成 wgpu + tiny-skia / `ICED_BACKEND=tiny-skia`;
  删掉页面的 `Made with Slint` 徽章声明,换成「本版所有资产都由 iced 构建、不含 Slint 代码;
  Slint 版源码仅作历史参考、不构建不发布;RF-2.0 徽章义务跟着链接 Slint 的二进制走,本版没有」。
- NOTICE:第 1 条标题改「Slint —— 历史源码,不随任何产物分发」,正文明确「当前 GUI 框架是 iced、
  二进制不含 Slint 代码;crates/app 已被 workspace exclude,不参与构建/测试/发布」;RF-2.0 义务改成
  「对当前产物不适用,仍挂在 v0.1.0 那批已发布资产上」。**没有整条删除**:仓库里确实还有基于 Slint
  写的历史源码,且将来若重新链接 Slint 义务要恢复,留记录比删掉更安全——依据写进报告。
  另在第 3 条补一句「当前 GUI 框架:iced 0.14(MIT)+ winit / wgpu / tiny-skia」。

P2-2:`packaging/README.md`(净零行,仍 399 ≤400)
- §4 的 `libGL/libEGL` 说明从 femtovg 改成 wgpu 的 GL/EGL 后端 + tiny-skia 软渲染,并加一段
  「M118 口径」:那张表与 DT_NEEDED 结论是 Slint 版实测,iced 版**尚未重测**,按「同一族库、细节待验」读。
- §11 的本地复跑命令补限定语:`linux-smoke-docker.sh` 仍编/跑 Slint 版 bin,现在会失败;在它换成
  `unlucky-launcher-iced` 之前,本地照 ci.yml 的 runtime-smoke 三步手跑。段落未删。

证据:`git diff --name-only` 仅这三份;release-notes 的 `{{VERSION}}`(15) / `{{SUMS}}`(1) 占位符仍在,
模板渲染走查通过;`packaging/README.md` 399 行(守卫上限 400)。另按复审要求二次单跑
`cargo test -p unlucky-core --test launch pipeline_records_crash_report_artifact` → ok(0.16s)。
2026-11-04 00:09:39 +08:00

5.9 KiB

Unlucky Launcher {{VERSION}}

Rust-native single-file Minecraft launcher: iced 0.14 + Material 3 Expressive UI, built-in AI agent (chat / config edits / crash diagnosis) and an MCP server other agent tools can attach to. No WebView, no bundled runtime, no JRE download needed to start the launcher itself.

Downloads

Platform Asset Notes
Windows 10/11 x64 unlucky-launcher-{{VERSION}}-windows-x64.exe single exe, double-click to run
Windows 11 ARM64 unlucky-launcher-{{VERSION}}-windows-arm64.exe single exe, runs natively on ARM64 Windows
Linux x64 (X11/Wayland) unlucky-launcher-{{VERSION}}-linux-x64.tar.gz single binary inside, no installer
Linux arm64 (X11/Wayland) unlucky-launcher-{{VERSION}}-linux-arm64.tar.gz single binary inside; needs glibc 2.35+
macOS 12+ Apple Silicon unlucky-launcher-{{VERSION}}-macos-arm64.tar.gz single binary inside, no installer
macOS 12+ Intel unlucky-launcher-{{VERSION}}-macos-x64.tar.gz single binary inside, no installer

LICENSE, NOTICE and README.md ship in every archive; on Windows they are attached to this release next to the .exe (a lone exe cannot carry them), so the license terms travel with the download on every platform.

Every slot also ships the command line as its own small asset — ull-{{VERSION}}-<slot> (.exe on Windows):

chmod +x ull-{{VERSION}}-linux-x64             # Release 资产不带可执行位,先补上
./ull-{{VERSION}}-linux-x64 instances list     # servers / CI / Termux: no graphics stack needed
unlucky-launcher instances list                # desktops: the GUI binary answers the same commands

ull runs instances, install, launch, accounts, sessions, logs, diag, config, java and agent, and links no graphics library at all. The GUI binary accepts the same set before it ever opens a window, so on a machine with a desktop you do not need ull.

Support matrix

Platform Level Runtime requirements
Windows 10/11 x64 first class nothing beyond the OS (UCRT is part of Win10+)
Windows 11 ARM64 first class (launcher artifact) nothing extra; launcher runs natively, the game itself runs through the OS x64 emulation layer with an x64 JDK
macOS 12+ (arm64 / x64) first class nothing; unsigned build, see Gatekeeper note
Linux x64, X11 first class libxkbcommon, fontconfig, libGL (or software renderer), libxcb
Linux x64, Wayland supported wayland-client, libxkbcommon, plus the X11 set for XWayland apps
Linux arm64, X11 first class glibc 2.35+ (built on ubuntu-22.04-arm, same floor as x64), libxkbcommon, fontconfig, libGL, libxcb
Linux arm64, Wayland supported the above plus wayland-client
Windows 8.1/8/7 unsupported baseline was raised to Win10 (decision D21)
Android — Termux + X11 experimental, not promised CLI only (the ull asset, or build from source), GUI unverified; not part of this release matrix

Both arm64 rows are formally released slots (the assets ship in this release and in SHA256SUMS.txt), not the experimental Termux path: Linux arm64 is built and smoke-tested on a native ARM64 runner, Windows ARM64 is cross-built with the same static-CRT gate as x64.

Install

Windows — put the .exe anywhere and run it (pick -windows-arm64.exe on ARM64 Windows, -windows-x64.exe everywhere else). Portable data lives next to the exe when a portable.marker file is present, otherwise under %APPDATA%.

Linux

tar -xzf unlucky-launcher-{{VERSION}}-linux-x64.tar.gz   # use linux-arm64 on aarch64
cd unlucky-launcher-{{VERSION}}-linux-x64                # ditto
chmod +x unlucky-launcher && ./unlucky-launcher

macOS

tar -xzf unlucky-launcher-{{VERSION}}-macos-arm64.tar.gz
cd unlucky-launcher-{{VERSION}}-macos-arm64
xattr -d com.apple.quarantine unlucky-launcher   # unsigned build, Gatekeeper quarantine
chmod +x unlucky-launcher && ./unlucky-launcher

No GPU? Software renderer

The UI renders through wgpu (GPU) and falls back to the tiny-skia CPU rasteriser when no usable adapter is present. Force the CPU path on any machine with:

unlucky-launcher --software-renderer          # or: ICED_BACKEND=tiny-skia unlucky-launcher

Verify the download

# Linux / macOS
sha256sum -c SHA256SUMS.txt --ignore-missing
# Windows (PowerShell)
Get-FileHash .\unlucky-launcher-{{VERSION}}-windows-x64.exe -Algorithm SHA256

Checksums

{{SUMS}}

Known limitations of this build

  • Microsoft (MSA) account login depends on a Mojang app-id whitelist that is still pending; until it is granted, use offline accounts or authlib-injector (the 403 is reported with a readable diagnostic instead of a silent failure).
  • Binaries are not code-signed / notarized yet: Windows SmartScreen and macOS Gatekeeper warn on first launch. Checksums above are the integrity reference for now.
  • macOS ships the bare binary (single-file promise), not a .app bundle: no Dock icon or Finder double-click — launch it from a terminal.

License

Apache-2.0. Third-party notices are in NOTICE. Unlucky Launcher is not affiliated with Mojang or Microsoft; it does not ship game files.

UI framework in this build

Every asset in this release is built from the iced UI (crates/app-iced, iced 0.14, MIT) — no Slint code is linked into it. The earlier Slint UI (crates/app) stays in the repository as historical source only: excluded from the cargo workspace, not built, not part of any asset here and not part of the release matrix. It did ship in the previous v0.1.0 release; that release's Slint Royalty-Free 2.0 attribution remains where it was published, and no asset in this build carries that obligation. There is deliberately no "Made with Slint" badge on this page: the obligation follows a Slint-linked binary, and this release has none.