嵌入式 SoC 芯片中的 GPU 主要用于加速图形和计算任务,其品牌和底层驱动因厂商而异。以下是嵌入式领域常见 GPU 品牌及其对应的底层驱动总结:
1. ARM Mali
特点
- ARM Mali GPU 是 ARM 公司设计的 GPU,广泛用于嵌入式设备(如树莓派、安卓设备)。
- 采用基于 TBR(Tile-Based Rendering)技术,效率较高。
常见使用的 SoC
- 三星 Exynos 系列
- 联发科(MediaTek) SoC
- 全志(Allwinner) SoC
- 华为麒麟(HiSilicon Kirin) SoC
底层驱动
- 开源驱动:
panfrost
(支持 Midgard 和 Bifrost 架构)。- 开发者:Mesa 社区。
- 支持 SoC:Mali-T760、Mali-G31/G52 等。
- 闭源驱动:
mali
(ARM 官方提供的用户空间和内核驱动)。- 提供 OpenGL ES、Vulkan 支持。
- 分发方式:ARM 官方 SDK,部分厂商集成。
2. Imagination PowerVR
特点
- PowerVR GPU 擅长节能,采用独特的 TBDR(Tile-Based Deferred Rendering)技术。
- 曾被用于 iPhone 早期型号,现主要用于嵌入式 SoC 和低功耗设备。
常见使用的 SoC
- 联发科(MediaTek) SoC(部分中低端型号)。
- 全志(Allwinner) SoC(如 A33)。
- TI OMAP 系列 SoC。
底层驱动
- 开源驱动:
pvr
(Mesa 计划支持,功能有限)。 - 闭源驱动:PowerVR 官方提供,通常包含在设备 BSP 中。
- 提供 OpenGL ES 和 Vulkan 支持。
3. Qualcomm Adreno
特点
- Qualcomm 自主设计的 GPU,集成于 Snapdragon 系列 SoC。
- 支持广泛的图形和计算标准,性能优秀,优化完善。
常见使用的 SoC
- 高通 Snapdragon 全系列 SoC。
底层驱动
- 开源驱动:
freedreno
。- Mesa 社区开发。
- 支持 Adreno 200 到 Adreno 700 系列。
- 闭源驱动:Qualcomm 官方提供的 Adreno 驱动(通过 Snapdragon BSP 分发)。
- 提供 OpenGL ES、OpenCL、Vulkan 支持。
4. NVIDIA
特点
- NVIDIA 提供高性能 GPU,支持 CUDA 和 Vulkan,主要用于 AI、自动驾驶和高端嵌入式设备。
- 集成于 NVIDIA 自家 SoC(如 Tegra 系列)。
常见使用的 SoC
- NVIDIA Tegra 系列(如 Jetson Nano、Jetson Xavier)。
底层驱动
- 开源驱动:
nouveau
。- 支持较低版本的 Tegra GPU,功能有限。
- 闭源驱动:NVIDIA 提供官方驱动。
- 提供完整的 CUDA、OpenGL ES、OpenCL、Vulkan 支持。
5. Broadcom VideoCore
特点
- Broadcom VideoCore GPU 集成于树莓派 SoC 中,主要用于低功耗设备。
- 能满足基本的图形渲染需求,支持 OpenGL ES 和 H.264 硬件解码。
常见使用的 SoC
- Broadcom BCM 系列(如树莓派的 BCM2835、BCM2837、BCM2711)。
底层驱动
- 开源驱动:
v3d
和vc4
。- Mesa 社区开发,支持 VideoCore IV 和 VideoCore VI。
- 闭源驱动:Broadcom 提供的用户空间驱动(已被开源驱动替代)。
6. Vivante
特点
- Vivante GPU 专注于嵌入式设备,支持 OpenGL ES 和 Vulkan。
- 被广泛用于低成本 SoC,性能与功耗平衡良好。
常见使用的 SoC
- NXP i.MX 系列。
- 瑞芯微(Rockchip) RK 系列。
底层驱动
- 开源驱动:
etnaviv
。- Mesa 社区开发。
- 支持较新的 Vivante GPU,如 GC2000、GC7000。
- 闭源驱动:Vivante 提供的 GPU 驱动。
- 分发方式:SoC BSP 中预装。
7. AMD (Radeon Graphics)
特点
- Radeon GPU 主要出现在高性能嵌入式设备中,如工控和游戏主机。
- 支持 OpenGL、Vulkan 和 OpenCL。
常见使用的 SoC
- 嵌入式 AMD Ryzen 处理器(如 V 系列)。
底层驱动
- 开源驱动:
amdgpu
。- Mesa 社区开发,支持 Vulkan、OpenGL。
- 闭源驱动:AMD 官方提供,可通过 AMD GPU 开发工具包获取。
8. Intel
特点
- Intel GPU 集成于其 CPU 中,支持 OpenGL、OpenCL 和 Vulkan。
- 主要用于嵌入式工控设备和轻量级图形任务。
常见使用的 SoC
- Intel Atom 和 Intel Core 系列嵌入式处理器。
底层驱动
- 开源驱动:
i915
和 Mesa 中的 Iris 驱动。 - 闭源驱动:Intel 官方提供的优化驱动。
GPU 品牌与驱动对照表
GPU 品牌 | 常见使用的 SoC | 开源驱动 | 闭源驱动 |
---|---|---|---|
ARM Mali | Exynos, MediaTek, Allwinner | panfrost | ARM 提供 |
Imagination PowerVR | TI OMAP, Allwinner, MediaTek | 部分支持(计划) | PowerVR 官方 |
Qualcomm Adreno | Snapdragon | freedreno | Qualcomm 提供 |
NVIDIA | Tegra, Jetson | nouveau | NVIDIA 官方 |
Broadcom VideoCore | 树莓派系列 | vc4 , v3d | Broadcom 官方(旧版) |
Vivante | NXP i.MX, Rockchip | etnaviv | Vivante 提供 |
AMD Radeon | 嵌入式 Ryzen | amdgpu | AMD 官方 |
Intel Graphics | Atom, Core 系列 | i915 , iris | Intel 官方 |
总结
嵌入式 SoC 芯片中的 GPU 驱动生态系统分为 开源驱动 和 闭源驱动 两部分。开源驱动通常由 Mesa 社区维护,具备跨平台和透明的优点,但功能可能不及官方驱动完善。闭源驱动通常由 GPU 厂商提供,性能优化更好,但可能缺乏灵活性或长期支持。开发者可以根据实际需求选择合适的 GPU 和驱动。