github The412Banner/Banners-Turnip a722-pure-pre1
Turnip A722 test: pure upstream + gralloc fix pre1

pre-release2 hours ago

Test build. Not a normal release. Turnip for the Adreno 722, built from plain upstream Mesa plus one fix. No device register patches.

  • Mesa main 1d4b5ef4a5562b6e2dba2cb5aacd60787979ba86 (2026-11-01). The A722 support is Mesa's own: MR 43101 "freedreno: Add chip support for a722" (Sahitya Kandru).
  • The one fix: newer Qualcomm grallocs (seen on the Retroid Pocket Duo, Android 14) no longer put the gmsm marker in their buffer handles. Upstream then treats compressed (UBWC) buffers as uncompressed and the picture is scrambled in Bannerlator's Wayland mode. The fix keeps the old check and adds a strict second one (buffer format and aligned width must match) that reads the compression flag from the newer handle layout. whitebelyash's earlier patch found the same problem; on this handle layout it reads a different field, so it is replaced here. Patch: patches/a722/01-u_gralloc-newer-qcom-handle.patch.
  • Also for the Adreno 710 and 720: this build has Mesa's own support for both (MR 44466 "freedreno: Add support for Adreno 710 and 720", Hugo223, 2026-09-23, with register values captured from the Qualcomm driver), like every other GPU Mesa supports. Not tested on a 710 or 720 (no device here). The gralloc fix only acts on handles with the Duo's newer layout; any other handle is treated exactly as in plain Mesa. Use GMEM off there too.
  • Not included: the A722 register block from Vauzi-17/710 (patches/a710-720.py). Our tests gave the same results without it (below).
  • Files: A722 (AdrenoTools: Bannerlator, Winlator and other apps that import driver zips), A722-Wayland (Bannerlator Wayland containers), A722-Linux (Bannerlator Linux runtime).
  • Driver name in the app: "Mesa Turnip A722 test pre1".
  • Use GMEM off (sysmem). With GMEM on, Turnip has an open bug on the A722 (green blocks, GPU page faults). It happens with every Turnip build we tried, the patched ones included.

Tested on a Retroid Pocket Duo (Adreno 722, Android 14) in Bannerlator, A722 file only:

  • AIO Graphics Test, 10 s screen recording: 891 frames, 0 with green blocks or a scrambled picture, 0 GPU faults, 0 crashes.
  • AIO per-API cube test, 15 s each, GMEM off (fps): Vulkan 1512, OpenGL 1188, D3D12 1726, D3D11 1855, D3D10 1881, D3D9 2140, D3D8 2124, DirectDraw 1175. The same as builds with the Vauzi block, within run-to-run noise (about 5 %).
  • DiRT Showdown: plays fine.
  • 7,638 Vulkan CTS tests (same Mesa and fix, lab build): 0 failures, 0 GPU faults.

Not tested: the Wayland and Linux files, Switch emulators, other Adreno 722 devices. Early preamble is on for every Adreno 7xx in Mesa, the A722 included; a reported problem with it on the A720 has not been checked here.

Compare with Vauzi-17/710 v4.5 (tap to open)

Vauzi's latest release is v4.5 (2026-10-25). Everything below comes from its release notes, its driver files and its build workflow.

What is different

This build v4.5 Regular v4.5 Winlator (-win) v4.5 Switch (-sw)
Mesa 1d4b5ef4 (2026-11-01) 02f13375 (2026-10-24) 02f13375 02f13375
A722 settings Mesa's own (MR 43101) Mesa's own Own script 56-fd722-blob.py (register values, highest bank bit 15) Same as -win
Picture (gralloc) fix Ours: reads the real compression flag whitebelyash patch (on the Duo's handle it always says "uncompressed") whitebelyash patch whitebelyash patch
Patches on top of Mesa 1 1 27 34
Built-in settings file (default_env.conf) No No Yes Yes
Forces sysmem (GMEM off) inside the driver No, set it in the app No No Yes (36-tu-z-sysmem-only)
GPU clock forcing / aggressive autotune No No Yes (17-wn-apply-perf-variant) Yes
Asks for compressed (UBWC) swapchain buffers No (Mesa default) No Yes (16-wn-add-ubwc-swapchain-usage) Yes
Wayland and Linux builds Yes No No No
Tested on an Adreno 722 Yes (Retroid Pocket Duo: AIO, 7,638 CTS tests, DiRT Showdown) Not stated Not stated Not stated

How each one is built

This build Vauzi v4.5
Where GitHub Actions, Banners-Turnip combined build (run 41326558709) GitHub Actions, turnip_builder.yml in Vauzi-17/710
Mesa version One fixed commit, the one that was tested Mesa main at build time
Android NDK r29 r29
How patches are added One patch, applied by a script that stops the build if it does not apply A patch list per variant (1 / 27 / 34)
Files made AdrenoTools + Wayland + Linux zips AdrenoTools zips + default_env.conf
Checks on each zip Zip checker (file list, library type, driver name, exported functions) Not stated

Built by CI run 41326558709 (dry run; Android, Wayland and Linux jobs green, all zip checks passed; the release job stops by design in a single-driver dry run) from branch feat/a722-pure (831e015e). Only the driver name and package version in meta.json were changed afterwards.

SHA-256:

a035d339c1e4a241d7c6a3c049934b58f2e50f92b9246c9002b2c2e85deed1d8  Turnip-a722-pure-pre1-A722.zip
8a7e48cf2eca912bf4899eb499590f18019bc4365982cbede31a08b7022fdf4e  Turnip-a722-pure-pre1-A722-Wayland.zip
8c4d3c2810501be5b1876a87e8b4f2982477b8e41383a9727065743b27ffda90  Turnip-a722-pure-pre1-A722-Linux.zip

Don't miss a new Banners-Turnip release

NewReleases is sending notifications on new releases.