⚠️ Automated build from Mesa
main: checked by CI, not tested on a device.
| Mesa | |
|---|---|
| Commit | d3c007c
|
| Commit title | gallivm: disable apx feature for now. |
| Vulkan version | Vulkan 1.4.367 |
| Date | 2026-11-09 |
Downloads
| Driver | GPUs | X11 / AdrenoTools | Bannerlator Wayland | Linux runtime |
|---|---|---|---|---|
| Standard | Adreno 6xx / 7xx (8 Gen 3 and older) | Turnip-v27.0.0-20261109-r2.zip
| Turnip-v27.0.0-20261109-r2-Wayland.zip
| Turnip-v27.0.0-20261109-r2-Linux.zip
|
| A8xx (experimental) | Adreno 810 / 812 / 825 / 829 / 830 / 840 (8 Elite) | Turnip-v27.0.0-20261109-r2-A8xx.zip
| Turnip-v27.0.0-20261109-r2-A8xx-Wayland.zip
| Turnip-v27.0.0-20261109-r2-A8xx-Linux.zip
|
| A710 / A720 / A722 (experimental, untested on hardware) | Adreno 710 / 720 / 722 | Turnip-v27.0.0-20261109-r2-710-720-Test.zip
| Turnip-v27.0.0-20261109-r2-710-720-Test-Wayland.zip
| Turnip-v27.0.0-20261109-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-20261109-r2-8G2-OneUI.zip
| Turnip-v27.0.0-20261109-r2-8G2-OneUI-Wayland.zip
| Turnip-v27.0.0-20261109-r2-8G2-OneUI-Linux.zip
|
| Banners-AIO (all SoC) | Every Adreno: 6xx, 7xx, 710 / 720 / 722, 8xx | Turnip-v27.0.0-20261109-r2-Banners-AIO.zip
| Turnip-v27.0.0-20261109-r2-Banners-AIO-Wayland.zip
| Turnip-v27.0.0-20261109-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 d3c007c (2026-11-09), 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-r2.zip
3f3cc7459b042bd4476b78385d94555d153fd6998de71e6cfd55ea40dd213412
Turnip-v27.0.0-20261109-r2-Wayland.zip
b53dbf55efbca38af1b2492d1f13a9ebae327ed83628e3cb3dcda0a9332c9ddc
Turnip-v27.0.0-20261109-r2-Linux.zip
a46723b71996356a92208529a0777751ec868726ded1917574f126f1e1f94a8a
Turnip-v27.0.0-20261109-r2-A8xx.zip
47fdfe5b83fa2fc834a0cc80df2f8653f2f44b6f3430e5a2ac8c44f4215fbe8a
Turnip-v27.0.0-20261109-r2-A8xx-Wayland.zip
0d51e41736a40c230c6f7a520478583921e691771ed6356059cebed21ec97455
Turnip-v27.0.0-20261109-r2-A8xx-Linux.zip
403ea86a6bf0a63aeb3d0a57c88e5cce0726a2866dac1420fd9c59e9cd45c861
Turnip-v27.0.0-20261109-r2-710-720-Test.zip
ff8ebc36911760ab453ef11a733360f19bea9280c7bd01cf604701d87542b778
Turnip-v27.0.0-20261109-r2-710-720-Test-Wayland.zip
b933d115e0a53e66ab305d82517ff8558faa92ba0c8dddb7c876f0bd3d235d57
Turnip-v27.0.0-20261109-r2-710-720-Test-Linux.zip
d8a616f894160de17e3c69b30d0c02d4d84a209d7648af99ae30f6249fa39738
Turnip-v27.0.0-20261109-r2-8G2-OneUI.zip
6c02786dc21bf00e71f91311ab4d37e82e0a0877501c28a9235c0ddf31631431
Turnip-v27.0.0-20261109-r2-8G2-OneUI-Wayland.zip
8debf22e8d2a40ab0a2d2c03d1847f1289badc64e4f1dd2db04441fd9f712741
Turnip-v27.0.0-20261109-r2-8G2-OneUI-Linux.zip
a56f206a44f23529c2c641ef8784748313f832d24f2a72467fbcc510f35e57a5
Turnip-v27.0.0-20261109-r2-Banners-AIO.zip
3f0273dcebbbe0eb32c1491ea9b5d61e24f711d3ab12f2258809bcb9690cc577
Turnip-v27.0.0-20261109-r2-Banners-AIO-Wayland.zip
d8f74ead1652925beee3b9ddaaf7923361e7c5a52399f9aad39227c039a09f38
Turnip-v27.0.0-20261109-r2-Banners-AIO-Linux.zip
8df260d5614c62df4c6aef009988977414d90a3a24fe782dd4fe3c083521a599
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.