Files
Unlucky-Launcher/README.termux.md
T
AskaEth c434dbe335 feat(termux): 横屏自适应窗口、安装后清理 apt 工作区、补分支 README
- app/boot/termux_window:Termux 上默认窗口按 X 屏幕等比自适应
  (横屏铺满、竖屏不溢出,最大 2×;日志 source=termux-screen),
  ULL_WINDOW_SIZE 覆盖与 1180×760 验收基准不变;5 条单测
- termux::install 成功后清理 $PREFIX/tmp/ull-java-termux(一次安装约 100 MB)
- 构建文档补 clippy/rustfmt 组件、cargo-clippy 目标被带成 android 的坑、
  门禁命令、横屏行为与 openjdk-17 实测
- 新增 README.termux.md(分支定位/已验证矩阵/快速开始/边界/路线图),
  两份主 README 的 Termux 条目链过去
2026-11-07 09:33:21 +08:00

2.2 KiB
Raw Blame History

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。最短路径:

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 下的行为验证