⚠️ Automated build from Mesa
main: checked by CI, not tested on a device.
| Mesa | |
|---|---|
| Commit | 58a6812
|
| Commit title | lvp: remove useless parameter in lvp_nir_lower_descriptor_heaps() |
| Vulkan version | Vulkan 1.4.367 |
| Date | 2026-11-05 |
Downloads
| Driver | GPUs | X11 / AdrenoTools | Bannerlator Wayland | Linux runtime |
|---|---|---|---|---|
| Standard | Adreno 6xx / 7xx (8 Gen 3 and older) | Turnip-v27.0.0-20261105-r6.zip
| Turnip-v27.0.0-20261105-r6-Wayland.zip
| Turnip-v27.0.0-20261105-r6-Linux.zip
|
| A8xx (experimental) | Adreno 810 / 812 / 825 / 829 / 830 / 840 (8 Elite) | Turnip-v27.0.0-20261105-r6-A8xx.zip
| Turnip-v27.0.0-20261105-r6-A8xx-Wayland.zip
| Turnip-v27.0.0-20261105-r6-A8xx-Linux.zip
|
| A710 / A720 / A722 (experimental, untested on hardware) | Adreno 710 / 720 / 722 | Turnip-v27.0.0-20261105-r6-710-720-Test.zip
| Turnip-v27.0.0-20261105-r6-710-720-Test-Wayland.zip
| Turnip-v27.0.0-20261105-r6-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-20261105-r6-8G2-OneUI.zip
| Turnip-v27.0.0-20261105-r6-8G2-OneUI-Wayland.zip
| Turnip-v27.0.0-20261105-r6-8G2-OneUI-Linux.zip
|
| Banners-AIO (all SoC) | Every Adreno: 6xx, 7xx, 710 / 720 / 722, 8xx | Turnip-v27.0.0-20261105-r6-Banners-AIO.zip
| Turnip-v27.0.0-20261105-r6-Banners-AIO-Wayland.zip
| Turnip-v27.0.0-20261105-r6-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 58a6812 (2026-11-05), 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-20261105-r6.zip
664fde736106cc7be9926677aa43af5194007ba5966d05721b3cd7ddedaa943b
Turnip-v27.0.0-20261105-r6-Wayland.zip
1ee9e859a1ca2e3e72e0d8b17a6eeffd42d58e3c8a53f3294363e4330a3e35ab
Turnip-v27.0.0-20261105-r6-Linux.zip
9aff24c6afcceafc04ec56ae8b87017393a163d34d3d9534677bdb9a4e9742c7
Turnip-v27.0.0-20261105-r6-A8xx.zip
2987d3aed4f0e05218a87226f3b3119b4eac3427f632ea1ae7e84d679429c429
Turnip-v27.0.0-20261105-r6-A8xx-Wayland.zip
b066856a115857c4c9f9dca01866a330c2d3ffff5efb8ce7253e967babf45575
Turnip-v27.0.0-20261105-r6-A8xx-Linux.zip
8436adac6b7e1fbbe3afc2d02545eafdbf59f320efe8e518b577f98a43b0c5e2
Turnip-v27.0.0-20261105-r6-710-720-Test.zip
868b1c4484ed480730bbc36b57ccbf775f97184202f9bdb397a3680625534bc3
Turnip-v27.0.0-20261105-r6-710-720-Test-Wayland.zip
96b27d5b030bfae4c647313f8609e5228261a1cbc3163e7e3c315e1bbbb43dde
Turnip-v27.0.0-20261105-r6-710-720-Test-Linux.zip
e3506191c38a5332de32381f6df797e7d3bd2099210336da4e777be7ff22bace
Turnip-v27.0.0-20261105-r6-8G2-OneUI.zip
a97633d70094408d3fec3597a8f02c7be7041c2c3eed4edb5724d6101bcefd34
Turnip-v27.0.0-20261105-r6-8G2-OneUI-Wayland.zip
f08b3e4b6908e492548fcc991355605fbd23802dda8aca6c110410d85b4ea1b0
Turnip-v27.0.0-20261105-r6-8G2-OneUI-Linux.zip
780d333bfea605263f9e3474c65cd04de7fd16587949925ba3971ee3ce158c61
Turnip-v27.0.0-20261105-r6-Banners-AIO.zip
b760b58b32c025107812190d9fc7331cace33e78808b975ad22c13dfa7e7941a
Turnip-v27.0.0-20261105-r6-Banners-AIO-Wayland.zip
961ef6ee5e10b7ba1fa60bf83168aa2c738c756b9d4f92cb8a9442e86b22d275
Turnip-v27.0.0-20261105-r6-Banners-AIO-Linux.zip
156c7ec144713d0e49ee751a34a2c15bbe7ff680d0af4f1305061b7f84fbd5ca