Files
Unlucky-Launcher/README.termux.md
T
AskaEth 02ed09ae49 docs(termux): 补 MC 运行时结论(glibc JRE + LWJGL arm64 + softpipe GL)
- §4.2:Temurin 21 JRE 在 glibc 下跑通;AWT/X11 正常;
  LWJGL 3.3.3 arm64 + GLFW + GLX/softpipe 端到端探针通过(GL 3.3)
- zink 仍卡 DRI3;softpipe 可用(软件 GL)
- README 同步:MC 标 🟡(栈已验证,启动器接线待做),后续改为接线 + DRI3
2026-11-07 09:33:22 +08:00

2.8 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) ✅ 自编 Mesa 26.2.6 + KGSL;wgpu 选中 Adreno 840(Vulkan/turnip)
Minecraft 运行 🟡 栈已验证:glibc JRE + LWJGL arm64 + GLX/softpipe(GL 3.3);启动器接线待做

快速开始

完整配方(工具链、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)验证,试验级、不在发布矩阵内。
  • GPU:已打通,但驱动是自编的(Mesa 26.2.6 + KGSL),装到 $PREFIX/glibc/{lib,share/vulkan/icd.d} 后应用会自动启用;Termux 官方源里的 glibc Mesa 太旧(24.2.6 不认识 Adreno 840)。驱动缺失时自动降级 CPU,不会崩。
  • MC:Android 原生 natives 走不通(LWJGL 没有官方 Android/bionic 产物,且 GLFW 的 窗口模型与 termux-x11 的 X11 不兼容)。有效路线是 glibc JVM——Temurin 21 JRE + AWT、 LWJGL arm64 + GLFW + GLX/softpipe 已手动跑通(GL 3.3)。启动器接线还差两步: Linux/aarch64 上把 natives 选成 natives-linux-arm64,并给 MC 子进程带 glibc JVM 与 MESA_LOADER_DRIVER_OVERRIDE=swrast。
  • Termux 上三条测试失败是环境差异(/proc/*/children、长路径脱敏、mtime flaky), PC 的 Linux CI 不受影响。

后续

  1. MC 运行链接线(natives arm64 映射 + glibc JVM 启动 + softpipe env)
  2. zink 的 DRI3 问题(硬件 GL;当前 softpipe 可跑但慢)
  3. 剪贴板/IME 在 termux-x11 下的行为验证