⚠️ AUTOMATED BUILD — Not guaranteed stable. Use at your own risk.
Mesa Upstream
| Version | 26.3.0 |
| Commit | 7cda785 |
| Vulkan version | Vulkan 1.4.362 |
| Commit date | 2026-09-11 |
| Commit title | panvk/ci: Route FS shaders through Kraid in Kraid job |
| Build date | 20260912 |
A6xx / A7xx — Standard
The everyday driver for most Adreno phones — Snapdragon 600–800 series (7 Gen, 8 Gen 1–3). Built straight from the latest upstream Mesa with no extra patches, so it's the safest, most-compatible pick. Not sure which file to grab? It's this one.
Technical details
Pure Mesa main (latest upstream commit, no source patches). Three inline NDK r29 compatibility fixes applied at build time:
buffer_handle_ttypedef fix (native_handle.h)hnd->handlevoid-cast fix (u_gralloc_fallback.c)native_buffer->handlecast fix (vk_android.c)
A8xx — Snapdragon 8 Elite
For the newest Snapdragon 8 Elite phones — Adreno 840 / 830 / 829 / 825 / 810. This is the same A8xx driver the community runs — whitebelyash's turnip/gen8 stack (as shipped in tu_v29 and StevenMXZ v33) — rebuilt on the latest Mesa. Still experimental, so a couple of tips:
- A830 looking glitchy? Add
TU_DEBUG=sysmemto your environment. - A game won't start on Qualcomm? Try
TU_DEBUG=deck_emu(spoofs a Steam Deck).
Technical details — patches and provenance
Built from whitebelyash/mesa-unified turnip/gen8 — the canonical community A8xx Turnip stack — curated to its A8xx-relevant commits (cosmetic driver-string/versioning commits and anything already in Mesa main are dropped) and rebuilt on bleeding-edge Mesa. Same stack shipped in tu_v29 and StevenMXZ v33.
a8xx_gen8.patch — 13 commits, by author:
whitebelyash — turnip/gen8 author & curator:
disable_gmemGPU property (force-sysmem path)u_gralloc: always use UBWC detection (fixes distorted picture on newer gralloc)- drm-shim entries for A810 / A825 / A829
- enable A825
- HACK: expose VK 1.3 without multiview (lets Minecraft run on VK1.0-only GPUs)
- HACK: enforce
TU_DEBUG=nocb(disable concurrent binning — better for IMR/PC workloads)
DVD (dmitrijnemov13 / disk_dvd):
- update A8xx family configs (
gmem_size, cache sizes, tile alignment) - minor A810 fixes (
reg_size=96) - A810 codegen profiles (FP16 lowering, register-pressure scaling, delay-slot / barrier tuning)
- fix gmem offsets for A825 / A829
- enable custom resolve / off-MSAA / FDM for A810 / 825 / 829 / 830
- ir3: coalesce UBO-promotion ranges on A810
Igalia (Karmjit Mahil, upstream MR):
TU_DEBUG=deck_emu— advertise as a Steam Deck (helps games that gate on a known GPU)
Plus build-time: a8xx_shared_mem.py raises A8xx compute shared-mem 32→64 KiB.
Banners-Turnip local delta (not upstream): turnip/gen8's disable_gmem hunk still wrote tu_render_pass_state::gmem_disable_reason, which Mesa renamed to force_render_mode_reason; we carry that rename so the stack builds against current Mesa main.
Already in Mesa main (no patch needed): A840 (0xffff44050A31), A613, A830 properties, magic regs, UBWC 5/6 KGSL, reg_size fixes.
⚠️ Compile-verified only — not yet device-proven; A8xx owners please test and report.
A710 / A720 / A722 — Experimental
An experimental test build adding Adreno 710 / 720 / 722 support (these chips aren't in upstream Mesa yet).
- Set
TU_DEBUG=sysmemin your emulator/app environment. - Winlator users: also set
WRAPPER_BLIT=1.
It won't affect any other GPU — it only activates on those exact chip IDs, and the standard ZIP is completely unaffected.
Technical details
Pure Mesa main plus per-GPU entries injected via a710-720.py (from Vauzi-17/710), using hardware-captured magic registers:
- A710 (
0x07010000) — per-GPUa710_raw_magic_regsfrom real A710 blob traces. - A720 (
0x43020000) — per-GPUa720_raw_magic_regsfrom real A720 blob traces. - A722 (
0x43020100) — per-GPUa722_raw_magic_regs(distinctPC_MODE_CNTL=0x3f,UCHE_CACHE_WAYS=0x0).
num_ccu=3, tile_align_w=64, tile_align_h=32; other properties inherited from Mesa's a7xx_base/a7xx_gen1. None of these chip IDs exist in Mesa main or the Linux kernel device catalog.
Adreno GPU Support
| Series | File | Notes |
|---|---|---|
| A6xx / A7xx | Turnip-v26.3.0-20260912.zip |
Pure Mesa main — Snapdragon 600–800 series, 7/8 Gen 1–3 |
| A8xx | Turnip-v26.3.0-20260912-A8xx.zip |
Experimental — Snapdragon 8 Elite (A840/A830/A829/A825/A810) |
| A710 / A720 / A722 | Turnip-v26.3.0-20260912-710-720-Test.zip |
Which file? A6xx/A7xx → standard ZIP · A8xx (Snapdragon 8 Elite) → A8xx ZIP · A710/A720/A722 owners → 710-720-Test ZIP
Installation
- BannerHub / BCI: Component Manager → Add New Component → select the ZIP
- Winlator / adrenotools: load the ZIP in GPU driver settings