⚠️ Automated build from Mesa
main: checked by CI, not tested on a device.
| Mesa | |
|---|---|
| Commit | 586fd4d
|
| Commit title | radeonsi: remove old radeonsi_zerovram option |
| Vulkan version | Vulkan 1.4.367 |
| Date | 2026-11-08 |
Downloads
| Driver | GPUs | X11 / AdrenoTools | Bannerlator Wayland | Linux runtime |
|---|---|---|---|---|
| Standard | Adreno 6xx / 7xx (8 Gen 3 and older) | Turnip-v27.0.0-20261109.zip
| Turnip-v27.0.0-20261109-Wayland.zip
| Turnip-v27.0.0-20261109-Linux.zip
|
| A8xx (experimental) | Adreno 810 / 812 / 825 / 829 / 830 / 840 (8 Elite) | Turnip-v27.0.0-20261109-A8xx.zip
| Turnip-v27.0.0-20261109-A8xx-Wayland.zip
| Turnip-v27.0.0-20261109-A8xx-Linux.zip
|
| A710 / A720 / A722 (experimental, untested on hardware) | Adreno 710 / 720 / 722 | Turnip-v27.0.0-20261109-710-720-Test.zip
| Turnip-v27.0.0-20261109-710-720-Test-Wayland.zip
| Turnip-v27.0.0-20261109-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-20261109-8G2-OneUI.zip
| Turnip-v27.0.0-20261109-8G2-OneUI-Wayland.zip
| Turnip-v27.0.0-20261109-8G2-OneUI-Linux.zip
|
| Banners-AIO (all SoC) | Every Adreno: 6xx, 7xx, 710 / 720 / 722, 8xx | Turnip-v27.0.0-20261109-Banners-AIO.zip
| Turnip-v27.0.0-20261109-Banners-AIO-Wayland.zip
| Turnip-v27.0.0-20261109-Banners-AIO-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.
- Banners-AIO: one zip for every Adreno. Each GPU family keeps its own changes: the A8xx recipe only on A8xx chips, the A722 registers only on the A722. Its recipe was tested on an Adreno 830, 750 and 722 before it joined these builds; each hourly build is still only checked by CI.
- Bannerlator Wayland containers: Import Wayland game driver (.zip), then pick the
-Waylandzip. - Bannerlator Linux runtime (gamescope + the native ARM64 Steam client): the
-Linuxzip. 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.
What's in each driver
Tap a driver to see which GPUs it is for, what it changes on top of Mesa, where each change came from and who wrote it.
Every driver: what all five share
main at 586fd4d (2026-11-08), built for KGSL.
1da50a1b, MR 44838). See SOURCE.
apply_common.sh, not in Mesa yet): MIO: Memories in Orbit and UNCHARTED: Legacy of Thieves Collection turn on tu_enable_ssbo_emulation on Adreno 7xx, so their large storage buffers work (MIO report). The option itself is Mesa's, by Job Noorman. With other Turnip builds from after 2026-06-10, set tu_enable_ssbo_emulation=true yourself.
Standard: Adreno 6xx / 7xx (8 Gen 3 and older)
main plus Every driver above. No GPU-specific patches, no mesh shaders, no wave32.
A8xx: Adreno 8xx (Snapdragon 8 Elite)
a8xx_gen8.patch: whitebelyash's turnip/gen8 stack (mesa-unified): A8xx GPU entries, UBWC gralloc detection, the disable_gmem property, the Steam Deck spoof (TU_DEBUG=deck_emu), A810 / A812 fixes. Commits and authors:
a8xx_shared_mem.py: compute shared memory 32 → 64 KiB on every entry (whitebelyash, dcbb41b2). Known: Vulkan conformance tests above 32 KiB fail on an Adreno 830; Banners-AIO keeps 32 KiB.
a8xx_no_double_threadsize.py: keeps Mesa's supports_double_threadsize = False for A8xx. DVD's "update a8xx family configs" commit above turns it on, and then subgroup math in compute shaders (subgroupAdd, shuffle, ballot, …) returns wrong results on an Adreno 830; with Mesa's value the same tests pass and speed is unchanged (Banners-Turnip, 2026-11-05).
0001-tu-Emulate-VK_EXT_mesh_shader-with-compute.patch mesh shaders emulated with compute and 0002-tu-ir3-Support-a-required-subgroup-size-of-half-a-wa.patch wave32 (DirectX 12 Ultimate games such as FINAL FANTASY VII REBIRTH and Alan Wake 2); 0003-ir3-Sanitize-cube-map-directions-on-A8XX.patch, 0004-tu-Invalidate-bindless-descriptors-through-the-A8XX-.patch, 0005-tu-kgsl-Fetch-A8XX-command-streams-through-a-virtual.patch three GPU hang fixes. His IB cache (0006) is left out: it broke the Linux driver on some Adreno 840s.
TU_DEBUG=sysmem if an A830 looks glitchy, TU_DEBUG=deck_emu if a game won't start.
A710 / A720 / A722: Adreno 710 / 720 / 722
main itself (upstream since September 2026).
a710-720.py: swaps Mesa's A730-based A722 entry for Vauzi-17/710's registers captured on real A722 hardware (num_ccu = 2). Credit: Vauzi-17.
01-u_gralloc-always-use-ubwc-detection.patch: UBWC gralloc fix (whitebelyash), as shipped in Vauzi-17/710's releases.
TU_DEBUG=sysmem; in Winlator also WRAPPER_BLIT=1.
8 Gen 2 One UI: Adreno 740 on newer firmware
8g2_oneui.py (Banners-Turnip): turns on enable_tp_ubwc_flag_hint for the Adreno 740, to match newer system drivers such as Samsung One UI. Mesa leaves it off to match the older system driver.
FD_DEV_FEATURES=enable_tp_ubwc_flag_hint=1.
Banners-AIO: every Adreno, one driver
libvulkan_freedreno.so for every Adreno; Turnip picks each GPU's settings by chip ID. one_gpu_gates.py (Banners-Turnip) keeps the A8xx-wide changes on A8xx chips, so every other GPU behaves as in its own driver here. Compute shared memory is 32 KiB on every GPU.
turnip/gen8 stack and Max's WinNative 0001-0005 as in the A8xx driver (without the 64 KiB script, with a8xx_no_double_threadsize.py); LRZ controls reset after the end-of-pass flush (Gustash); buffer descriptors of 1 GiB and more keep their size (airidosas252, now also in Mesa); RB_RESOLVE_CR_CNTL and LRZ color mask as the Qualcomm driver (adapted from Vauzi-17/710); extra chip IDs for the A829, A845 and A850, and no category-4 repeat on the A845 / A850 (misakayuuki); GMEM off on the A810 and A829.
one_fixes.py and SOURCE.md. Its recipe was tested on an Adreno 830, 750 and 722 before it joined these builds.
Build details and checksums
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-20261109.zip
d785f8f1fb2ecf941690ce997f189b4f98cb0596e158fc488173549fe624bf42
Turnip-v27.0.0-20261109-Wayland.zip
b84a3b878b4b2b58b485e153784d34c87c619c31cc7d7e5a4f7b1bea1ba72d90
Turnip-v27.0.0-20261109-Linux.zip
2f9f79a3bfef5e53d29b5f14d1724d16bac53a2ad332df82bc262fb802a63045
Turnip-v27.0.0-20261109-A8xx.zip
58f7742720fe17440dd4d8478647413bc0def53365ec05cde941f187411be5cd
Turnip-v27.0.0-20261109-A8xx-Wayland.zip
9066dde45b2707949413b3b7940fea7778e75b37da7704d6f01eeab04298097c
Turnip-v27.0.0-20261109-A8xx-Linux.zip
9e8b71a2c7a75768ced7fb61c03f5aab3f38eb285d79ce82641e87f8b30f6115
Turnip-v27.0.0-20261109-710-720-Test.zip
aaa96a2cf6efab909844299f68f9d22f6d43781e9988a3a4c2b665fa977e1ded
Turnip-v27.0.0-20261109-710-720-Test-Wayland.zip
9abd971d96cbca998b910c31ee0b7a5a3a7f192a9fbac4524972356f260d5551
Turnip-v27.0.0-20261109-710-720-Test-Linux.zip
afe45286ed67ec52ae089f020d881e7607c362654fcf06250d052ae40e8bcbd6
Turnip-v27.0.0-20261109-8G2-OneUI.zip
0672abda09b8618106967c00a2bcea847291333d15b25585d90e93c084f66022
Turnip-v27.0.0-20261109-8G2-OneUI-Wayland.zip
7d874945e7fcd12e1358ca13146cd2a8b6f04a6c2787e0024a3c7fc8eeefe270
Turnip-v27.0.0-20261109-8G2-OneUI-Linux.zip
e9dad0bc36ae1168e114415175da9edf399b8f5e2b6e2804eb7bd112efaae5e5
Turnip-v27.0.0-20261109-Banners-AIO.zip
334874079c482648a73835de9bb1cd795a2d69b204d0fe4c123fbadedc5d79e2
Turnip-v27.0.0-20261109-Banners-AIO-Wayland.zip
9d8229240892f3591329334f22b2d2ef0a2b024f58d214beae811bdd90b8ae83
Turnip-v27.0.0-20261109-Banners-AIO-Linux.zip
c0a58cd1553fbeb446991f99f3cbe94a8659229a1c44d62d122c79b63c2e18bb
Names files
symbols-<build ID>.tsv.gz: function names and Mesa source lines of the Android drivers above, for the source-code view in DriverLab. Not needed to use the drivers.