测试环境:
编译libmali
1. 准备工作
将 libmali
源代码复制到开发板的 /home/neardi
目录:
cp -r SDK/external/libmali /home/neardi/
2. 编译
进入libmali
目录,使用 meson
进行编译:
neardi@LPA3588:~$ cd ~/libmali
neardi@LPA3588:~/libmali$ meson setup builddir -Darch=aarch64 -Dplatform=x11 -Dgpu=valhall-g610 -Dversion=g6p0 -Dkhr-header=true
选项说明:
- -Darch=aarch64:指定架构为 ARM 64 位。
- -Dplatform=x11:指定平台为 X11。
- -Dgpu=valhall-g610:指定 GPU 类型。
- -Dversion=g6p0:指定版本号。
- -Dkhr-header=true:启用 Khronos 头文件支持。
编译正确示例输出:
The Meson build system
Version: 1.5.2
Source dir: /home/neardi/libmali
Build dir: /home/neardi/libmali/builddir
Build type: native build
Project name: libmali
Project version: 1.9.0
C compiler for the host machine: cc (gcc 9.4.0 "cc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0")
.....
libmali 1.9.0
User defined options
arch : aarch64
gpu : valhall-g610
khr-header: true
platform : x11
version : g6p0
Found ninja-1.11.1.git.kitware.jobserver-1 at /home/neardi/.local/bin/ninja
3. 安装
编译成功后,使用ninja安装编译好的库:
neardi@LPA3588:~/libmali$ ninja -C builddir
neardi@LPA3588:~/libmali$ sudo ninja -C build install
安装正确示例输出:
ninja: Entering directory `builddir'
[0/1] Installing files.
Installing subdir /home/neardi/libmali/include/GBM to /usr/local/include/
Installing /home/neardi/libmali/include/GBM/gbm.h to /usr/local/include
.....
Installing symlink pointing to libGLESv1_CM.so.1 to /usr/local/lib/aarch64-linux-gnu/libGLESv1_CM.so
Installing symlink pointing to libGLESv2.so.2 to /usr/local/lib/aarch64-linux-gnu/libGLESv2.so
Installing symlink pointing to libMaliOpenCL.so.1 to /usr/local/lib/aarch64-linux-gnu/libMaliOpenCL.so
Running custom install script '/home/neardi/libmali/scripts/fixup_dummy.sh lib/aarch64-linux-gnu optimize_3/aarch64-linux-gnu/libmali-valhall-g610-g6p0-x11-gbm.so'
4.检查库文件是否正确安装
ls /usr/local/lib/aarch64-linux-gnu/ | grep mali
若输出显示了 libmali.so
、libGLESv2.so
、libmali-valhall-g610-g6p0-x11-gbm.so
等相关库文件,说明安装成功。
5.运行 glmark2-es2 验证
LPA3588打开终端运行 glmark2-es2
来测试功能和性能。若成功运行,意味着 libmali
安装和配置正确。
如下图显示:
6.常见问题
确认Meson的安装路径:
which meson
例如输出 /usr/bin/meson
,修改系统默认Meson版本:
sudo ln -sf /usr/local/bin/meson /usr/bin/meson
查看 meson
版本:
meson --version
确保输出的 meson
版本大于或等于 1.5.2
,然后重新编译并安装 libmali
。