feat(termux): MC 启动接线——Linux arm64 natives + softpipe 子进程环境

- Library::native_classifier:Linux/aarch64 上把 LWJGL3 的 natives-linux
  改写成 natives-linux-arm64(Mojang 清单只有 x86_64)
- install::libraries:arm64 分类器在清单里没有下载信息时,按 Maven 相对路径
  兜底到阿里云镜像(实测 Mojang libraries 404、Aliyun 200);
  单测覆盖 arm64 兜底与 x86_64 不变
- launch::defaults:Termux glibc 构建启动 MC 时默认带
  MESA_LOADER_DRIVER_OVERRIDE=swrast / LIBGL_ALWAYS_SOFTWARE=1(用户可覆盖)
- 文档:JRE patchelf 一次性步骤与接线现状;README 同步
- 验证:patched Temurin java 直接执行;LWJGL arm64+GLFW 探针 gl-ok
This commit is contained in:
AskaEth committed 2026-11-07 09:33:22 +08:00
1 parent 02ed09ae49
commit 7eed6c6261
5 files changed
+179 -26

No files matched your search

+4 -4
View File
@@ -15,7 +15,7 @@
| 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);启动器接线待做 |
| Minecraft 运行 | 🟡 | 栈已验证;启动器已接线(natives arm64 / softpipe env);待真实 MC 验证 |
## 快速开始
@@ -39,9 +39,9 @@ DISPLAY=:0 ./unlucky-launcher-iced --software-renderer
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`。
LWJGL arm64 + GLFW + GLX/softpipe 已手动跑通(GL 3.3)。启动器已接线:
Linux/aarch64 自动选 `natives-linux-arm64`(阿里云 Maven 兜底),MC 子进程默认带
softpipe 环境。还差把实例 Java 指到 glibc JRE 后跑一次真实 MC。
- Termux 上三条测试失败是环境差异(`/proc/*/children`、长路径脱敏、mtime flaky),
PC 的 Linux CI 不受影响。