目前网上关于Mali Graphics Debugger的使用,都是基于Android的,关于linux的没有,写下使用方式,供大家参考,以便后期查询。
阅读《ARM® Mali™ Graphics Debugger User Guide》是了解MGD最全面的途径,里面包括了如何设置MGD和使用MGD。
由于MGD里会直接出现大量OpenGL ES的API,所以也可按需查阅《 OpenGL ES 3.0 Programming Guide 2nd Edition》。
Mali Graphics Debugger v4.7.0下载地址
环境准备
1、在电脑装好MGD,主机为Window版本。
2、准备好使用Mali GPU的目标机,目标机安装linux,本文以Ubuntu 18.04为例。
Mali Graphics Debugger的使用方式相当灵活,官方文档会提供不同平台的使用方式。
linux版本的使用相比Android版的简单很多。
操作如下:
1、关闭两边防火墙,linux下关闭方法如下(ubuntu18.04),window下自行搜索。
//安装防火墙程序
sudo apt-get install ufw
//查看当前防火墙状态
sudo ufw status
//启动防火墙
sudo ufw enable
sudo ufw default deny
//关闭防火墙
sudo ufw disable
2、设置同一网段IP,使主机、目标机可正常通信,可ping通
//linux端设置IP的简单方式,每次开机得重设
sudo ifconfig etho 192.168.0.120
3、push文件(mgddaemon、libinterceptor.so)到目标机指定目录,方法不限。这里我用的是FileZilla,简单好用。
选择目标机对应的架构目录,本文以arm64为例。
以下文件push
4、给mgddaemon添加执行权限,并运行
chmod +x mgddaemon
./mgddaemon
5、MGD端点击设备链接,确保链接正确
6、使用执行Mali给定的库,打开要Debug的应用
//LD_PRELOAD=/path/to/intercept/libinterceptor.so ./your_app
//linux下可运行的OpenGL ES应用程序较少,为简单演示,可以使用glmark2-es为例
//如下方式安装glmark2-es后,即安装在系统目录,任意路径下均可运行glmark2-es
sudo apt-get install glmark2-es -y
LD_PRELOAD=/path/to/intercept/libinterceptor.so glmark2-es
7、至此,链接完成。可以在MGD端抓取想要的信息。