# Unlucky Launcher · Termux 适配(`termux-glibc` 分支) 这条分支把启动器带到 **Termux(Android)**:用 glibc 工具链编出 `aarch64-unknown-linux-gnu` 二进制,在 **termux-x11** 里跑 GUI;同时补上 Termux 平台识别、系统 JDK 安装与中文字体。 ## 已验证 | 项 | 状态 | 证据 | | --- | --- | --- | | 源码构建(GUI + CLI) | ✅ | Rust 1.99.1 gnu + clang/lld + glibc 运行时;CPU-only(tiny-skia) | | 窗口显示 | ✅ | termux-x11 `:0`,截图 1180×760,首帧 ~330 ms | | 中文 | ✅ | 启动时注册 `/system/fonts/NotoSansCJK-Regular.ttc` | | 微软登录 id | ✅ | 构建期注入,日志 `client_id=configured source=build` | | 横屏适配 | ✅ | 默认窗口按 X 屏幕等比自适应(`source=termux-screen`) | | Java 发现 | ✅ | `JAVA_HOME`/PATH + `$PREFIX/lib/jvm` 扫描 | | Java 自动安装 | ✅ | `ull java install 17` 由内置镜像装完 openjdk-17(约 20 s) | | GPU(wgpu) | ⏳ | bionic 侧 Vulkan/turnip 已验证;glibc 侧变体待构建验证 | | Minecraft 运行 | ⏳ | bionic JVM 加载不了 glibc natives;计划走 glibc JVM | ## 快速开始 完整配方(工具链、patchelf、linker、门禁)见 [`packaging/docs/termux-glibc-build.md`](packaging/docs/termux-glibc-build.md)。最短路径: ```sh termux-x11 :0 -ac & DISPLAY=:0 ./unlucky-launcher-iced --software-renderer ``` - 没有 GPU 栈时**必须**加 `--software-renderer`(CPU 渲染)。 - 窗口尺寸默认按屏幕自适应;`ULL_WINDOW_SIZE=1520x900` 可覆盖。 - Java:`ull java install 17|21|25` 在 Termux 上默认用系统包(内置镜像 + 隔离 apt 状态)。 ## 已知边界 - 仅单机(OnePlus 15 / Android 17)验证,试验级、不在发布矩阵内。 - GUI 只验证了 CPU 渲染;GPU 变体需要 glibc 侧 Vulkan 栈。 - 装好 JDK ≠ 能跑 MC:MC 的 LWJGL natives 是 glibc `.so`,bionic、JVM 加载不了。 - Termux 上三条测试失败是环境差异(`/proc/*/children`、长路径脱敏、mtime flaky), PC 的 Linux CI 不受影响。 ## 后续 1. glibc 侧 GPU(wgpu)变体与取证 2. MC 运行链:glibc JVM(Temurin linux-aarch64 + glibc Mesa)或 proot 方案 3. 剪贴板/IME 在 termux-x11 下的行为验证