Mali Graphics Debugger在Liunx下的使用

目前网上关于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》。

本文所有操作,均可在User Guide中找到。如下所示:
2AGM3F.png

Mali Graphics Debugger v4.7.0下载地址

ARM官网

环境准备

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为例。
2AGrDA.png
以下文件push
2AGLCT.png

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端抓取想要的信息。

MGD界面介绍

如下图示:
1、显示每帧的运行时长,主要记录如下三个状态,glClear、Renderpass、glDrawArrays以及状态对应执行时长
2、每帧的运行过程,保存每一帧的执行过程。其中,前面带相机的是保存的快照部分,保存完整信息
3、绘制过程的API调用
4、当前帧运行数据,后续会继续说明
5、记录状态信息,后续还会继续说明

2AJCUx.png

如下图示:
1、操作过程中常用按键,包括主机-目标机的链接方法、暂停、下一帧、快照、
2、配置选项,在这里可配置想要获取的状态,分OpenCL、OpenGL ES、Vulkan三大类,每一类中又包含子项
3、点击下方的帧,对应上方的运行状态,可方便查看某帧时长、位置
4、该界面在上面显示API调用顺序,这里显示shader程序。
5、包含多项信息:Statistics、Function Call 、Buffers、Vertices、Uniforms、Target State。在性能、功能调试中,中间数据均可获取。
6、各标题依次为:Assets、Renderbuffer、Framebuffers、Render Pass Dependencies、Textures、Frame Overrides、Shaders、Automated、Trace

2AJZKH.png

综上,该软件基本已获取到图形渲染过程中GPU能获取到的应用的大部分数据,在渲染问题Debug、性能调优中起到很好的支撑作用。
本质,还在GPU厂商在用户态驱动库中的调试手段的界面化展示。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值