Files
DroidDeck/docs/third-party/malibridge/README.md
maxjivi05 c300342a29 Update MaliBridge to v0.5.4
v0.5.4 backs the exported memory with AHardwareBuffers on phones without a
dma-buf heap (older Mali such as the G68, G77 and G78) and fixes green and
red textures on the Dimensity 9000 series.
2026-10-26 14:08:24 -04:00

34 lines
2.1 KiB
Markdown

# MaliBridge by ASEbrahim
MaliBridge by ASEbrahim: https://github.com/ASEbrahim/MaliBridge
(GPL-3.0-or-later with the additional terms in NOTICE here, copied unchanged from the project).
DroidDeck builds MaliBridge from the `external/MaliBridge` submodule, pinned at 48477fe
(v0.5.4) and not modified. Its Vulkan ICD runs inside the Linux runtime and forwards each call
over a Unix socket to its server, which runs in the app on the phone's own Vulkan driver.
DroidDeck uses it only on a GPU without Adreno's KGSL; an Adreno keeps Turnip.
The DroidDeck side of the bridge (the Setup switches, the server's start and session wiring, the
Mali render node stand-in, the compositor's AHardwareBuffer import off Adreno, the Steam web helper
layout, the socket wait and the DXVK choice for older Vulkan drivers) is Ahmad Sayed Alsayed
Ebrahim's (ASEbrahim) work from https://github.com/ASEbrahim/DroidDeck, kept under their name in
this repository's history.
MaliBridge's own credits, in its README, include:
- Vulkan-Headers 1.4.341 (Khronos Group), Apache-2.0 OR MIT: https://github.com/KhronosGroup/Vulkan-Headers
- Arm's HWCPipe (MIT), whose counter layouts its GPU counter reader follows: https://github.com/ARM-software/HWCPipe
- bcdec by Sergii Kudlai, MIT or Unlicense: https://github.com/iOrange/bcdec
- etc2_encode by Lee Gao, MIT: https://github.com/leegao/etc2_encode
- Lee Gao's Mali findings and SPIRV-Tools MaliOptimizationBarrierPass (Apache-2.0):
https://github.com/leegao/SPIRV-Tools, and compat_layer (MIT): https://github.com/leegao/compat_layer
- Julius Pinsker's bionic-vulkan-wrapper PR #228 (MIT)
- David Cimo's droiddeck-mali (GPL-3.0): https://github.com/DavidCimo/droiddeck-mali
- The412Banner's Mali compatibility layer and testing on the DroidDeck branch `test/non-adreno-all`
- taowen's libhybris `arlinux` branch (Apache-2.0): https://github.com/taowen/libhybris/tree/arlinux
- GameNative (GPL-3.0), wallentx's placed-memory layer for DroidDeck (MIT), Arm's published errata,
ANGLE's Mali workarounds, and design notes from Winlator's Vortek
Each keeps its own licence and notice in the submodule (`third_party/` and the files that name
them).