github The412Banner/Banners-Turnip v26.3.0-20260912
Turnip v26.3.0-20260912

one day ago

⚠️ 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_t typedef fix (native_handle.h)
  • hnd->handle void-cast fix (u_gralloc_fallback.c)
  • native_buffer->handle cast 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=sysmem to 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_gmem GPU 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). ⚠️ Not yet verified on real hardware. If you try it:

  • Set TU_DEBUG=sysmem in 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-GPU a710_raw_magic_regs from real A710 blob traces.
  • A720 (0x43020000) — per-GPU a720_raw_magic_regs from real A720 blob traces.
  • A722 (0x43020100) — per-GPU a722_raw_magic_regs (distinct PC_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 ⚠️ UNVERIFIED — Adreno 710/720/722 test build, needs hardware testing

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

Don't miss a new Banners-Turnip release

NewReleases is sending notifications on new releases.