⚠️ Automated build from Mesa
main: checked by CI, not tested on a device.
| Mesa | |
|---|---|
| Commit | de9afd5
|
| Commit title | torx: Depend on idep_mesautilformat for generated format headers |
| 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-r5.zip
| Turnip-v27.0.0-20261112-r5-Wayland.zip
| Turnip-v27.0.0-20261112-r5-Linux.zip
|
| A8xx (experimental) | Adreno 810 / 812 / 825 / 829 / 830 / 840 (8 Elite) | Turnip-v27.0.0-20261112-r5-A8xx.zip
| Turnip-v27.0.0-20261112-r5-A8xx-Wayland.zip
| Turnip-v27.0.0-20261112-r5-A8xx-Linux.zip
|
| A710 / A720 / A722 (experimental, untested on hardware) | Adreno 710 / 720 / 722 | Turnip-v27.0.0-20261112-r5-710-720-Test.zip
| Turnip-v27.0.0-20261112-r5-710-720-Test-Wayland.zip
| Turnip-v27.0.0-20261112-r5-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-r5-8G2-OneUI.zip
| Turnip-v27.0.0-20261112-r5-8G2-OneUI-Wayland.zip
| Turnip-v27.0.0-20261112-r5-8G2-OneUI-Linux.zip
|
| Banners-AIO (all SoC) | Every Adreno: 6xx, 7xx, 710 / 720 / 722, 8xx | Turnip-v27.0.0-20261112-r5-Banners-AIO.zip
| Turnip-v27.0.0-20261112-r5-Banners-AIO-Wayland.zip
| Turnip-v27.0.0-20261112-r5-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 de9afd5 (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-r5.zip
8e6d78f160af3ff5a03363758f9bf79388d47edf7f8157389a9b13f620fbd8b0
Turnip-v27.0.0-20261112-r5-Wayland.zip
067bed62e7a4ed228099257336ac4b6f40e8ad88b8796fa36f7db419016ab089
Turnip-v27.0.0-20261112-r5-Linux.zip
8134a006de79fff607b84e46bcfbe9e8d7c442c6aff5319fd85c85c92552e830
Turnip-v27.0.0-20261112-r5-A8xx.zip
bbca5b0759724553798837f77b254d9d725cb889ac0804d7684fd07beb5869ee
Turnip-v27.0.0-20261112-r5-A8xx-Wayland.zip
844d968fb59ec3a9508f1b71d0c52775b06c8eda96930986b65275ace1824b24
Turnip-v27.0.0-20261112-r5-A8xx-Linux.zip
0f09d6e3a6c53406b4cfbc6dd82f91edcc401da17d0a9dd82045bd515ba8c6de
Turnip-v27.0.0-20261112-r5-710-720-Test.zip
4916648ea3e188d91a5dddd6e6d5d8bed97d8e66849f146ff16b727b37cb163e
Turnip-v27.0.0-20261112-r5-710-720-Test-Wayland.zip
344c95a46a21347a0185996fd367053527863cd7acae18347e056125b4c9d30b
Turnip-v27.0.0-20261112-r5-710-720-Test-Linux.zip
1f8a5298dc947997ae0136bdc4c43cee9223119b51fe02543f81ecb96ea6cb0b
Turnip-v27.0.0-20261112-r5-8G2-OneUI.zip
75a425300d362d3dcef972c0dd3f20320028af2d74adaa85ff5a0dff81317e1b
Turnip-v27.0.0-20261112-r5-8G2-OneUI-Wayland.zip
7a8f5e01b6707549dfb1c1299b3a35a4afd30c4110516fad8b6bca847f340635
Turnip-v27.0.0-20261112-r5-8G2-OneUI-Linux.zip
60fe016c7576723cdf2184ebc1eeaf7249da3c2e45cc09c6af2dd6d866754002
Turnip-v27.0.0-20261112-r5-Banners-AIO.zip
a0a3d5217f6e00a0197605ed2fbbab42418f8b5dc0c0a6da151e39eba02edcbc
Turnip-v27.0.0-20261112-r5-Banners-AIO-Wayland.zip
c277c0106d46e8a0a5de8a5e657ab3d77ec4ddf4ca85755571b1952dc3f1c187
Turnip-v27.0.0-20261112-r5-Banners-AIO-Linux.zip
bc32483b5977f18330cd0cdf17c843ee373d2ff9198bcaeb1eab33ee3c6a7713
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.