前言
OpenHarmony-4.0-Beta1版本已经发布有一段时间,大家伙都体验到了,也有很多开发者开始适配OpenHarmony-4.x版本,相信也会或多或少遇到一些问题,其中就有图形相关的适配。
本文仅针对一种情况的适配问题给出参考解决方案。
问题现象
适配OpenHarmony-4.x版本后,图形没有正常显示,调试发现render_service不能正常启动,出错日志如下:
出现以上问题,大概率是基于开源mesa3d驱动才会有这样的问题
解决方案
调用eglGetProcAddress可以解决该问题。
Khronos官方参考:https://registry.khronos.org/EGL/sdk/docs/man/html/eglGetProcAddress.xhtml
具体修改
涉及的文件修改如下(以OpenHarmony-4.0-Release分支的代码为例):
修改的内容参考如下:
1. BUILD.gn修改
增加宏控制(这里以本人适配的一加6T为例,其他,如树莓派等采用mesa3d开源驱动的可参考如下,根据自己的产品型号具体修改)
2. CPP源码修改
以rs_sub_thread.cpp修改为例(其他CPP参考修改即可)