【BIGTREETECH PI开发板】+03.GPU图形图像测试(zmj)
BIGTREETECH Pi开发板采用全志科技的H616芯片作为主控。全志H616是一款支持4K@60fps解码的高性能SOC,适用于OTT和互联网协议电视 (IPTV) 市场。H616集成4核64位高性能CortexTM-A53处理器,内置NEON加速引擎,强大的CPU处理能力,满足多种差异化业务需求。在码流兼容性、在线视频播放流畅度、图像质量和整机性能方面保持最佳用户体验。H616采用Mali G31 MP2的GPU架构,支持 OpenGL ES 1.0/2.0/3.2、Vulkan 1.1、OpenCL 2.0、H.265、H.264、VP9、AVS2、AVS/AVS+、MPEG-1、MPEG-2、MPEG-4、VC1、VP8等多种格式的视频解码器,以及高性能H.264视频编码器。
//------H616特点:
//---CPU架构
• 四核 arm CortexTM-A53 处理器
• 节能的 ARM v8 架构
• 64 位和 32 位执行状态可实现可扩展的高性能
• 支持 Trustzone 技术
• 支持用于加速媒体和信号处理功能的 NEON Advanced SIMD 指令
• 大型物理地址扩展 (LPAE)
• VFPv4 浮点单元
//---GPU架构
• Mali G31 MP2
• 支持 OpenGL ES 1.0/2.0/3.2、Vulkan 1.1、OpenCL 2.0
//---内存子系统
• 启动ROM
• 片上存储器
• 支持从以下设备启动系统:
- SD/EMMC(SMHC0, SMHC2)
- NAND闪存
- SPI 非闪存
- SPI Nand Flash
• 支持安全启动和正常启动
• 支持通过 SMHC0 和 USB 强制升级过程
• Secure brom 支持仅加载经过认证的固件
• Secure brom 确保安全启动是一个受信任的环境
//---NAND闪存
• 符合 ONFI 2.0 和 Toggle 2.0
• 每 1024 字节高达 80 位 ECC
• 支持 1K/2K/4K/8K/16K/32K 字节的页面大小
• 高达 8 位的数据总线宽度
• 支持 2 个片选和 2 个 ready_busy 信号
• 支持 SLC/MLC/TLC 闪存和 EF-NAND
• 支持 SDR/Toggle DDR/ONFI DDR NAND 接口
本章节测试【BIGTREETECH PI开发板】的GPU图形图像功能。
1. Micro-HDMI接口
BIGTREETECH PI开发板板载Micro-HDMI接口(HDMI2.0A协议),支持 4K 显示器。
某宝花费7.8块大洋购买了一根Micro-HDMI线,连接标准显示器,在终端输入“xrandr”指令可以查看显示信息:默认1080P(1920*1080)分辨率。
//------Micro-HDMI
//---标准HDMI显示器
biqu@BTT-CB1:~$ xrandr
Screen 0: minimum 0 x 0, current 1920 x 1080, maximum 32768 x 32768
default connected primary 1920x1080+0+0 1185mm x 380mm
1920x1080 0.00*
biqu@BTT-CB1:~$
//---7英寸HDMIA触摸液晶屏(1024*600)
biqu@BTT-CB1:~$ xrandr
Screen 0: minimum 0 x 0, current 1024 x 600, maximum 32768 x 32768
default connected primary 4480x1440+0+0 1024mm x 600mm
1024*600 0.00*
biqu@BTT-CB1:~$
//------Micro-HDMI显示效果:
//------startx测试
连接键盘鼠标,终端输入“startx”切换HDMI显示为batch模式进行测试(此处以7寸液晶屏为例进行说明):
biqu@BTT-CB1:~$ hostnamectl
Static hostname: BTT-CB1
Icon name: computer
Machine ID: 7ea3afc15a31497080494fbe0eae926e
Boot ID: 49a314b5a3044b41bdf3429c6bd20383
Operating System: BTT-CB1 2.3.2 Bullseye
Kernel: Linux 5.16.17-sun50iw9
Architecture: arm64
biqu@BTT-CB1:~$ whoami
biqu
biqu@BTT-CB1:~$ uname -a
Linux BTT-CB1 5.16.17-sun50iw9 #2.3.2 SMP Fri Mar 3 17:05:59 HKT 2023 aarch64 GNU/Linux
biqu@BTT-CB1:~$ who
biqu pts/2 2023-08-06 08:39 (192.168.7.86)
biqu@BTT-CB1:~$
//------Micro-HDMI测试效果:
2. TFT35-SPI屏接口
TFT35-SPI触摸屏是3.5英寸的液晶屏,分辨率480x320。其中LCD显示接口采用SPI,LCD触摸接口采用I2C,支持触控操作。
BIGTREETECH PI开发板板载SPI显示接口,使用FPC排线一端连接TFT35-SPI屏,另一端连接开发板的9Pin-FPC座。软件方面需要修改系统启动项以支持TFT35-SPI触摸屏,系统显示接口启动配置文件位于“ /boot/BoardEnv.txt”,使能/取消注释“ overlays=tft35_spi ”即可。主板上电之后,TFT35-SPI触摸屏背板的红色LED(标识号D2)亮起表示供电正常。
//------修改显示接口启动配置:
//------TFT35-SPI触摸屏显示效果:
3. glxgears测试
glxgears是Linux下2D、3D的测试软件。
确切来讲,glxgears
是一个OpenGL的演示程序,它可以展示OpenGL的渲染效果,例如三维模型的旋转、缩放、移动等。在Linux系统中,glxgears
程序通常会被包含在OpenGL的安装包中。执行”glxgears“命令将显示一个OpenGL渲染的3D场景,其中包含了许多旋转的齿轮。在运行glxgears
时,OpenGL会使用系统的显卡进行渲染,因此如果显卡性能不足,可能会出现卡顿或者画面不流畅的情况。 除了glxgears
,还有许多其他的OpenGL演示程序,例如cave
、cube
、sphere
等,这些程序可以用来测试OpenGL的渲染效果和性能。通常情况下,这些程序都可以在OpenGL的安装包中找到,或者在网上搜索得到。
glxgears测试步骤:
//------glxgears测试
//----检查安装状况:glxinfo | grep rendering
输入指令“glxinfo | grep rendering”检查软件可用情况。
如果回复“direct rendering: Yes”则可以正常启动测试。
//---检查依赖项状况:glxinfo
输入指令”glxinfo“检查glxgears及依赖库是否安装。
//---安装
sudo apt install mesa-utils
或者
sudo apt install mesa-utils*
//---测试:直接输入“glxgears”测试
1.终端输入指令“glxgears”敲回车,弹出一个窗口,里面有3个转动的齿轮,并且终端每5秒显示出转动多少FPS;
2.记录下FPS数字(每秒的帧速度)以鉴别3D加速效果(FPS越大越好);
3.结果显示在终端,也可以在运行命令后加测试结果保存路径来保留测试记录。
//------glxgears测试效果:
4. GLMARK2测试
GLMark2是一个广泛使用的图形性能测试工具,它是GLBenchmark 2.7的更新版本。GLMark2在多个平台上都可以运行,包括桌面计算机、笔记本电脑、移动设备等。用户可以通过GLMark2测试系统硬件所提供的图形性能,检查显卡是否正常工作,并进行性能优化调整。
GLMARK2测试步骤:
//------GLMARK2测试
//---安装:既可以通过github下载(需要编译安装),也可以直接安装=
a.github下载安装(需要编译安装):
git clone https://github.com/glmark2/glmark2.git
cd glmark2
./waf configure --with-flavors=x11-gl
./waf build -j 4
sudo ./waf install
b.软件直接安装:
sudo apt install glmark2
或者
sudo apt-get install glmark2
//---测试:
a.直接测试
glmark2
b.指定窗口大小 n*n //n为自然数
glmark2 -s n*n
c.帮助指南
glmark2 -h
//------测试场景
GLMark2提供了多种测试场景,涵盖了OpenGL ES 2.0、OpenGL ES 3.0、Vulkan等多种编程接口。以下列举几种主要的测试场景。
1. 欢迎页面
这是GLMark2开头显示的一个场景,它展示了一些交互元素,比如旋转的大球、闪烁的字母等。这个场景主要测试图形引擎、着色器、光照和纹理等方面的性能。
2. 粒子模拟
这个场景会大量生成小球体粒子进行模拟,包括随机旋转、撞击反弹、光照等。它主要测试显卡的计算性能和光照效果。
3. 灯光效果
这个场景展现了不同光源对3D场景的影响。它主要测试显卡的光照计算能力。
4. 粒子水墨画效果
这个场景展示了在不同光照条件下,粒子水墨混合效果的呈现。它主要测试显卡的混合效果、图像渲染和光照计算性能。
//------GLMARK2测试效果:
3. 绘图测试
使用OpenCV进行绘图测试:
//------绘图效果(截图):
//------绘图效果(视频):
gpu_01
//------end