Skip to content

build Android arm64-v8a wheel - #10

Open
rishavsanjay wants to merge 6 commits into
sirhcm:mainfrom
rishavsanjay:android-arm64-wheel
Open

build Android arm64-v8a wheel#10
rishavsanjay wants to merge 6 commits into
sirhcm:mainfrom
rishavsanjay:android-arm64-wheel

Conversation

@rishavsanjay

@rishavsanjay rishavsanjay commented Jul 30, 2026

Copy link
Copy Markdown

Adds an Android arm64-v8a build for libtinymesa.so.

  • Android API 25, NDK r29, Mesa 25.2.7
  • builds only the NIR + IR3/freedreno path needed for Adreno

NAK and libtinymesa_cpu.so are omitted to keep the Android build simple and avoid cross-compiling LLVM (its very annoying).

This keeps the Android wheel focused on the Adreno use case for now; broader compiler/CPU support can be added separately if needed.

@rishavsanjay
rishavsanjay marked this pull request as draft August 11, 2026 18:14
@rishavsanjay
rishavsanjay marked this pull request as ready for review August 25, 2026 19:28
@rishavsanjay

Copy link
Copy Markdown
Author

my bad, for some reason gh didnt trigger actions on this branch on my fork? run succeeded on an another branch tho.

Comment thread .github/workflows/compile.yml Outdated
@rishavsanjay

Copy link
Copy Markdown
Author

verified the Android arm64-v8a wheel on my phone, tinymesa imports successfully and IR3 also works. Screenshot attached.
Screenshot from 2026-08-26 23-16-06

@rishavsanjay

Copy link
Copy Markdown
Author

there is another problem though
Termux builds its Python package for Android API 24, while Mesa 25.2.7 requires API 25. This means that pip install tinymesa is rejected on standard Termux, even if device is API 25>= .

The workaround is to explicitly install for android_25_arm64_v8a using --platform. it's not too bad, but still annoying, and there doesn’t seem to be a clean fix without lowering Mesa’s API or using a Python package built for API 25+.

@sirhcm

sirhcm commented Aug 27, 2026

Copy link
Copy Markdown
Owner

Neat. Does it work just as a compiler in tinygrad (ie. DEV=NULL:IR3:a630)?

As for the the API version thing, if it requires significant patches to mesa to use version 24 it's probably fine to require pip install --platform (should mention that in README though).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants