github The412Banner/Banners-Turnip v27.0.0-20261031-r3
Turnip v27.0.0-20261031-r3

3 hours ago

⚠️ Automated build from Mesa main: checked by CI, not tested on a device.

Mesa
Commit 3d167c0
Commit title freedreno/a3xx: deal with VS which does not write position.
Vulkan version Vulkan 1.4.366
Date 2026-10-31

Downloads

Driver GPUs X11 / AdrenoTools Bannerlator Wayland Linux runtime
Standard Adreno 6xx / 7xx (8 Gen 3 and older) Turnip-v27.0.0-20261031-r3.zip Turnip-v27.0.0-20261031-r3-Wayland.zip Turnip-v27.0.0-20261031-r3-Linux.zip
A8xx (experimental) Adreno 810 / 812 / 825 / 829 / 830 / 840 (8 Elite) Turnip-v27.0.0-20261031-r3-A8xx.zip Turnip-v27.0.0-20261031-r3-A8xx-Wayland.zip Turnip-v27.0.0-20261031-r3-A8xx-Linux.zip
A710 / A720 / A722 (experimental, untested on hardware) Adreno 710 / 720 / 722 Turnip-v27.0.0-20261031-r3-710-720-Test.zip Turnip-v27.0.0-20261031-r3-710-720-Test-Wayland.zip Turnip-v27.0.0-20261031-r3-710-720-Test-Linux.zip
8 Gen 2 One UI Adreno 740 (8 Gen 2) with UI flicker, e.g. Samsung One UI Turnip-v27.0.0-20261031-r3-8G2-OneUI.zip Turnip-v27.0.0-20261031-r3-8G2-OneUI-Wayland.zip Turnip-v27.0.0-20261031-r3-8G2-OneUI-Linux.zip

Which one?

  • X11 (Bannerlator, Winlator, BannerHub, any AdrenoTools app): import the normal zip as a GPU driver. Not sure which driver? Use Standard.
  • Bannerlator Wayland containers: Import Wayland game driver (.zip), then pick the -Wayland zip.
  • Bannerlator Linux runtime (gamescope + the native ARM64 Steam client): the -Linux zip. It is a glibc Vulkan ICD and it is what draws the client and every game the client launches (needs glibc 2.38 or newer). It is not an AdrenoTools driver and it does not load in a Wine container; the Android zip still puts the finished frame on the screen.

Tips: A8xx: TU_DEBUG=sysmem if an A830 looks glitchy, TU_DEBUG=deck_emu if a game won't start. A710 / A720 / A722: TU_DEBUG=sysmem (in Winlator also WRAPPER_BLIT=1). 8 Gen 2 One UI: only if the Standard driver makes the phone's UI glitch or flicker; on other 8 Gen 2 devices it causes that glitch. The same switch without changing driver: FD_DEV_FEATURES=enable_tp_ubwc_flag_hint=1.

🩹 Fixes in every driver (both found here, both now in Mesa main since MR 44838, 2026-10-08; see SOURCE):

  • DirectX 12 no longer waits on the GPU every frame. A quick "is the GPU done yet?" check was sent to the kernel as "wait until it's done", so the CPU and GPU took turns with VKD3D-Proton. Now it answers at once. On an Adreno 750, a DirectX 12 demo went from 378 to 1422 fps on X11 and from 588 to 3449 fps on Wayland (report). Mesa credits The412Banner for the find.
  • No crash when a frame waits on two kinds of sync at once. Cemu crashed on its first frame; proven fixed with Cemu, RPCS3 and Dolphin.

🧩 A8xx driver only: Max's WinNative series (MaxsTechReview, 0001-tu-Emulate-VK_EXT_mesh_shader-with-compute.patch … 0005-tu-kgsl-Fetch-A8XX-command-streams-through-a-virtual.patch). The A6xx / A7xx drivers carry no patches: both fixes above come from Mesa itself.

  • DirectX 12 Ultimate: mesh shaders + wave32 (0001, 0002). VK_EXT_mesh_shader is emulated with compute, so VKD3D-Proton can offer mesh shaders to games that need them (FINAL FANTASY VII REBIRTH, Alan Wake 2); render passes with mesh draws run in sysmem.
  • Three Adreno 8xx GPU hang fixes (0003-0005): cube-map directions, bindless descriptors, command-stream memory. Max's IB cache (0006) is left out: it broke the Linux driver on some Adreno 840s.
Build details and checksums
  • Standard: Mesa main as is (both fixes above are in Mesa now), no GPU-specific patches, no mesh shaders or wave32.
  • A8xx: whitebelyash's turnip/gen8 stack (a8xx_gen8.patch, 14 commits) + a8xx_shared_mem.py.
  • A710 / A720 / A722: A710 and A720 come from Mesa main itself (upstream since September 2026). a710-720.py swaps Mesa's A730-based A722 entry for Vauzi-17/710's hardware-captured A722 registers (num_ccu = 2), and 01-u_gralloc-always-use-ubwc-detection.patch is the UBWC fix from Vauzi-17/710's own releases.
  • 8 Gen 2 One UI: Standard plus 8g2_oneui.py: enable_tp_ubwc_flag_hint on for the Adreno 740 (Mesa leaves it off to match the older system driver).
  • Wayland zips: the same commit and patches, built as Linux-style Vulkan drivers (KGSL, Wayland, bionic) with Bannerlator's zero-copy patch. CI checks each one before it is attached. They don't load as AdrenoTools drivers, and the X11 zips don't work as Wayland game drivers.
  • Linux zips: the same commit and patches, cross-built against glibc (KGSL, Wayland + X11 WSI) for Bannerlator's Arch Linux ARM runtime, plus the two KGSL fixes that runtime needs kgsl-drm-node.patch and kgsl-no-calibrated-timestamps.patch. They ship the ICD and its manifest only: the libraries are the runtime's own. CI checks each one.
File SHA-256
Turnip-v27.0.0-20261031-r3.zip 7aba41b21fb808868da6c781334ef1a3e2334c5678b93726a70645acb45a0bd2
Turnip-v27.0.0-20261031-r3-Wayland.zip 3895cb7e3d0c31bcdffd424942283c7efc81ff623aa15724a3afe92305cf42b9
Turnip-v27.0.0-20261031-r3-Linux.zip bf33eebfd8bf16fc8fc10eb71c3ffbfa3f2218d432d32fd99a5a5c8c618527b7
Turnip-v27.0.0-20261031-r3-A8xx.zip 4b0c411d29db86bcd742222351e2ef81aef388a8b6073989135acb755353d572
Turnip-v27.0.0-20261031-r3-A8xx-Wayland.zip 706a0ced47a595ca9cf4d1a7e7d2f1337073c0215f202de9e1355639bdf16ace
Turnip-v27.0.0-20261031-r3-A8xx-Linux.zip 02b63cbeab24525be4c2ef9240e25640b0c10e9b7aa3471b5d8f593f3dc0ddb8
Turnip-v27.0.0-20261031-r3-710-720-Test.zip 423b7490f8efb791a5ceaa51ff2f78446a4c39c08acd7fd703691f6ab40fe1dd
Turnip-v27.0.0-20261031-r3-710-720-Test-Wayland.zip c741f78e4d2969882bc963cd698df2a4b7d5aa45424a3424fb7c526775f7355a
Turnip-v27.0.0-20261031-r3-710-720-Test-Linux.zip 4f25982de9ec0811672b7057fb039207556c688844c6fbd18657bdd98fbd0eb1
Turnip-v27.0.0-20261031-r3-8G2-OneUI.zip 090a98921c849305244474b6a2770c96db0331cbe2eaa75756c536cfa51d53d8
Turnip-v27.0.0-20261031-r3-8G2-OneUI-Wayland.zip 9b58e8cb5481209b5042ca7302da5f0ea26ac75679f5a816ec57830e0ff2f941
Turnip-v27.0.0-20261031-r3-8G2-OneUI-Linux.zip b5ed3dae915a02a8c920deb0935ade67f9186e4344e46a3aa99a14c81708b78a

Don't miss a new Banners-Turnip release

NewReleases is sending notifications on new releases.