fix(docs): M118 r2 —— 发布页第二形态换成实测可用的 --renderer=cpu,NOTICE 停止声称 RF-2.0 已履行
复审 r2 的 2 条 P1 + 3 条 p2 小账,全部只动文档(5 份,0 个 .rs)。
P1-1(`SLINT_BACKEND` → `ICED_BACKEND` 换了个名字的死开关):
`packaging/release-notes.md` 的「No GPU」小节原来把 `ICED_BACKEND=tiny-skia` 当作
`--software-renderer` 的等价替代命令给用户。实测该值会被本进程无条件覆盖:
- `ICED_BACKEND=tiny-skia ./unlucky-launcher-iced.exe --screenshot …`
→ `[probe] … request=auto -> ICED_BACKEND=wgpu` / `[shot] … renderer=wgpu` / `[backend] final=wgpu`
- `--software-renderer --screenshot …` → `request=cpu -> ICED_BACKEND=tiny-skia` / `renderer=tiny-skia`
- `--renderer=cpu --screenshot …` → `request=cpu -> ICED_BACKEND=tiny-skia` / `renderer=tiny-skia`
所以改成两条都实测可用的形态(`--software-renderer` / `--renderer=cpu`),不再把环境变量当用户开关。
P1-2(RF-2.0 履行方式的措辞与上游 §2 冲突):
`NOTICE` 第 1 条原写「由 v0.1.0 的 NOTICE、发布页说明与本文件的历史记录共同承担」——§2 只承认
(a) AboutSlint 部件 / (b) 公开下载页的官方徽章两种履行,NOTICE 文本不是履行。改为:义务仍挂在
v0.1.0 已发布资产上(条件挂在每次分发,不挂版本号);§2 只承认两种形式;**按本仓库记录,该项义务
在 v0.1.0 上尚未以任一形式落地**(部件一直只有排期,发布页那行是文字链接不是徽章图);NOTICE /
发布页说明 / 本节都只是记录。
p2 小账:
- `NOTICE` 第 3 条的依赖许可:`tiny-skia` 从「Apache-2.0 / MIT」改正为 BSD-3-Clause,并把
winit(Apache-2.0)/ wgpu(MIT OR Apache-2.0)分别写明;README(中英)同款写法一并对齐。
- `packaging/README.md` §4:`libGL/libEGL` 行改成「Slint 版 femtovg / iced 版 wgpu(推断,未实测)」,
并把限定语改成「除标注『推断,未实测』的那一行外,整表是 Slint 版实测」,消除表内与限定语打架。
- `README.md` / `README.zh-CN.md` 的 Slint 义务段补 `v0.1.0` 限定并按 §2 口径重写,避免读者以为
「Made with Slint」说的是下一版。
证据:`git diff --name-only` = NOTICE, README.md, README.zh-CN.md, packaging/README.md,
packaging/release-notes.md;`packaging/README.md` 仍 399 行(守卫上限 400);release body 模板用
`{{VERSION}}=0.2.0` 渲染通过(5956 字符,全篇 Slint 命中 4 行,均在「本版不含 Slint」的解释段)。
This commit is contained in:
1 parent
7704a75424
commit
e827f7a0ef
5 files changed
+32
-22
No files matched your search
@@ -14,9 +14,13 @@ Copyright 2026 AskaEth (YeiJ)
|
||||
`exclude`,不参与构建、测试与发布,也不会进入本项目的任何 Release 资产。
|
||||
|
||||
因此 Slint Royalty-Free 2.0(LicenseRef-Slint-Royalty-free-2.0)**对当前产物不适用**;它适用的是
|
||||
此前已发布、且确实链接了 Slint 的 `v0.1.0` 构建。那条义务(关于页放 AboutSlint 部件,或公开下载页放
|
||||
「Made with Slint」徽章)**仍然挂在 v0.1.0 那批已发布资产上**,由 v0.1.0 的 NOTICE、发布页说明与本
|
||||
文件的历史记录共同承担;本文件保留这一节,是为了不让这条记录丢失,而不是声明本产品依赖 Slint。
|
||||
此前已发布、且确实链接了 Slint 的 `v0.1.0` 构建。那条义务**仍然挂在 v0.1.0 那批已发布资产上**
|
||||
——条件挂在每一次「随应用分发」上,而不是挂在某个版本号上。上游许可 §2 只承认两种履行方式:
|
||||
(a) 应用「关于」页显示 `AboutSlint` 部件;(b) 在可下载该二进制的公开网页上显示官方 Slint 归属徽章。
|
||||
**按本仓库的记录,该项义务在 v0.1.0 上尚未以上述任一形式落地**:关于页的 `AboutSlint` 部件一直只有
|
||||
排期、从未落地;v0.1.0 发布页上那一行是文字链接,不是 §2(b) 点名的官方徽章图。因此 v0.1.0 的 NOTICE、
|
||||
发布页说明与本文件这一节**都只是记录,不构成履行**。本文件保留这一节,是为了不让这条记录丢失,
|
||||
而不是声明本产品依赖 Slint。
|
||||
|
||||
若将来重新把 `crates/app` 纳入构建并发布链接 Slint 的二进制,该义务随之恢复——届时需同时恢复
|
||||
AboutSlint 部件/徽章与本节的现行声明。Slint 的其余许可分支(GPL-3.0-only / Slint Software
|
||||
@@ -49,7 +53,8 @@ Copyright 2026 AskaEth (YeiJ)
|
||||
|
||||
3. Rust crates 生态
|
||||
|
||||
当前 GUI 框架:iced 0.14(MIT),连同 winit、wgpu、tiny-skia(Apache-2.0 / MIT)——它们都在下面的白名单内。
|
||||
当前 GUI 框架:iced 0.14(MIT),连同 winit(Apache-2.0)、wgpu(MIT OR Apache-2.0)、
|
||||
tiny-skia(BSD-3-Clause)——它们都在下面的白名单内。
|
||||
cargo-deny 白名单见 deny.toml:Apache-2.0 / MIT / BSD-2-Clause / BSD-3-Clause / Zlib / BSL-1.0 / ISC /
|
||||
CC0-1.0 / MIT-0 / Unlicense / Unicode-3.0 / CDLA-Permissive-2.0 / Apache-2.0 WITH LLVM-exception。
|
||||
GPL 系(含 AGPL、LGPL 静态链接、SSPL)依赖不得进入主干。
|
||||
|
||||
@@ -229,14 +229,17 @@ Minimum baseline: **Windows 10**; Windows 8.1 / 8 / 7 are not supported.
|
||||
|
||||
- **This project**: Apache License 2.0, see [LICENSE](LICENSE); third-party notices in
|
||||
[NOTICE](NOTICE).
|
||||
- **Slint** (<https://slint.dev>), Royalty-Free 2.0: obligation for the Slint build that v0.1.0
|
||||
ships — an `AboutSlint` widget on the about page (still outstanding) and, until it lands, the
|
||||
NOTICE file, this section and a "Made with Slint" note on the release page. The obligation follows
|
||||
a **Slint-linked binary**: it applies to the v0.1.0 assets (and to any later build that links Slint
|
||||
again), not to new iced builds — `crates/app` is excluded from the workspace, so the pipeline no
|
||||
longer produces a Slint-linked binary.
|
||||
- **iced** (<https://github.com/iced-rs/iced>), MIT: the framework of the next-generation UI,
|
||||
together with `winit` and, through it, `wgpu` / `tiny-skia` (Apache-2.0 / MIT).
|
||||
- **Slint** (<https://slint.dev>), Royalty-Free 2.0: obligation for the Slint build that `v0.1.0`
|
||||
ships. Upstream §2 admits exactly two ways to discharge it — an `AboutSlint` widget on an about
|
||||
screen, or the official Slint attribution badge on a public download page. By this repository's own
|
||||
record that obligation has **not yet been discharged in either form** for `v0.1.0`: the widget was
|
||||
only ever scheduled, and the `v0.1.0` release page carries a text link rather than the badge. The
|
||||
`v0.1.0` NOTICE, that page's text and this section are **records, not discharge**. The obligation
|
||||
follows a **Slint-linked binary**: it applies to the `v0.1.0` assets (and to any later build that
|
||||
links Slint again), not to new iced builds — `crates/app` is excluded from the workspace, so the
|
||||
pipeline no longer produces a Slint-linked binary.
|
||||
- **iced** (<https://github.com/iced-rs/iced>), MIT: the framework of the UI, together with `winit`
|
||||
(Apache-2.0) and, through it, `wgpu` (MIT / Apache-2.0) / `tiny-skia` (BSD-3-Clause).
|
||||
- **Google Material Color Utilities** (Apache-2.0): the color tokens in `crates/design` are a Rust
|
||||
port of its HCT / ColorSpec2021 algorithms; details and the exact ported functions are listed in
|
||||
[NOTICE](NOTICE).
|
||||
|
||||
+8
-7
@@ -201,13 +201,14 @@ cargo build --release # bin 落在 target/relea
|
||||
## 许可证与致谢
|
||||
|
||||
- **本项目**:Apache License 2.0,见 [LICENSE](LICENSE);第三方声明见 [NOTICE](NOTICE)。
|
||||
- **Slint**(<https://slint.dev>),Royalty-Free 2.0:v0.1.0 发布的正是 Slint 版,这项义务继续有效
|
||||
——关于页放 `AboutSlint` 部件(尚未落地),在此之前由 NOTICE、本节与发布页的「Made with Slint」
|
||||
说明承担告知义务。义务跟着**链接了 Slint 的产物**走:已发布的 `v0.1.0` 资产(以及将来任何重新链接
|
||||
Slint 的构建)适用;`crates/app` 已被 workspace `exclude`,流水线不再产出链接 Slint 的二进制,
|
||||
所以新的 iced 版产物不适用这一条。
|
||||
- **iced**(<https://github.com/iced-rs/iced>),MIT:下一代 UI 的框架;与它同栈的 `winit`、以及经它
|
||||
引入的 `wgpu` / `tiny-skia`(Apache-2.0 / MIT)。
|
||||
- **Slint**(<https://slint.dev>),Royalty-Free 2.0:义务针对 `v0.1.0` 发布的那批构建。上游 §2 只承认
|
||||
两种履行方式——应用「关于」页放 `AboutSlint` 部件,或在公开下载页显示官方 Slint 归属徽章。**按本仓库
|
||||
的记录,这项义务在 `v0.1.0` 上尚未以上述任一形式落地**:关于页的部件一直只有排期、从未落地;`v0.1.0`
|
||||
发布页上是文字链接,不是官方徽章图。`v0.1.0` 的 NOTICE、发布页说明与本节**都只是记录,不构成履行**。
|
||||
义务跟着**链接了 Slint 的产物**走:已发布的 `v0.1.0` 资产(以及将来任何重新链接 Slint 的构建)适用;
|
||||
`crates/app` 已被 workspace `exclude`,流水线不再产出链接 Slint 的二进制,所以新的 iced 版产物不适用。
|
||||
- **iced**(<https://github.com/iced-rs/iced>),MIT:现役 UI 的框架;与它同栈的 `winit`(Apache-2.0)、
|
||||
以及经它引入的 `wgpu`(MIT / Apache-2.0)/ `tiny-skia`(BSD-3-Clause)。
|
||||
- **Google Material Color Utilities**(Apache-2.0):`crates/design` 的色彩令牌是它 HCT /
|
||||
ColorSpec2021 算法的 Rust 重写移植,移植清单与逐函数对照写在 [NOTICE](NOTICE)。
|
||||
- **其余主要依赖**:MCP server 的 `rmcp` 与 `axum`(Apache-2.0 / MIT)、`tokio`(MIT)、`reqwest`
|
||||
|
||||
+2
-2
@@ -147,14 +147,14 @@ Windows ARM64 原生库(Mojang/LWJGL 只发 x64/x86),实际游玩仍走系
|
||||
| glibc ≥ 2.35 | 由 `ubuntu-22.04` 构建决定;更老的发行版请自行重建或等 musl 版 |
|
||||
| `libxkbcommon.so.0` | winit 键盘处理 |
|
||||
| `libfontconfig.so.1` + `libfreetype.so.6` | 文本渲染 |
|
||||
| `libGL.so.1` / `libEGL.so.1` | wgpu 的 GL/EGL 后端;缺失走 tiny-skia 软渲染(历史口径写的是 femtovg) |
|
||||
| `libGL.so.1` / `libEGL.so.1` | Slint 版:femtovg 的 GL 渲染;iced 版:wgpu 的 GL/EGL 后端(**推断,未实测**)。两者缺失都退到 CPU 软渲染(tiny-skia) |
|
||||
| `libxcb.so.1` / `libX11.so.6` | X11 后端(Wayland 会话下也需 XWayland 相关库) |
|
||||
| `libwayland-client.so.0` | Wayland 后端 |
|
||||
|
||||
Debian/Ubuntu 一行:`sudo apt install libxkbcommon0 fontconfig libgl1 libegl1 libxcb1 libx11-6 libwayland-client0`。
|
||||
运行期**不需要** `-dev` 包、不需要 Java(Java 是启动游戏时才由启动器自己管理的东西)。
|
||||
|
||||
**M118(D26)口径**:上面这张表与下面这条结论是 **Slint 版 GUI** 的实测记录(M82:`readelf -d` + `ldd` + `nm -D`);iced 版(`crates/app-iced`)的 `DT_NEEDED` / `dlopen` 集合**尚未重测**,请按「同一族库、细节待验」读,别当成 iced 版的实测承诺。
|
||||
**M118(D26)口径**:除上表里标注「推断,未实测」的那一行外,这张表与下面这条结论都是 **Slint 版 GUI** 的实测记录(M82:`readelf -d` + `ldd` + `nm -D`);iced 版(`crates/app-iced`)的 `DT_NEEDED` / `dlopen` 集合**尚未重测**,请按「同一族库、细节待验」读,别当成 iced 版的实测承诺。
|
||||
仍然成立的部分:上表是**开窗**要用的库,不是进程启动门槛——实测(§7.4,Slint 版)除 `libfontconfig.so.1` 外它们**都不在** ELF 的 `DT_NEEDED` 里,由 `dlopen` 在开窗那一刻才加载,所以没有 X11 / Wayland / GL 的机器上 `unlucky-launcher instances list` 照样跑得起来,`ull` 连 fontconfig 都不需要。
|
||||
arm64 侧同理(同一份依赖树;历史口径里的「winit + femtovg」中 femtovg 只属于 Slint 版)。
|
||||
|
||||
|
||||
@@ -79,7 +79,8 @@ The UI renders through `wgpu` (GPU) and falls back to the `tiny-skia` CPU raster
|
||||
adapter is present. Force the CPU path on any machine with:
|
||||
|
||||
```bash
|
||||
unlucky-launcher --software-renderer # or: ICED_BACKEND=tiny-skia unlucky-launcher
|
||||
unlucky-launcher --software-renderer # the documented switch
|
||||
unlucky-launcher --renderer=cpu # equivalent: pick the CPU renderer explicitly
|
||||
```
|
||||
|
||||
## Verify the download
|
||||
|
||||
Reference in new issue
Block a user