⚠️ Automated build from Mesa
main: checked by CI, not tested on a device.
| Mesa | |
|---|---|
| Commit | 5a822a8
|
| Commit title | gitlab: Request inxi for all GPUs |
| Vulkan version | Vulkan 1.4.368 |
| Date | 2026-11-09 |
Downloads
| Driver | GPUs | X11 / AdrenoTools | Bannerlator Wayland | Linux runtime |
|---|---|---|---|---|
| Standard | Adreno 6xx / 7xx (8 Gen 3 and older) | Turnip-v27.0.0-20261109-r3.zip
| Turnip-v27.0.0-20261109-r3-Wayland.zip
| Turnip-v27.0.0-20261109-r3-Linux.zip
|
| A8xx (experimental) | Adreno 810 / 812 / 825 / 829 / 830 / 840 (8 Elite) | Turnip-v27.0.0-20261109-r3-A8xx.zip
| Turnip-v27.0.0-20261109-r3-A8xx-Wayland.zip
| Turnip-v27.0.0-20261109-r3-A8xx-Linux.zip
|
| A710 / A720 / A722 (experimental, untested on hardware) | Adreno 710 / 720 / 722 | Turnip-v27.0.0-20261109-r3-710-720-Test.zip
| Turnip-v27.0.0-20261109-r3-710-720-Test-Wayland.zip
| Turnip-v27.0.0-20261109-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-20261109-r3-8G2-OneUI.zip
| Turnip-v27.0.0-20261109-r3-8G2-OneUI-Wayland.zip
| Turnip-v27.0.0-20261109-r3-8G2-OneUI-Linux.zip
|
| Banners-AIO (all SoC) | Every Adreno: 6xx, 7xx, 710 / 720 / 722, 8xx | Turnip-v27.0.0-20261109-r3-Banners-AIO.zip
| Turnip-v27.0.0-20261109-r3-Banners-AIO-Wayland.zip
| Turnip-v27.0.0-20261109-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 5a822a8 (2026-11-09), 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-20261109-r3.zip
e308a574f238fd071922e733086bc3dc2f3a4ab5c2e4639157c182c64dcc1131
Turnip-v27.0.0-20261109-r3-Wayland.zip
44f02d562428aee92464b17f41ee7a73dec2be3ec65feaafbebfeec23d8a5c49
Turnip-v27.0.0-20261109-r3-Linux.zip
14c7ee3a5680d9c9a5369f0f88e1a12292665b3044f81621dc7dfd0a42baad40
Turnip-v27.0.0-20261109-r3-A8xx.zip
e3ee99f55bca4e2fdd32551c2191addcaa995295c8d0d948a2bd93e8a96336f8
Turnip-v27.0.0-20261109-r3-A8xx-Wayland.zip
aa82e7ee43bb8acb55de3170cad32d68fe20b660d8c93f9785aef619db1796ea
Turnip-v27.0.0-20261109-r3-A8xx-Linux.zip
94efd3e0b534456f8d50c66f7d35aa3b19563323bf7c887011ff6ad81486a4d1
Turnip-v27.0.0-20261109-r3-710-720-Test.zip
17bb8b1f63758a0f3ed0faf3529ef15a5a53b726885f3ed60f4fb1655b3c1f2a
Turnip-v27.0.0-20261109-r3-710-720-Test-Wayland.zip
ad51a03eaf8e1283bb43cf727217a357a03081a741da89c528fd24503b6ae97d
Turnip-v27.0.0-20261109-r3-710-720-Test-Linux.zip
9ad311bdd41b1003f46f9d430e375d12b04afd207a12029ffd84a546287b1944
Turnip-v27.0.0-20261109-r3-8G2-OneUI.zip
cea7a989991ea5079e2646ade4bab162f1605eeab30f26621541c3744c5fd39a
Turnip-v27.0.0-20261109-r3-8G2-OneUI-Wayland.zip
defc3bd9c41b08a264b834e82ba01030736db582e47d974fe4c919e2db3596af
Turnip-v27.0.0-20261109-r3-8G2-OneUI-Linux.zip
a5d44844c05451272bf7c0355187cdd8a77a90d458439fccd0ad55130baf4cf7
Turnip-v27.0.0-20261109-r3-Banners-AIO.zip
9c38b96300d1609c3cbe0c6b17006cc8c2e7b32dfd8dde3c6b83100145a0d936
Turnip-v27.0.0-20261109-r3-Banners-AIO-Wayland.zip
011d9a2ce2835f5735aefe6ff9ad18a52dd36761aee6c8ce64b68e291b1b486f
Turnip-v27.0.0-20261109-r3-Banners-AIO-Linux.zip
4d70e2f70af6725b82c555e424d1c82fbc0b12bce1ae8ccb7c1777f8f9d00c58
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.