Repository navigation
Turnip Adreno 710,720,722 v4.3
Experimental build based on Mesa (main branch).
Not officially supported — do not report issues to Mesa upstream.
Support
- Need help? https://t.me/vauzi_17
Build Information
| v4.3 | v4.3-exp | |
|---|---|---|
| Mesa commit | d1e369d8a63e |
4c12390be306 |
| Vulkan | 1.4.363 | 1.4.363 |
| Android NDK | r29 | r29 |
| Build date | 2026-10-18 | 2026-10-18 |
Both builds use Mesa 27.0.0-devel and support Mesa-supported Adreno GPUs, including 6xx, 7xx, and 8xx series. See the Mesa device list.
v4.3 — Standard
- Synced with the latest Mesa main branch.
- Patch:
01-u_gralloc-always-use-ubwc-detection.patch— always use the UBWC detection path.
v4.3-exp — Experimental
- Synced with the latest Mesa main branch.
- Includes additional experimental patches for Turnip-Z-derived rendering and texture behavior.
- May deliver up to 1.5× the FPS of standard Turnip in Switch emulators like Eden.
Patches included in this build:
01-u_gralloc-always-use-ubwc-detection.patch— UBWC detection path.02-tu-lrz-reuse-dont-care-in-sysmem.patch— reuse LRZ state forDONT_CAREdepth in sysmem rendering.20-default-env.py— default Turnip environment variables.30-tu-z-mutable.py— Turnip-Z-derived mutable-format image handling.31-tu-z-lrz-rescue.py— Turnip-Z-derived LRZ rescue for in-render-pass depth clears.32-tu-z-texfast.py— Turnip-Z-derived texture-sampling optimization.33-tu-z-bgra-swap.py— Turnip-Z-derived BGRA color-swap handling for tiled images.36-tu-z-sysmem-only.py— Turnip-Z-derived force sysmem rendering, and keep the bin-restore preamble37-tu-z-bgra-companion.py— Turnip-Z-derived BGRA8 companion changes that go with 33-tu-z-bgra-swap.py
Upstream Freedreno Changes Since 4.2
14 commits under src/freedreno, grouped by commit title.
Turnip (tu) (5)
c88b6ebd38tu: Fix bindless descriptor invalidate sequence5cf8c6b2fetu: Don't bail after the first instr when gathering push const range42d7c33154tu: Handle ray queries to non-uniform ASs2588040aaatu: Slightly better with_crb()e7959c6009tu: Replace C-style casts with explicit C++ casts
Compiler (ir3) (4)
2755d64a64ir3: Fix potential out-of-range load_const_ir3 base offset8f491f606air3: Only call nir_opt_shrink_vectors once48e987b0bcir3/lower_copies: add validation6ecb087d52ir3: add ir3_instr_prev/next helpers
Other (5)
b539ccee0anir: delete uadd_carry/usub_borrow79fa6f5ca5ci: uprev vkd3d07ea97900efreedreno: add 2 slice Adreno 840 chip id98ff6e8312freedreno/tools: Add a5xx support to computerator.ea8c2ea0edfreedreno: Slightly better with_crb()
Credits
Patches 30–33 are reimplementations based on analysis of the Turnip-Z v2.0.0 binary by AlexSanz0902: github.com/AlexSanz0902/turnip-sd865-z. The repository is MIT-licensed but does not publish source code; these patches were rewritten for upstream Mesa and were not copied from repository source code.
Notes
- Graphics issues may still occur depending on the game or emulator.
- Performance and compatibility vary by device, firmware, emulator version, and game.
- Recommended memory mode: sysmem (
TU_DEBUG=sysmem). - Experimental build.
Downloads & SHA-256
| File | SHA-256 |
|---|---|
Turnip-710-720-722-v4.3.zip |
45ac070f30086cb67bd6f24600199293192c3fa4810c402b25ac185967a3b5e6 |
Turnip-710-720-722-v4.3-exp.zip |
52aa98ed4d1c7703ad5adaa1157cbfba887fbee1ba9aae07402b19305d412165 |
Turnip-710-720-722-v4.3-exp-fix.zip |
325a10f251e2e1fa39f9cc3f87f5efc7319aad8e53395713878164b11bfe9c73 |