Skip to content

Releases: sherft2607/turnip-adreno722-duo

Turnip Duo v5.1 — Retroid Pocket Duo Edition (Adreno 722)

Choose a tag to compare

@github-actions github-actions released this 24 Oct 22:58

Support & Feedback

Turnip Adreno 710,720,722 v4.4-exp

Choose a tag to compare

@github-actions github-actions released this 24 Oct 21:08

Experimental build based on Mesa (main branch).
Not officially supported — do not report issues to Mesa upstream.

Support


Changes in v4.4-exp

  • Synced with the latest Mesa main branch

Build Info

Mesa 27.0.0-devel
Mesa commit 74920caaa0be (2026-10-21)
Vulkan 1.4.363
Android NDK r29, compiler=android35
Build date 2026-10-24

Applied Patches

  • 01-u_gralloc-always-use-ubwc-detection.patch — u_gralloc: always use the UBWC detection path
  • 02-tu-lrz-reuse-dont-care-in-sysmem.patch — tu/lrz: reuse LRZ state for DONT_CARE depth when rendering in sysmem
  • 06-a8xx-cube-coord-sanitize.patch — ir3: Sanitize cube map directions on A8XX
  • 07-a8xx-kgsl-ib-vbo-alias.patch — tu/kgsl: Fetch A8XX command streams through a virtual BO
  • 08-tu-kgsl-cache-retired-a8xx-ib-storage.patch — tu/kgsl: Cache retired A8XX IB storage
  • 09-tu-ir3-subgroup-half-warp.patch — tu,ir3: Support a required subgroup size of half a wave
  • 11-wn-fix-a8xx-dev-info.py — Idempotent fixup for freedreno_dev_info.h and tu_cmd_buffer.cc
  • 12-wn-apply-a8xx-gpus.py — WN-Turnip A8xx GPU support applicator for freedreno_devices.py
  • 14-wn-apply-a7xx-gen2-ubwc-hint.py — WN-Turnip A7xx_gen2 UI-corruption fix for FD740 / Adreno X1-85
  • 15-wn-add-aimapper-gralloc.py — Add the IMapper5 stable-C gralloc backend (SP-HAL loaded) to Mesa
  • 16-wn-add-ubwc-swapchain-usage.py — Request UBWC-compressed swapchain buffers on Adreno
  • 17-wn-apply-perf-variant.py — Apply aggressive autotune and variant-specific GPU clock forcing for performance
  • 18-wn-a8xx-shared-mem.py — Robust equivalent of whitebelyash/mesa-unified turnip/gen8 commit
  • 30-tu-z-mutable.py — Turnip-Z port: keep MUTABLE_FORMAT images tiled (and UBWC) on GPUs without
  • 31-tu-z-lrz-rescue.py — Turnip-Z port: LRZ rescue on in-render-pass depth clears
  • 32-tu-z-texfast.py — Turnip-Z port: cheaper texture sampling
  • 33-tu-z-bgra-swap.py — Turnip-Z port: real color swap for B8G8R8A8 on tiled images
  • 36-tu-z-sysmem-only.py — Turnip-Z port: force sysmem rendering, and keep the bin-restore preamble
  • 37-tu-z-bgra-companion.py — Turnip-Z port: BGRA8 companion changes that go with 33-tu-z-bgra-swap.py
  • 40-fd710-ubwc-hint.py — FD710: TPL1_DBG_ECO_CNTL1.TP_UBWC_FLAG_HINT off (0x00040700 -> 0x00000700)
  • 41-fd710-tile-align.py — FD710: tile_align_w/h 64x32 -> 32x16
  • 42-fd710-ab01.py — FD710: SP_UNKNOWN_AB01 1 -> 0
  • 43-fd710-linmip-blocks.py — FD710: supports_linear_mipmap_threshold_in_blocks off
  • 44-fd710-vsc-0d08.py — FD710: VSC_UNKNOWN_0D08 0 -> 1
  • 45-fd710-rb-8e09.py — FD710: RB_UNKNOWN_8E09 0x7 -> 0x4
  • 46-fd710-no-eolm.py — FD710 (optional): has_eolm_eogm off
  • 50-fd720-blob.py — FD720: penyesuaian nilai register dari blob A720 (V@0676)
  • 51-fd722-duo.py — FD722 (Retroid Pocket Duo, chip_id 0x43020100): pin the known-good GMEM config

Upstream Freedreno Changes Since v1.0.3-diagnostic-ubwc-lrz

2 commits under src/freedreno, grouped by commit title.

Turnip (tu) (1)
  • b35f166971 tu: fix texel buffer emulation bounds check
Other (1)
  • c09c414563 freedreno: Ensure that the generated pack headers are stable between builds.

GPU Support

Supports all GPUs currently supported by Mesa, including Adreno 6xx, 7xx, and 8xx series.
For the complete and up-to-date device list, see:
https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/freedreno/common/freedreno_devices.py

Notes

  • Graphics issues may still occur depending on the game or emulator.
  • Performance and compatibility vary by device, firmware, emulator version, and game.
  • Recommended memory mode: sysmem (TU_DEBUG=sysmem).
  • Experimental build.

Files

  • Turnip-Duo-v4.4-exp.zip — Android (AdrenoTools), standard build
SHA-256
e25e561808c1264365b2f3a75a4b35419180f2eb1ddb92b049e13f115957b490  Turnip-Duo-v4.4-exp.zip

Turnip T30 Patched for Retroid Pocket Duo (Adreno 722 / Q-7790)

Choose a tag to compare

@sherft2607 sherft2607 released this 14 Oct 19:21

Binary-patched builds of MrPurple666's Turnip T30 (Mesa 26.3.0 / Vulkan 1.4.359) tuned for the Qualcomm Dragonwing Q-7790 (Adreno 722) in the Retroid Pocket Duo.

Driver Variants Attached:

  • Variant C (turnip_mrpurple_T30_a722_ccu2_autotune.adpkg.zip) [NEW / EXPERIMENTAL]: Re-enables on-chip GMEM tiling via Mesa's built-in tu_autotune bandwidth engine while keeping num_ccu = 2 (+0x44), tile_align_h = 32 (+0x08), and highest_bank_bit = 16 (+0x28). Heavy 3D geometry runs on-chip; 2D/UI blits bypass GMEM.
  • Variant A (turnip_mrpurple_T30_a722_sysmem.adpkg.zip): 1-byte patch (0x943c6e: 0 -> 1 on disable_gmem) that forces sysmem rendering on Adreno 722 without needing TU_DEBUG=sysmem.
  • Variant B (turnip_mrpurple_T30_a722_ccu2_sysmem.adpkg.zip): Forces sysmem (+0x316 = 1) and restores the Adreno 722's 2-core SP/CCU count (+0x44 = 2) and standard A720 tile alignments (+0x08 = 32, +0x28 = 16).