⚠️ Automated build from Mesa
main: checked by CI, not tested on a device.
| Mesa | |
|---|---|
| Commit | 9690e02
|
| Commit title | etnaviv/ml: Fix add/subtract input tensor operand |
| Vulkan version | Vulkan 1.4.368 |
| Date | 2026-11-15 |
Downloads
| Driver | GPUs | X11 / AdrenoTools | Bannerlator Wayland | Linux runtime |
|---|---|---|---|---|
| Standard | Adreno 6xx / 7xx (8 Gen 3 and older) | Turnip-v27.0.0-20261115-r2.zip
| Turnip-v27.0.0-20261115-r2-Wayland.zip
| Turnip-v27.0.0-20261115-r2-Linux.zip
|
| A8xx (experimental) | Adreno 810 / 812 / 825 / 829 / 830 / 840 (8 Elite) | Turnip-v27.0.0-20261115-r2-A8xx.zip
| Turnip-v27.0.0-20261115-r2-A8xx-Wayland.zip
| Turnip-v27.0.0-20261115-r2-A8xx-Linux.zip
|
| A710 / A720 / A722 (experimental, untested on hardware) | Adreno 710 / 720 / 722 | Turnip-v27.0.0-20261115-r2-710-720-Test.zip
| Turnip-v27.0.0-20261115-r2-710-720-Test-Wayland.zip
| Turnip-v27.0.0-20261115-r2-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-20261115-r2-8G2-OneUI.zip
| Turnip-v27.0.0-20261115-r2-8G2-OneUI-Wayland.zip
| Turnip-v27.0.0-20261115-r2-8G2-OneUI-Linux.zip
|
| Banners-AIO (all SoC) | Every Adreno: 6xx, 7xx, 710 / 720 / 722, 8xx | Turnip-v27.0.0-20261115-r2-Banners-AIO.zip
| Turnip-v27.0.0-20261115-r2-Banners-AIO-Wayland.zip
| Turnip-v27.0.0-20261115-r2-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 9690e02 (2026-11-15), 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-20261115-r2.zip
87a14fbdfdef7369f58e663cf65d1dfd687fcf9e6a7de195e5a6c354ae978df6
Turnip-v27.0.0-20261115-r2-Wayland.zip
d942f9e674d76e8f0e9f92cd50502e18e40540e3dcb49206d5ef37099ad9c4ae
Turnip-v27.0.0-20261115-r2-Linux.zip
ce377c118efeb9787d091423b5dd67fcd8c4383d7195adb00e203d16757cd141
Turnip-v27.0.0-20261115-r2-A8xx.zip
962da44a8406f7a1db750f931a7966803621cf42a95432632822db4499348a55
Turnip-v27.0.0-20261115-r2-A8xx-Wayland.zip
2a23f399af550ba22e6b3b84c5e2e769aabec70c80b3bda227b2a5de9e668ae7
Turnip-v27.0.0-20261115-r2-A8xx-Linux.zip
01edfd78e0c5a3636f9280915883a9ee145c9218d040142b30a3b14b6a21a685
Turnip-v27.0.0-20261115-r2-710-720-Test.zip
e9100b1fa3efc0757a6a0f2436b3f5f3ac6fbc72111224bf89c09d3b900fa2d0
Turnip-v27.0.0-20261115-r2-710-720-Test-Wayland.zip
8d93bca54695879744461252c6ccc785928a4dac0f804ef4a36f32456bb6a04a
Turnip-v27.0.0-20261115-r2-710-720-Test-Linux.zip
841c66df0db8fdc4e5c8d4aaa8f5d7d57ff940daefc82969cb7241daa1285d8c
Turnip-v27.0.0-20261115-r2-8G2-OneUI.zip
0bf3b80b02ddf83dc11f4504c62c8246e2fcefc5401b238fcdedb15c37d63d68
Turnip-v27.0.0-20261115-r2-8G2-OneUI-Wayland.zip
b9358487b17f974d00de1489f7e866d9439db0b16153ae65f2d50435a6c6752e
Turnip-v27.0.0-20261115-r2-8G2-OneUI-Linux.zip
41e3ead1c4cc1ab11dcb7a5e3c991514b9e1eb41d3fe3848628c810df3f07b16
Turnip-v27.0.0-20261115-r2-Banners-AIO.zip
10b358b1c04f5b06a374f4c40a102969ead3f6eed12836ca8b11a5d3e63bd122
Turnip-v27.0.0-20261115-r2-Banners-AIO-Wayland.zip
c35845b822b8b2798c3f74599d5a660ace8fea3ee0f6ff36170d208b8cc2211f
Turnip-v27.0.0-20261115-r2-Banners-AIO-Linux.zip
a40c661eae93c0c63b74c98758e253d83d9ece1d088289b79432f679f6bd6196
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.