# GPU使用指南 ***Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.*** --- # GPU 是什么 **GPU**(Graphics Processing Unit,图形处理器)是设备中专门负责"画图"和"计算图像"的芯片。 - CPU 负责"思考"——处理逻辑、运行程序 - GPU 负责"画画"——把内容渲染成屏幕上显示的图像 RK3576 集成 **ARM Mali-G52 MC3** GPU(最高 900 MHz)。桌面界面、视频播放、3D 游戏都靠它渲染。 # 日常使用中 GPU 在哪里工作 | **场景** | **GPU 做什么** | | --- | --- | | 桌面界面 | 窗口合成、动画过渡、应用切换 | | 视频播放 | 视频帧的色彩处理、画面缩放 | | 网页浏览 | 网页内容合成、滚动渲染 | | 3D 应用/游戏 | 3D 场景渲染 | | 视频会议 | 画面特效、虚拟背景 | > M2 的 Debian 桌面(GNOME)默认使用 GPU 合成渲染,日常操作中 GPU 一直在工作,无需手动开启。 # 在 M2 上使用 GPU ## 场景 1:播放视频(GPU 渲染输出) 使用 GStreamer 播放视频,画面由 GPU 渲染到屏幕(Wayland): ```bash # 播放板载测试视频(硬件解码 + GPU 渲染显示) gst-launch-1.0 filesrc location=/oem/SampleVideo_1280x720_5mb.mp4 ! \ qtdemux ! h264parse ! mppvideodec ! waylandsink # 桌面环境变量(GNOME 用户会话) export XDG_RUNTIME_DIR=/run/user/1000 WAYLAND_DISPLAY=wayland-0 ``` > 播放画面正常显示即说明 GPU 渲染链路工作正常。 ## 场景 2:运行 GPU 性能测试(glmark2) glmark2 是一套 OpenGL 性能测试程序,跑分结果可反映 GPU 综合性能: ```bash # 安装 sudo apt install glmark2-wayland # 在桌面会话中运行(M2 / Debian) XDG_RUNTIME_DIR=/run/user/1000 WAYLAND_DISPLAY=wayland-0 glmark2-wayland ``` M2 实测得分:**745**(全项)。运行中可观察 GPU 频率变化: ```bash watch -n1 cat /sys/class/devfreq/27800000.gpu/cur_freq # 跑分时频率会从 300MHz 升到 900MHz ``` ## 场景 3:自己写 OpenGL 程序(开发) M2 的 Mesa Panfrost 驱动支持 OpenGL ES 3.1 与 Desktop GL 3.1,可用标准 OpenGL 开发: ```bash # 安装开发库 sudo apt install libgl1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev # 编译 GLES 程序(以 es2gears 为例) sudo apt install mesa-utils-extra es2gears ``` > 若程序报错 `Could not initialize canvas`,说明当前没有可用的图形会话——需要先登录 GNOME 桌面。 # SMARC(Buildroot)上使用 GPU SMARC 板使用 ARM libmali 私有驱动(仅 OpenGL ES 3.2,无 Desktop GL): ```bash # SMARC 上跑 GLES 测试(需图形会话) XDG_RUNTIME_DIR=/var/run WAYLAND_DISPLAY=wayland-0 glmark2-es2-wayland ``` SMARC 实测输出: ```plaintext GL_VENDOR: ARM GL_RENDERER: Mali-G52 GL_VERSION: OpenGL ES 3.2 v1.g24p0-00eac0.fe7fa84c52ed3b756cd64cb3246aafd9 ``` # OpenCL 计算(进阶) GPU 除了画图,还能做并行计算(OpenCL): | **平台** | **OpenCL 实现** | **加速方式** | **备注** | | --- | --- | --- | --- | | M2 (Debian) | Mesa rusticl | CPU 软计算 | 需安装 mesa-opencl-icd | | SMARC (Buildroot) | libmali | **GPU 硬件加速** | 板端实测通过 | SMARC 上 OpenCL 实测(GPU 真实计算): ```plaintext Platform: ARM Platform Version: OpenCL 3.0 v1.g24p0-00eac0.fe7fa84c52ed3b756cd64cb3246aafd9 Device: Mali-G52 r1p0 Kernel result: 11 22 33 44 OPENCL 2.0 WORKS (GPU) ``` # 常见问题 | **问题** | **解决** | | --- | --- | | 运行 3D 程序报 Could not initialize canvas | 需要先登录 GNOME 图形桌面,SSH 无桌面环境跑不了 | | 桌面卡顿、掉帧 | 检查 GPU 频率是否正常:`cat /sys/class/devfreq/27800000.gpu/cur_freq` | | 依赖 Desktop GL 的程序在 SMARC 跑不了 | SMARC 仅 GLES 3.2,用 GLES 版或换 M2 运行 | | GPU 发热 | RK3576 GPU 满载会发热,注意散热 |