前言

OpenHarmony-4.0-Beta1版本已经发布有一段时间,大家伙都体验到了,也有很多开发者开始适配OpenHarmony-4.x版本,相信也会或多或少遇到一些问题,其中就有图形相关的适配。
本文仅针对一种情况的适配问题给出参考解决方案。

问题现象

适配OpenHarmony-4.x版本后,图形没有正常显示,调试发现render_service不能正常启动,出错日志如下:

img

出现以上问题,大概率是基于开源mesa3d驱动才会有这样的问题

解决方案

调用eglGetProcAddress可以解决该问题。

img

Khronos官方参考:https://registry.khronos.org/EGL/sdk/docs/man/html/eglGetProcAddress.xhtml

具体修改

涉及的文件修改如下(以OpenHarmony-4.0-Release分支的代码为例):

img

修改的内容参考如下:

1. BUILD.gn修改

增加宏控制(这里以本人适配的一加6T为例,其他,如树莓派等采用mesa3d开源驱动的可参考如下,根据自己的产品型号具体修改)

img

2. CPP源码修改

以rs_sub_thread.cpp修改为例(其他CPP参考修改即可)

img

视频演示

https://www.bilibili.com/video/BV1Fu4y1r7pH

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐