⚠️ Automated build from Mesa
main: checked by CI, not tested on a device.
| Mesa | |
|---|---|
| Commit | e549b46
|
| Commit title | broadcom/ci: update kernel |
| Vulkan version | Vulkan 1.4.367 |
| Date | 2026-11-07 |
Downloads
| Driver | GPUs | X11 / AdrenoTools | Bannerlator Wayland | Linux runtime |
|---|---|---|---|---|
| Standard | Adreno 6xx / 7xx (8 Gen 3 and older) | Turnip-v27.0.0-20261107-r4.zip
| Turnip-v27.0.0-20261107-r4-Wayland.zip
| Turnip-v27.0.0-20261107-r4-Linux.zip
|
| A8xx (experimental) | Adreno 810 / 812 / 825 / 829 / 830 / 840 (8 Elite) | Turnip-v27.0.0-20261107-r4-A8xx.zip
| Turnip-v27.0.0-20261107-r4-A8xx-Wayland.zip
| Turnip-v27.0.0-20261107-r4-A8xx-Linux.zip
|
| A710 / A720 / A722 (experimental, untested on hardware) | Adreno 710 / 720 / 722 | Turnip-v27.0.0-20261107-r4-710-720-Test.zip
| Turnip-v27.0.0-20261107-r4-710-720-Test-Wayland.zip
| Turnip-v27.0.0-20261107-r4-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-20261107-r4-8G2-OneUI.zip
| Turnip-v27.0.0-20261107-r4-8G2-OneUI-Wayland.zip
| Turnip-v27.0.0-20261107-r4-8G2-OneUI-Linux.zip
|
| Banners-AIO (all SoC) | Every Adreno: 6xx, 7xx, 710 / 720 / 722, 8xx | Turnip-v27.0.0-20261107-r4-Banners-AIO.zip
| Turnip-v27.0.0-20261107-r4-Banners-AIO-Wayland.zip
| Turnip-v27.0.0-20261107-r4-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 e549b46 (2026-11-07), 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-20261107-r4.zip
1850f3afb39ff9255804602f51960f6f861d2d5c59df04efb6cf4e5d40b5208e
Turnip-v27.0.0-20261107-r4-Wayland.zip
7102ec7807f8510ab18b5e0a12beb00e25e3038057459dbdbb737accdcad5465
Turnip-v27.0.0-20261107-r4-Linux.zip
c6be37a0f3f2c62ed1f4a2f1dd2a640e47a62b099676b03ce5e890429ff9ce3c
Turnip-v27.0.0-20261107-r4-A8xx.zip
76c1ff448ac9b3dc0813726544a0aaeba0d0b6df1528d4618e2516487316b00b
Turnip-v27.0.0-20261107-r4-A8xx-Wayland.zip
26320d5486c31a8a5bdc0c58827d79911cacba18d115fd1fab6a9ed7483c42e8
Turnip-v27.0.0-20261107-r4-A8xx-Linux.zip
62bdd01137d68765d5adbbb244c1f2b7c34573e9bdcf98e714fc7f28cc3e223e
Turnip-v27.0.0-20261107-r4-710-720-Test.zip
8a2104cdc8072a31b66f95eb9adc5ecb6b20eb08a8117d7288fdfe1957cf601b
Turnip-v27.0.0-20261107-r4-710-720-Test-Wayland.zip
1f17dc553559d524d1fb3eac9d1cff8d440a6dcea3890439d538aad4590e4326
Turnip-v27.0.0-20261107-r4-710-720-Test-Linux.zip
92e9079f89ca3f5808a961b09502d9c2c30a6ebd52b4b336d5b2255dfc8348e9
Turnip-v27.0.0-20261107-r4-8G2-OneUI.zip
4221cfc4c502e1b9599084655fb1acf7ceab336e7ed56c402d8f98952a2b4fd0
Turnip-v27.0.0-20261107-r4-8G2-OneUI-Wayland.zip
a5ee0ec49082063c5bb503ff37d1471fb69dada322390841ad04c731ac818005
Turnip-v27.0.0-20261107-r4-8G2-OneUI-Linux.zip
0be9c5924fec8ae0c353b92a8a8c0914253b6f7e4a14936ebb93eb7920bec4be
Turnip-v27.0.0-20261107-r4-Banners-AIO.zip
b33404f8fdb4733730e7b7b7461466e389a394f69713fe94f4d961b1a7ff0c9c
Turnip-v27.0.0-20261107-r4-Banners-AIO-Wayland.zip
24c1c8a002d53e18d49fd36266c24f53f8ff138a13b253fc1ad49fb9d1ba1606
Turnip-v27.0.0-20261107-r4-Banners-AIO-Linux.zip
5054b4ec0db1d264e419f9f68b5d90f14ce2620954d5050afc22ddf9232514ad
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.