⚠️ Automated build from Mesa
main: checked by CI, not tested on a device.
| Mesa | |
|---|---|
| Commit | 579079f
|
| Commit title | nir/opt_reassociate: Split int/float scalar options |
| 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-r5.zip
| Turnip-v27.0.0-20261105-r5-Wayland.zip
| Turnip-v27.0.0-20261105-r5-Linux.zip
|
| A8xx (experimental) | Adreno 810 / 812 / 825 / 829 / 830 / 840 (8 Elite) | Turnip-v27.0.0-20261105-r5-A8xx.zip
| Turnip-v27.0.0-20261105-r5-A8xx-Wayland.zip
| Turnip-v27.0.0-20261105-r5-A8xx-Linux.zip
|
| A710 / A720 / A722 (experimental, untested on hardware) | Adreno 710 / 720 / 722 | Turnip-v27.0.0-20261105-r5-710-720-Test.zip
| Turnip-v27.0.0-20261105-r5-710-720-Test-Wayland.zip
| Turnip-v27.0.0-20261105-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-20261105-r5-8G2-OneUI.zip
| Turnip-v27.0.0-20261105-r5-8G2-OneUI-Wayland.zip
| Turnip-v27.0.0-20261105-r5-8G2-OneUI-Linux.zip
|
| Banners-AIO (all SoC) | Every Adreno: 6xx, 7xx, 710 / 720 / 722, 8xx | Turnip-v27.0.0-20261105-r5-Banners-AIO.zip
| Turnip-v27.0.0-20261105-r5-Banners-AIO-Wayland.zip
| Turnip-v27.0.0-20261105-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 579079f (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-r5.zip
0e00f9a85105d0df992858728d01dd9398df9eae478d27da35df3ce7690d4908
Turnip-v27.0.0-20261105-r5-Wayland.zip
292e6ee70b20d9875e7f7d505adb2d0e782d6c437d81ba87b8791648482a0d26
Turnip-v27.0.0-20261105-r5-Linux.zip
da6d5ab16789100c87044ba18a58b8c882e375d39e97cc9bd96a42774e25f99c
Turnip-v27.0.0-20261105-r5-A8xx.zip
763d3ba77390f20ad1ff5b1fa0b60c85544cdc2ea1e54e2b9b175badd5531c99
Turnip-v27.0.0-20261105-r5-A8xx-Wayland.zip
82822ae511e89d3c29c9bdd5b8c1bfc7d03f8c4f29ca28321557b09bfe515920
Turnip-v27.0.0-20261105-r5-A8xx-Linux.zip
31e75973d6d49e1204cf465aa684701122b02ba0bb3b1de40be03ffe2b8cd37d
Turnip-v27.0.0-20261105-r5-710-720-Test.zip
3f088720181a607179857e7b5b4ec647d4570699cfc91392c8a7cc78a75ae24b
Turnip-v27.0.0-20261105-r5-710-720-Test-Wayland.zip
ccf3324f6b82426aad3ed387580ba833f8dce0f4c59c9606ddacdb2a5646362b
Turnip-v27.0.0-20261105-r5-710-720-Test-Linux.zip
9d44d4ecbdd6451c214d570eb50b2bd8d5c833d5d40a6381b58761d8a7af6c80
Turnip-v27.0.0-20261105-r5-8G2-OneUI.zip
ff1fbb2117e4f79389a2f03a8a6005aa342485850611e456fcb90f409eb2f7ad
Turnip-v27.0.0-20261105-r5-8G2-OneUI-Wayland.zip
07b3bc08a5525f2145ea71144e7e5ee9e0f0e359d91af4c1dd2574801f00f77b
Turnip-v27.0.0-20261105-r5-8G2-OneUI-Linux.zip
821c2d9b192070cd84be8b8a030dbdd84c2018ef41c2901229917709149e9c6e
Turnip-v27.0.0-20261105-r5-Banners-AIO.zip
983a521cfbe33b14e9d7c82c3d179d3b177a2fdef4e429da84a1ec5d7ab3663a
Turnip-v27.0.0-20261105-r5-Banners-AIO-Wayland.zip
cc48ec6649de47c912db2c9b5ba405add52019ae447449c7d0bc090534671363
Turnip-v27.0.0-20261105-r5-Banners-AIO-Linux.zip
b5ae4ecd1b5c3f245a33277cab8cd88f8a1de88962c661283abc36bd3dfe4a0a