⚠️ Automated build from Mesa
main: checked by CI, not tested on a device.
| Mesa | |
|---|---|
| Commit | 35a0fef
|
| Commit title | radv: rename some Vulkan definitions that have been promoted |
| Vulkan version | Vulkan 1.4.367 |
| Date | 2026-11-06 |
Downloads
| Driver | GPUs | X11 / AdrenoTools | Bannerlator Wayland | Linux runtime |
|---|---|---|---|---|
| Standard | Adreno 6xx / 7xx (8 Gen 3 and older) | Turnip-v27.0.0-20261106-r2.zip
| Turnip-v27.0.0-20261106-r2-Wayland.zip
| Turnip-v27.0.0-20261106-r2-Linux.zip
|
| A8xx (experimental) | Adreno 810 / 812 / 825 / 829 / 830 / 840 (8 Elite) | Turnip-v27.0.0-20261106-r2-A8xx.zip
| Turnip-v27.0.0-20261106-r2-A8xx-Wayland.zip
| Turnip-v27.0.0-20261106-r2-A8xx-Linux.zip
|
| A710 / A720 / A722 (experimental, untested on hardware) | Adreno 710 / 720 / 722 | Turnip-v27.0.0-20261106-r2-710-720-Test.zip
| Turnip-v27.0.0-20261106-r2-710-720-Test-Wayland.zip
| Turnip-v27.0.0-20261106-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-20261106-r2-8G2-OneUI.zip
| Turnip-v27.0.0-20261106-r2-8G2-OneUI-Wayland.zip
| Turnip-v27.0.0-20261106-r2-8G2-OneUI-Linux.zip
|
| Banners-AIO (all SoC) | Every Adreno: 6xx, 7xx, 710 / 720 / 722, 8xx | Turnip-v27.0.0-20261106-r2-Banners-AIO.zip
| Turnip-v27.0.0-20261106-r2-Banners-AIO-Wayland.zip
| Turnip-v27.0.0-20261106-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 35a0fef (2026-11-06), 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-20261106-r2.zip
72c9f1aa79ca4fce708094dbf6d14e171d216067edec29181251e591cfe7aad5
Turnip-v27.0.0-20261106-r2-Wayland.zip
2d3d238cee752d5d135dc5b0c74fd252c5d026217a23d79c1aa715ae568735da
Turnip-v27.0.0-20261106-r2-Linux.zip
4a0264fb8b1c3699a96133b64d39d22e9d56b645bcd7f5583448502e756e3f5d
Turnip-v27.0.0-20261106-r2-A8xx.zip
de10668a83f4821d042d823dfaeefc7a179d5cc87baeb9fde85c5dee5725420e
Turnip-v27.0.0-20261106-r2-A8xx-Wayland.zip
3d34aaf0ead0f532688ef0cb487bffdd89353123e37e4b4e9be5eb3fb59e242e
Turnip-v27.0.0-20261106-r2-A8xx-Linux.zip
e0f50ad7a730ceee9125516ec041355828651faf582896103f0e370a05edd59a
Turnip-v27.0.0-20261106-r2-710-720-Test.zip
90c3c843dd11676b5ad3dbc31ed8844065dcb02c971ebaf1f6393cfcbd5bb872
Turnip-v27.0.0-20261106-r2-710-720-Test-Wayland.zip
1f7e5b9ee22b4ba0e50b5c34dfaf970088d4e35959af1966a89074660d244cda
Turnip-v27.0.0-20261106-r2-710-720-Test-Linux.zip
bc286c8d81e07d3b60ad7ed650d6dcbf6fdc69f408f38bb2f7e881c996161b45
Turnip-v27.0.0-20261106-r2-8G2-OneUI.zip
7180a021e9f730d4e2e0bf33eac4e6bc7b6cdfd66c11a090fe52b5605e98175a
Turnip-v27.0.0-20261106-r2-8G2-OneUI-Wayland.zip
3188e8f1ee3664fe743dbe2360c4560eeb2473e702cb6cb2f1f377003647439c
Turnip-v27.0.0-20261106-r2-8G2-OneUI-Linux.zip
82b3f5bc8fc8b603ed31bb1e80fe1b3721e8f38c5c5ca762bc8d947a56322bcd
Turnip-v27.0.0-20261106-r2-Banners-AIO.zip
756bb8ede34337f14efc2f71a0fcf3e842ed8530338150b6df7bde60625942b5
Turnip-v27.0.0-20261106-r2-Banners-AIO-Wayland.zip
f1094065a38c19665eb3b2de3762bc40a9b8735f31c93853a9b6f886950981bc
Turnip-v27.0.0-20261106-r2-Banners-AIO-Linux.zip
ef90259de3743ca6c3a8b52d5fd9733178b3ec66243ac1f7aeb7fb9b20272276