docs(termux): GPU 结论落地——glibc 侧被驱动版本挡住

实测结论:
- glibc Vulkan loader + 自写 ICD 能加载
- Termux glibc Mesa 24.2.6 不认识 Adreno 840(chip 0x44050A31 unsupported)
- Arch vulkan-freedreno 26.2.6 能加载但 Linux/DRM 构建找不到设备(缺 KGSL,
  /dev/dri 对 untrusted_app 被 SELinux 拒绝)
- GPU 变体会打印具名错误并自动降级 tiny-skia

README.termux 同步:GPU 标 ⛔、MC 走 glibc JVM 的结论与后续路线
This commit is contained in:
AskaEth committed 2026-11-07 07:57:24 +08:00
1 parent 7cbb354972
commit aaba339499
2 files changed
+30 -12

No files matched your search

+10 -6
View File
@@ -14,8 +14,8 @@
| 横屏适配 | ✅ | 默认窗口按 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 |
| GPU(wgpu) | ⛔ | glibc 侧 Mesa 24.2.6 不支持 Adreno 840;Arch 26.2.6 缺 KGSL。CPU 渲染可用 |
| Minecraft 运行 | ⏳ | 无官方 Android natives;计划走 glibc JVM(见下) |
## 快速开始
@@ -34,13 +34,17 @@ DISPLAY=:0 ./unlucky-launcher-iced --software-renderer
## 已知边界
- 仅单机(OnePlus 15 / Android 17)验证,试验级、不在发布矩阵内。
- GUI 只验证了 CPU 渲染;GPU 变体需要 glibc 侧 Vulkan 栈。
- 装好 JDK ≠ 能跑 MC:MC 的 LWJGL natives 是 glibc `.so`,bionic、JVM 加载不了。
- **GPU**:bionic 侧 zink/turnip 可用;glibc 侧被驱动挡住——Termux 的 glibc Mesa 24.2.6
不认识 Adreno 840,Arch 的 26.2.6 是 Linux/DRM 构建、缺 KGSL。需要 Mesa 26+ 的
glibc+KGSL 构建;在那之前用 CPU(tiny-skia)。GPU 变体会自动降级,不会崩。
- **MC**:Android 原生 natives 走不通(LWJGL 没有官方 Android/bionic 产物,且 GLFW 的
窗口模型与 termux-x11 的 X11 不兼容)。可行路线是 glibc JVM(Temurin linux-aarch64 +
glibc Mesa),让 MC 的 Linux natives 在 glibc 进程里正常加载。
- Termux 上三条测试失败是环境差异(`/proc/*/children`、长路径脱敏、mtime flaky),
PC 的 Linux CI 不受影响。
## 后续
1. glibc 侧 GPU(wgpu)变体与取证
2. MC 运行链:glibc JVM(Temurin linux-aarch64 + glibc Mesa)或 proot 方案
1. Mesa 26+ 的 glibc/KGSL 构建(解锁 GPU)
2. MC 运行链:glibc JVM(Temurin linux-aarch64 + glibc Mesa);proot 作为备选
3. 剪贴板/IME 在 termux-x11 下的行为验证