⚠️ Automated build from Mesa
main: checked by CI, not tested on a device.
| Mesa | |
|---|---|
| Commit | 2008a72
|
| Commit title | RADV: Use radv_print_shader_disasm to print shader disassembly instead of just disasm_string |
| 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-r3.zip
| Turnip-v27.0.0-20261105-r3-Wayland.zip
| Turnip-v27.0.0-20261105-r3-Linux.zip
|
| A8xx (experimental) | Adreno 810 / 812 / 825 / 829 / 830 / 840 (8 Elite) | Turnip-v27.0.0-20261105-r3-A8xx.zip
| Turnip-v27.0.0-20261105-r3-A8xx-Wayland.zip
| Turnip-v27.0.0-20261105-r3-A8xx-Linux.zip
|
| A710 / A720 / A722 (experimental, untested on hardware) | Adreno 710 / 720 / 722 | Turnip-v27.0.0-20261105-r3-710-720-Test.zip
| Turnip-v27.0.0-20261105-r3-710-720-Test-Wayland.zip
| Turnip-v27.0.0-20261105-r3-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-r3-8G2-OneUI.zip
| Turnip-v27.0.0-20261105-r3-8G2-OneUI-Wayland.zip
| Turnip-v27.0.0-20261105-r3-8G2-OneUI-Linux.zip
|
| Banners-AIO (all SoC) | Every Adreno: 6xx, 7xx, 710 / 720 / 722, 8xx | Turnip-v27.0.0-20261105-r3-Banners-AIO.zip
| Turnip-v27.0.0-20261105-r3-Banners-AIO-Wayland.zip
| Turnip-v27.0.0-20261105-r3-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 2008a72 (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.
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); 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, VS / PS hysteresis 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-r3.zip
4c4610da73c259989f6011ecbc7d09fd240359ad2d51ec943297777f58fda569
Turnip-v27.0.0-20261105-r3-Wayland.zip
b782b5d6c4da8231161a2a3912d928e88e826ab480f5088c8616080d8fb272dd
Turnip-v27.0.0-20261105-r3-Linux.zip
4b9a3f399a3fe00f015350dbc8b0b89cb09d92d70e4cc39f3df6e475d2d90b9f
Turnip-v27.0.0-20261105-r3-A8xx.zip
b82b7a89db49dda9aa82429a16fc8b6d7046e1b96439aa7a9d70da149d293074
Turnip-v27.0.0-20261105-r3-A8xx-Wayland.zip
75584654aa3946176bdb81ef6b8ea45f1cff618f68c555330b169138d5e5afe6
Turnip-v27.0.0-20261105-r3-A8xx-Linux.zip
96ba241ba9c6bd0c8548aa39107e751f6889a19164ec5c71ed149431eaff77e2
Turnip-v27.0.0-20261105-r3-710-720-Test.zip
bba11cbb87443a13ae3792ed38445928cb24b88e242d34e25df583f00c7779cd
Turnip-v27.0.0-20261105-r3-710-720-Test-Wayland.zip
c8e08de1432035c11aa55d8fe01cf80910431cf937b063155f12376de1541bf7
Turnip-v27.0.0-20261105-r3-710-720-Test-Linux.zip
42ab144c542b653c1e17c0e9da872c47723f1eea07d269ff310d4d86a8056943
Turnip-v27.0.0-20261105-r3-8G2-OneUI.zip
8696b1c093a540aefcffca14ccf03945e6aa5f9ffd44856266027958b2f99912
Turnip-v27.0.0-20261105-r3-8G2-OneUI-Wayland.zip
ca3d2e9ab16a919ebf86cc548a2aecc3417f91bb2e29dc183f4ad730f3c5273b
Turnip-v27.0.0-20261105-r3-8G2-OneUI-Linux.zip
8ec8755d2f0cdb5f1ee8d40d3c4c533d856db424f209a48717944f579dada32a
Turnip-v27.0.0-20261105-r3-Banners-AIO.zip
7a147c4c58aa7a1387255737e791773f0ca3abf754c8055436fa3b37f1180579
Turnip-v27.0.0-20261105-r3-Banners-AIO-Wayland.zip
0c45ee607a1c7fb023461d80bf52badaab94e0d437b9449f10f38403dad4eed3
Turnip-v27.0.0-20261105-r3-Banners-AIO-Linux.zip
ca0811244864fd4267aeba3022c35af165efc544a39c24193e105ee2458eb5d5