Skip to content

MaliBridge v0.3.2

Choose a tag to compare

@ASEbrahim ASEbrahim released this 14 Oct 13:04
· 124 commits to main since this release

MaliBridge v0.3.2

  • Mali memory types: Mali drivers list a lazily allocated memory type (0x11) and a protected one (0x21) next to the normal ones. Export emulation now never picks either of them, and an image whose dma-heap allocation fails falls back to plain memory. The server, client and smoke test now log every memory type, the path each allocation takes, and the VkResult of any failure. This came out of a Pixel 9 (Mali-G715, r54p3) log: that tester's build carried an older copy of the bridge whose client treated the lazily allocated type as ordinary video memory, so every image allocation failed. A new lazymem host imitation reproduces that failure.
  • Server fix: the pipeline cache directory is now a copy of the string. The in-app start freed the string after server_init, while the cache code kept a pointer to it. Found by The412Banner (DroidDeck test branch, e40cd361).
  • New README rows: Half-Life 2 runs at 59-74 fps in the opening chapter (clip attached), and Portal 2 runs at about 45-50 fps in play with drops to around 30.

On the Mali-G720 the self-test passes 13 of 13 checks; the host suite passes 31 of 31. The protocol hash is unchanged (4a9da939fdf65896).

Attached files

  • libvkbridge_server.so, libvkbridge_jni.so: server (Android arm64-v8a, API 26+)
  • libvulkan_droidbridge.so, droidbridge_icd.json: client ICD (Linux glibc, aarch64)
  • half-life-2.mp4: the opening of Half-Life 2 on the G720