⚠️ Automated build from Mesa
main: checked by CI, not tested on a device.
| Mesa | |
|---|---|
| Commit | 73196ec
|
| Commit title | tu: Allow texel buffer and SSBO emulation on a6xx |
| Vulkan version | Vulkan 1.4.368 |
| Date | 2026-11-12 |
Downloads
| Driver | GPUs | X11 / AdrenoTools | Bannerlator Wayland | Linux runtime |
|---|---|---|---|---|
| Standard | Adreno 6xx / 7xx (8 Gen 3 and older) | Turnip-v27.0.0-20261112-r3.zip
| Turnip-v27.0.0-20261112-r3-Wayland.zip
| Turnip-v27.0.0-20261112-r3-Linux.zip
|
| A8xx (experimental) | Adreno 810 / 812 / 825 / 829 / 830 / 840 (8 Elite) | Turnip-v27.0.0-20261112-r3-A8xx.zip
| Turnip-v27.0.0-20261112-r3-A8xx-Wayland.zip
| Turnip-v27.0.0-20261112-r3-A8xx-Linux.zip
|
| A710 / A720 / A722 (experimental, untested on hardware) | Adreno 710 / 720 / 722 | Turnip-v27.0.0-20261112-r3-710-720-Test.zip
| Turnip-v27.0.0-20261112-r3-710-720-Test-Wayland.zip
| Turnip-v27.0.0-20261112-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-20261112-r3-8G2-OneUI.zip
| Turnip-v27.0.0-20261112-r3-8G2-OneUI-Wayland.zip
| Turnip-v27.0.0-20261112-r3-8G2-OneUI-Linux.zip
|
| Banners-AIO (all SoC) | Every Adreno: 6xx, 7xx, 710 / 720 / 722, 8xx | Turnip-v27.0.0-20261112-r3-Banners-AIO.zip
| Turnip-v27.0.0-20261112-r3-Banners-AIO-Wayland.zip
| Turnip-v27.0.0-20261112-r3-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 73196ec (2026-11-12), 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.
0006-ir3-shuffle-broadcast.patch subgroup shuffles with a broadcast index no longer loop once per invocation, and 0007-tu-descriptor-pool-heap-alignment.patch descriptor sets stay aligned after vkResetDescriptorPool (invisible UI in Detroit: Become Human). See SOURCE.
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; the shuffle broadcast of SOURCE.
0007-tu-descriptor-pool-heap-alignment.patch, Nikolay Nadorichev, maxjivi05, Droid-Deck/Drivers).
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. 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-20261112-r3.zip
39f4663d182358e67f7ceaa0fa43545595aabb53551bce6a398264f472e51371
Turnip-v27.0.0-20261112-r3-Wayland.zip
602b5ec2ff9081ca4c57e79fde0580ff6542779a19e2935271bf771170c9340d
Turnip-v27.0.0-20261112-r3-Linux.zip
d7a14544e020b87103ecfa0a1fa98ec3cf7d46f24f4781404e605e11ae95be8a
Turnip-v27.0.0-20261112-r3-A8xx.zip
c7e0e0a984b420c2578432e114cdc03c6b40501448de0ad62f597a1c0da7e91f
Turnip-v27.0.0-20261112-r3-A8xx-Wayland.zip
96ca49b0fcb6ae236df0159caae7830adc836bb22f6c4c45310d83e238d3d1a6
Turnip-v27.0.0-20261112-r3-A8xx-Linux.zip
d67bc31971a513bb6417d3b6902059e1897beefb9022a8aa444558786d98406a
Turnip-v27.0.0-20261112-r3-710-720-Test.zip
0a80202ea7a817929ea322d1ae42e5e48eb4310dafb2972a3dcf3dca64a0830f
Turnip-v27.0.0-20261112-r3-710-720-Test-Wayland.zip
9ae838897c005ed4df0d7d615f7887810cf4dc621d09ae7512e74793c9a213b9
Turnip-v27.0.0-20261112-r3-710-720-Test-Linux.zip
ef01374a3301e8bee753ce0f97900f25a4cec6f9007211e3c58b509046fc58da
Turnip-v27.0.0-20261112-r3-8G2-OneUI.zip
1535277e0dd11a6b3fe5b6420813bc944c0be1fb138326b2c9f0bf5f254f10c4
Turnip-v27.0.0-20261112-r3-8G2-OneUI-Wayland.zip
c6d5e6c57c73cb83f95a2b2ddd80c45b53b0ccaf22dc65b0a518b53ee399ce9f
Turnip-v27.0.0-20261112-r3-8G2-OneUI-Linux.zip
af79f7b0ca1ea19507cc1ce3928898b994839b441ae93eada36ea8f70eef64ae
Turnip-v27.0.0-20261112-r3-Banners-AIO.zip
2b094385af27bc71121cf081a5558179aca545cf8cbc848fcc16fc26dd6f8ae5
Turnip-v27.0.0-20261112-r3-Banners-AIO-Wayland.zip
bfc67a10f880b7a9eddb8dfd42185ec26166f64a5fce3347f944439948369352
Turnip-v27.0.0-20261112-r3-Banners-AIO-Linux.zip
2397279376781dff7f846a27d224238da742ed968be4761dc1eba2b3a096647c
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.