主要用于树莓派 Raspberry Pi 4 的开源 v3dv Vulkan 驱动现在可以在 Android 和php 上使用运行了。
Mesa 的 v3d 图形驱动栈包括一个符合 GLES3.1 标准的 v3d 驱动和一个 Vulkan 图形驱动 v3dv,后者主要用于 Raspberry Pi 4。在 Raspberry Pi 4 上,内核使用 vc4 DRM 驱动来支持显示。
熟悉树莓派的开发者应该都知道 v3dv Vulkan 驱动早已支持能在其上运行的传统 Linux 发行版,但如果开发者使用的是 Android 的话,就没那么幸运了,因为 v3dv 此前一直缺乏这方面的支持。
近日,开发者 Marge Bot 提交的更新为 Raspberry Pi 4 上的 v3dv Vulkan 带来了 Android 系统的支持,补全了这一块“拼图”。
对于那些在 Raspberry Pi 4 上使用 Android 系统而非传统 Linux 发行版的用户而言,v3dv 现在可以在 Android 平台上正常运行,并提供了 Vulkan API 支持。根据开发者提交的注释来看,这种支持是基于 Android-RPi 团队和 Lineage-RPi 开发者早期的工作而形成的,也就是说 v3dv 对 Android 的支持是基于前两者的基础。
除此之外,其中一些针对 Android 的支持代码还基于开源的英特尔 "ANV" 和高通 "TURNIP" Mesa Vulkan 驱动。
在此次提交中,还改进了 gralloc 的支持并修复了一些由于内存分配问题导致的 dEQP 崩溃问题。
从上图中能够看出,Mesa 22.0 中的 v3dv Vulkan 驱动只需要超过 600 行的新代码就可以让其支持在 Android 上运行。