积分1621 / 贡献20

提问18答案被采纳65文章40

[经验分享] 【开发者故事】王石:保持谦卑心态,在开源共建路上无限进步! 原创

深开鸿_王石 显示全部楼层 发表于 2023-10-26 13:56:51

近期,深圳开鸿数字产业发展有限公司(以下简称“深开鸿”)VK-GL-CTS测试套件适配正式合入OpenAtom OpenHarmony(以下简称“OpenHarmony”)社区主干,这意味着深开鸿凭借硬核技术实力,不断丰富OpenHarmony生态体系,对开源项OpenHarmony技术成熟与应用落地作出贡献。王石是VK-GL-CTS测试套件合入OpenHarmony主干的代码提交者,作为深开鸿参与开源共建的骨干的他,经常深耕于OpenHarmony项目的开源建设工作。此次王石通过与团队成员的通力合作,顺利完成了VK-GL-CTS测试套件的GPU图形适配与移植工作。

此次我们将通过人物访谈、嘉宾对话的形式,邀请了王石为大家分享在适配与移植工作中的故事和经验,让我们一起走进他的世界!

 王石 深圳开鸿数字产业发展有限公司 OS框架开发工程师

Q1 可以介绍下自己以及所在的开发团队吗?

大家好,我是深开鸿OS框架开发工程师王石,去年我有幸加入深开鸿研发团队,并投入到OpenHarmony开源项目,希望能为推进中国操作系统生态发展贡献力量。

在此次的项目中,我主要负责VK-GL-CTS测试套件的GPU图形适配与移植工作。在我的团队里,OpenGL的专家负责OpenHarmony图形接口适配;兼容性专家,负责开源三方库的移植和与OpenHarmony系统的适配;系统服务移植与版本构建的专家负责版本构建与系统服务的稳定性移植与调试;测试领域的专家负责兼容性、稳定性、安全性测试等工作。团队成员在适配与移植工作中不断攻坚克难、通力合作,使得相关问题均得到闭环处理,最终顺利完成了这一项目。

Q2您和团队在项目中收获了哪些成果呢?

VK-GL-CTS是Khronos开发的一套开源GPU测试套件,可用于开放标准OpenGL ES,EGL和Vulkan的测试,也是验证GPU驱动API的实现是否支持的官方标准。VK-GL-CTS的引入是对OpenHarmony生态共建的强有力的保护,补齐了OpenHarmony兼容性测试套件在GPU方向上的缺失,为社区之后能更好地看护OpenHarmony应用兼容性、API兼容性提供完备的保证,同时也为OpenHarmony兼容性测评提供助力。

Q3在整个开发的过程中,您和您的团队遇到过哪些困难呢?

在完成VK-GL-CTS测试套件适配的过程中,我们也遇到了许多困难与挑战。 首先是对图形框架的移植挑战,OpenHarmony的图形框架不同于现在业界其他的图形框架,移植的初始需要我们快速了解和分析OpenHarmony图形框架的模块组成和应用API;同时由于OpenHarmony的迅速发展,主线变更频繁,需要我们不但要了解图形框架的架构,而且要理解图形框架的设计原理,抽丝剥茧地抓住图形框架的主脉络。

其次是对OpenHarmony兼容性测试框架的理解和适配。VK-GL-CTS的全代码量有200多万行,100多万条测试项,为了适配OpenHarmony的XTS(X Test Suite)子系统,并且在后期能方便更新维护,我们运用了分层设计理念,开发出两个测试套件的适配层将两个测试框架进行解耦,并通过编译脚本,测试脚本等辅助工具对测试结果进行收集,分析形成报告。

最后是对标准建立的挑战。在VK-GL-CTS测试套件运行的测试结果,我们进行了多重对比和验证,对标业内成熟产品的数据,同时参考主流嵌入式硬件产品的测试数据,通过校准配置、测试数据及测试项目以及和社区开发者、硬件厂商的讨论初步建立OpenHarmony在GPU接口和功能方面的兼容性测评标准。

Q4 请分享下您和团队在解决难题的过程中总结的经验。

VK-GL-CTS测试套件适配覆盖图形框架、GPU驱动、编译框架、日志框架、兼容性测试框架等,涉及OpenHarmony的众多方面。在适配过程中,深开鸿团队也在社区众多专家的帮助下克服了重重困难,也积累了许多经验。

比如最初我们碰到signal11报错的问题,OpenHarmony提供了faultlog,可以在开发版路径/data/log/faultlog里查看;后面我们又遇到测试报错问题,我们仿照rosen采用了线性扫描,但对测试用例来说线性扫描会导致某些情况下的色偏,于是我们改用GPU的默认设置;最后又出现开源合规问题,我们便引入OAT规则。

直到现在,深开鸿团队还在维护着VK-GL-CTS的测试框架,时刻关注着可能出现的问题和版本更新。从3.1 Release到3.2 Beta版本,OpenHarmony进行了文件目录的调整、GPU库的调整,增加了对64位设备的支持,这些是版本维护工作中要进行的必要过程,我们需要关注每日构建系统(http://ci.openharmony.cn/dailys/dailybuilds)对不同版本、分支进行看护

目前,VK-GL-CTS测试套件适配已正式合入OpenAtom社区主干, 相关仓库路径参考如下:

https://gitee.com/openharmony/third_party_vk-gl-ctshttps://gitee.com/openharmony/third_party_glslanghttps://gitee.com/openharmony/third_party_spirv-headershttps://gitee.com/openharmony/third_party_spirv-tools

Q5 作为深开鸿的一员,您对自己的未来发展有什么愿望?对开源生态的未来有什么憧憬?

深开鸿是 OpenHarmony 开源项目的共建单位之一,始终持续聚焦自主软件核心技术,不断增强OpenHarmony技术能力,在代码共建、任务承接、SIG主导或者参与、社区活动、代码贡献等方面的工作中对OpenHarmony开源项目作出了突出贡献,不断加速开源生态建设。

作为深开鸿的一名OS框架开发工程师,我很幸运能从事自己喜欢的职业,并且很荣幸能够投入到 OpenHarmony 生态共建中。未来,我将紧随公司步伐,继续坚持技术研发,将提炼、沉淀出来的场景、技术贡献给OpenHarmony社区,始终保持谦卑心态,在开源共建路上无限进步!我相信,在广大开发者的参与下,以OpenHarmony为基础的智慧创新之路必将赋能千行百业,促进万物互联!

©著作权归作者所有,转载或内容合作请联系作者

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部