⚠️ Automated build from Mesa
main: checked by CI, not tested on a device.
❌ The Linux build of A6xx / A7xx didn't build this run. Its X11 zip is fine.
| Mesa | |
|---|---|
| Commit | e6dd90e
|
| Commit title | kraid/disasm: Delete NullWriter |
| 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-r3.zip
| Turnip-v27.0.0-20261106-r3-Wayland.zip
| ❌ not built |
| A8xx (experimental) | Adreno 810 / 812 / 825 / 829 / 830 / 840 (8 Elite) | Turnip-v27.0.0-20261106-r3-A8xx.zip
| Turnip-v27.0.0-20261106-r3-A8xx-Wayland.zip
| Turnip-v27.0.0-20261106-r3-A8xx-Linux.zip
|
| A710 / A720 / A722 (experimental, untested on hardware) | Adreno 710 / 720 / 722 | Turnip-v27.0.0-20261106-r3-710-720-Test.zip
| Turnip-v27.0.0-20261106-r3-710-720-Test-Wayland.zip
| Turnip-v27.0.0-20261106-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-20261106-r3-8G2-OneUI.zip
| Turnip-v27.0.0-20261106-r3-8G2-OneUI-Wayland.zip
| Turnip-v27.0.0-20261106-r3-8G2-OneUI-Linux.zip
|
| Banners-AIO (all SoC) | Every Adreno: 6xx, 7xx, 710 / 720 / 722, 8xx | Turnip-v27.0.0-20261106-r3-Banners-AIO.zip
| Turnip-v27.0.0-20261106-r3-Banners-AIO-Wayland.zip
| Turnip-v27.0.0-20261106-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. 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 e6dd90e (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-r3.zip
08e8ceda334adfff7866f7239dc48e5501ceacc5353a8f0347b1a6f31a78abf3
Turnip-v27.0.0-20261106-r3-Wayland.zip
7ef9e399185dc67b57b6b0c94a748bea5e393a644e5a5ab8621ebf151cd9333b
Turnip-v27.0.0-20261106-r3-A8xx.zip
7302a98ec69e4fbd73498de4c98a5e3421e8468216b13a83bce21f0facfe47f1
Turnip-v27.0.0-20261106-r3-A8xx-Wayland.zip
1f624664fceef64f7277b84342b85cb1162d4e36e0e94e06fa1d4774dc37dd93
Turnip-v27.0.0-20261106-r3-A8xx-Linux.zip
226730aa018f2059a72d78991bba2c4cca2035a78db21895ee7a5e32fbf35854
Turnip-v27.0.0-20261106-r3-710-720-Test.zip
075f52f6fcd247de463fe70c06b4d3dca774bd403d8732d21f9669eaa19a1ee8
Turnip-v27.0.0-20261106-r3-710-720-Test-Wayland.zip
bbb34cb798702d8199910f31214db66abc03d943c777696f43b2d0a57e04d5e3
Turnip-v27.0.0-20261106-r3-710-720-Test-Linux.zip
04b8cef33b5fa6edc867fc72b6a049f2e5016b5a6320458c4e4f1a6cb81431cd
Turnip-v27.0.0-20261106-r3-8G2-OneUI.zip
9e4b0c4afc6934665ab854771e855800d7ba2fc6dd22ffbc4fa3909178bc61b5
Turnip-v27.0.0-20261106-r3-8G2-OneUI-Wayland.zip
d8052e52c3117cb9e15e923d6ba813e5ef3fb3fc882892cc9fbe6a59834f19f4
Turnip-v27.0.0-20261106-r3-8G2-OneUI-Linux.zip
5355a56096b8263edad10db885aa192b5dd3013af8f19792e447b214f14bd17a
Turnip-v27.0.0-20261106-r3-Banners-AIO.zip
de8298be6c734f1c0e09ad14756177ab60896b8056c1e75e5e7db1a9a44f62a3
Turnip-v27.0.0-20261106-r3-Banners-AIO-Wayland.zip
fd1b54f9ba1dac4fb9b97d125080e978d85c990d9230fab05df63cac242ec00a
Turnip-v27.0.0-20261106-r3-Banners-AIO-Linux.zip
90d7d23c718861c61ec4ccceb17a62d2e4354a724f0c979c97a432dcd3f06868
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.