上周六(1.8)开源图形驱动SIG开工会后,我们把目标锁定在润和DAYU200的开发板(基于瑞芯微RK3568),GPU为Mali G52(Bifrost架构),要使能Panfrost驱动,并且支持OpenHarmony。
本周六(1.15)同一时间(16:00-18:00)又召开了开源图形SIG的第二次周例会:
第二次例会
首先,我们本周建立了2个Gitee仓,如下:

  • https://gitee.com/openharmony-sig/mesa3d
  • https://gitee.com/openharmony-sig/gpubench
    这两个仓建立好之后,未来就可以持续构建panfrost应用层驱动mesa3d,同时构建对应的benchmark程序(性能、兼容性),业界比较常用的是glmark2,当然我们后面还会跑Khronos的图形CTS测试套。

其次,我们基于当前OpenHarmony的最新weekly分支(基于),编译生成对应的img:
weekly分支
由于当前RK3568的DAYU200的开发板已经引入了最新的5.10kernel,而Panfrost驱动恰好需要5.10内核,所以进入到5.10内核目录(\out\kernel\src_tmp\linux-5.10),通过make menuconfig并修改rk3568.dtsi:

rk3568.dtsi
Panfrost选择
编译生成boot_linux.img,烧写至分区后,在串口可以看到如下信息:
在这里插入图片描述
代表panfrost内核驱动已经加载。

然后,为了进一步加载用户层panfrost驱动,需要编译mesa。但是,当前OpenHarmony使能mesa还需要一定适配工作。所以,我们先选择使用buildroot来形成rootfs(system),并且带有mesa。到https://buildroot.org/download.html下载buildroot-2021.11.tar,并且修改mesa对应依赖的库并使能为静态文件,同时mesa换成21.3.3 并进行make menuconfig配置:

在这里插入图片描述
编译后的rootfs.ext2烧入到system分区,再启动后,就可以进入buildroot系统,并通过/dev/dri*设备,再次查看pan驱动是否进入设备:
在这里插入图片描述
最后,也是让我们看到成果的一步,就是运行glmark2-es2-drm程序,令人激动人心的画面:

Panfrost_on_3568

下一步,我们需要集成mesa到OpenHarmony上,实现我们的第一个目标!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐