0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

峰会回顾第10期 | 开源图形驱动在OpenHarmony上的使用和落地

OpenHarmony TSC 来源:OpenHarmony TSC 作者:OpenHarmony TSC 2023-05-15 09:30 次阅读

演讲嘉宾 | 黄 然

回顾整理 | 廖 涛

排版校对 | 李萍萍

12114eb4-f2c0-11ed-a6d0-dac502259ad0.png

嘉宾简介

黄然,华为终端BG软件部资深图形技术专家,华为终端游戏标准、工具和分析创始人,GPU Turbo黑科技核心成员,在OpenHarmony社区上担任开源图形驱动SIG、游戏SIG、兼容性工作组组长等职务。

内容来源

第一届开放原子开源基金会OpenHarmony技术峰会——OS内核及视窗分william hill官网

正 文 内 容

图形驱动也是一种软件程序,它串联了操作系统和应用程序与计算机图形硬件进行通信和交互,是发挥硬件性能为操作系统提供高质量图形显示的关键环节。OpenHarmony在开源图形驱动的使用和落地上做了哪些工作呢?OpenHarmony游戏SIG组、图形驱动SIG组组长、华为终端图形资深技术专家黄然在第一届OpenHarmony技术峰会上给大家带来了几点分享。

125998e0-f2c0-11ed-a6d0-dac502259ad0.png

01

OpenHarmony图形驱动面临的挑战

图形驱动技术的演进始终跟GPU硬件的发展相关。1975年至今,随着GPU硬件由早期的专业领域高端图形工作站发展到台式机GPU显卡,再到如今的移动终端、云和服务器GPU显卡,图形驱动API也由OpenGL演进到了DirectX。

12f11dc8-f2c0-11ed-a6d0-dac502259ad0.png

目前,图形驱动领域的主流厂商都对自身的核心代码闭源,Arm Mali、Qualcomm Adreno和Nvidia等开源图形驱动也并没有特别“Open”。

随着开源运动的兴起和成功,AMD英特尔公司的图形驱动开源建立了良好的生态,也取得了不错的效果。对OpenHarmony这样一个完全开源的操作系统来说,图形开源驱动有很好的借鉴和学习意义,当然也存在着诸多挑战。掌握开源图形驱动有多难呢?首先图形驱动的开发和研究需要具备扎实的软硬件开发功底,且由于开源图形驱动在国内的发展很慢,少有开发者专门从事该项工作,缺乏技术交流和实践经验分享。下图为黄然老师前期在开源驱动领域学习和研究所做的笔记:

此外,对于OpenHarmony来说,当前大部分的小厂商无法获得闭源GPU厂商的支持,导致视觉流畅体验较差,限制了非常多OpenHarmony产品的商用,在一定程度上也阻碍了OpenHarmony生态的推广。

02

开源图形驱动架构介绍

由于从驱动角度,OpenHarmony富设备的内核是基于Linux的,故首先介绍下Linux开源驱动的整体架构。整个驱动的架构可以分为2D和3D两个部分,2D部分的比较老的框架是基于X11,而比较新的框架是基于Wayland。

3D的部分驱动通过mesa,将OpenGLES或者Vulkan的API以及shader转化为硬件的ISA。而2D的DDX驱动通过glamor也可以走到mesa层,这样避免了2D和3D分岔的驱动路线(过去曾经是分岔的,2D走DDX)。

整体的驱动是UMS+KMS结构,UMS负责用户层驱动的解析,而KMS用来做显示和硬件渲染,通过libdrm和DRM来形成UMS到KMS的传递。

1347dd7a-f2c0-11ed-a6d0-dac502259ad0.png

在图形驱动中有几个关键概念:

一是LLVM、TGSI和Gallium。TGSI是一种用于描述着色器的中间语言,是所有驱动程序使用的唯一中间表示,所有的Shader都会转化为中间的IR。而Gallium是LLVM的后端,能够基于不同硬件进行不同硬件的ISA绘制,如图中的radeonsi就是AMD的radeon的后端渲染。

13930106-f2c0-11ed-a6d0-dac502259ad0.png

二是ISA。ISA由控制流(CF)指令、ALU指令、通过纹理缓存提取的指令和通过顶点缓存提取的指令组成,其中控制流程序通过使用控制流指令(条件跳转、循环和子例程)来指导程序子句的流,包括内存分配指令和其他指令,这些指令可以指定顶点和几何程序何时完成相关操作,类似CPU汇编语言。

三是Fence。Fence能够让GPU和CPU协调工作,提高图像显示的速度。通过Fence机制产生的GPU的事件,能够保证用户态程序下发的渲染命令被顺序执行,从而保证上层应用程序渲染相关数据的一致性。

13aa541e-f2c0-11ed-a6d0-dac502259ad0.png

03

开源图形驱动在OpenHarmony上的移植

OpenHarmony驱动框架支持多种接入模式,能够实现南向硬件的快速部署。其中,显示框架支持Display_Gralloc、Display_Gfx和Device HDI的3类南向接口,其中,Display_Gralloc负责内存分配;Display_Gfx负责图形硬件2D绘制,可以用于离线合成;Device HDI负责显示设备特性管理,包括屏幕显示,在线及离线硬件合成,硬件Vsync,显示设备色彩管理等。在开发板能力支持方面,RK3568和HI3516dv300支持DRM内存分配、DRM送显以及硬件离线合成,HI3751V350支持支持FbDev 和DmaBuf-Heap、支持FbDev显示,不支持硬件离线合成。

13b66844-f2c0-11ed-a6d0-dac502259ad0.png

针对上述OpenHarmony驱动框架的整体情况,开源GPU驱动的适配工作主要分为以下3个阶段进行:(1)验证内核panfrost驱动和用户态panfrost驱动可以正常工作;(2)开源GPU驱动适配OpenHarmony(Flutter+weston)旧框架;(3)开源GPU驱动适配OpenHarmony(RenderService)新框架。目前,越来越多的兴趣开发者参与到了OpenHarmony的开源图形驱动适配和移植的工作中,近期有一些用户已经成功将高通开源驱动移植到移动终端上,使其能够运行一些2D和3D的应用。这意味着开源驱动在OpenHarmony上生态正在朝着良好的方向发展。

从GLmark2跑分情况来看,OpenHarmony开源驱动在2D的纹理处理等方面表现比闭源驱动优异,在关键的着色和阴影、地形等偏3D的方面表现还较差。即便如此,在2D和3D开源图形驱动上的性能提升已经足以满足绝大多数产品的需求。

当然,在这个过程中,还有一些伙伴参考当前的工作,把高通的freedreno开源驱动也完成了移植,并且可以在小米等手机上可以运行和使用开源驱动,如下:

13cb5a24-f2c0-11ed-a6d0-dac502259ad0.png

未来我们还会在X86基础的AMD以及Intel GPU上使能开源驱动,服务于OpenHamrony,也希望更多的小伙伴可以一起加入社区微信群SIG-OpenGfxDrv共建图形驱动,对应的gitee链接为:https://gitee.com/openharmony/third_party_mesa3d

04

总结&展望

真正想做好图形竞争力,就要了解GPU的工作机制和图形驱动原理,OpenHarmony社区正是一个交流和学习的良好平台;OpenHarmony开源图形驱动是未来趋势,也会是历史最终选择,希望有越来越多的兴趣开发者能够参与到开源图形驱动的适配和移植工作中来,共建OpenHarmony生态。

E N D

点击下方阅读原文获取演讲PPT。

关注我们,获取更多精彩。


审核编辑黄宇


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开源
    +关注

    关注

    3

    文章

    3368

    浏览量

    42567
  • OpenHarmony
    +关注

    关注

    25

    文章

    3728

    浏览量

    16392
收藏 人收藏

    评论

    相关推荐

    OpenHarmony城市技术william hill官网 12——合肥站圆满举办

    2024年12月23日,OpenHarmony城市技术william hill官网 (以下简称“技术william hill官网 ”)12——合肥站于中国科学技术大学高新校区圆满举办。本次技术william hill官网 聚焦于“智能时代基础软件与数据管理”的主题,深入
    的头像 发表于 12-26 09:14 231次阅读
    <b class='flag-5'>OpenHarmony</b>城市技术william hill官网
<b class='flag-5'>第</b>12<b class='flag-5'>期</b>——合肥站圆满举办

    凌蒙派OpenHarmony开源项目荣获本期Gitee官方推荐

    近日,我司凌蒙派OpenHarmony开源项目荣获本期Gitee官方推荐。本期Gitee官方推荐不仅是对凌蒙派OpenHarmony开源项目的高度认可,也是对我司
    的头像 发表于 11-20 01:04 317次阅读
    凌蒙派<b class='flag-5'>OpenHarmony</b><b class='flag-5'>开源</b>项目荣获本期Gitee官方推荐

    OpenHarmony闪耀亮相CCF开源大会

    午,大会中的OpenHarmony分william hill官网 圆满举办。 11月10日上午,CCF开源发展委员会常委、OpenHarmony项目群技术指导委员会(TSC)主席、华为Fellow陈海波
    的头像 发表于 11-19 17:43 380次阅读
    <b class='flag-5'>OpenHarmony</b>闪耀亮相CCF<b class='flag-5'>开源</b>大会

    OpenHarmony城市技术william hill官网 11——香港站圆满举办

    2024年11月12日下午,OpenHarmony城市技术william hill官网 (以下简称“技术william hill官网 ”)11——香港站于香港九龙香格里拉酒店圆满举办。本次技术william hill官网 以"智能终端操作系统与国际化生态构建"为主题,围绕
    的头像 发表于 11-18 11:39 559次阅读
    <b class='flag-5'>OpenHarmony</b>城市技术william hill官网
<b class='flag-5'>第</b>11<b class='flag-5'>期</b>——香港站圆满举办

    有方科技亮相开源鸿蒙峰会和星闪合作峰会

    近日,由国际星闪联盟主办、上海海思协办的星闪合作峰会,由OpenHarmony项目群工作委员会、上海海思联合主办的开源鸿蒙峰会在深圳盛大举行。作为受邀的重点无线通信模组上市企业,有方科
    的头像 发表于 11-11 09:23 494次阅读

    OpenHarmony首次亮相欧洲开源会议

    10月22日至24日,由欧洲最大开源组织Eclipse基金会主办的Open Community Experience (OCX) 2024开源大会(后文简称“大会”)于德国·美因茨盛大召开
    的头像 发表于 10-26 11:48 519次阅读
    <b class='flag-5'>OpenHarmony</b>首次亮相欧洲<b class='flag-5'>开源</b>会议

    高燃回顾|第三届OpenHarmony技术大会精彩瞬间

    第三届OpenHarmony技术大会圆满落幕 全球开源精英齐聚 共同展示OpenHarmony技术、生态、人才的最新进展 见证OpenHarmony南北向生态繁荣 共绘
    发表于 10-16 18:47

    开放原子开源生态大会OpenHarmony生态主题演讲报名开启

    展示OpenHarmony的技术创新和产业落地成果,分享开源社区生态进展。 诚邀全球开源操作系统产业伙伴、技术大咖和学术专家,共同见证开源
    发表于 09-19 22:02

    第二届大会回顾25 | OpenHarmony的Python设备应用开发

    Python以其简单、易学和功能强大而闻名,有着广泛的用户群体。采用Python开发有助于降低OpenHarmony的学习门槛。如何在OpenHarmony用Python开发设备应用,有哪些关键技术?电
    的头像 发表于 08-27 11:53 731次阅读
    第二届大会<b class='flag-5'>回顾</b><b class='flag-5'>第</b>25<b class='flag-5'>期</b> | <b class='flag-5'>OpenHarmony</b><b class='flag-5'>上</b>的Python设备应用开发

    OpenHarmony城市技术william hill官网 10——上海站圆满举办

    2024年8月18日下午,OpenHarmony城市技术william hill官网 (以下简称“技术william hill官网 ”)10——上海站于上海交通大学徐汇校区圆满举办。本次技术william hill官网 以“通用智能、通用机器人和通用操作系统
    的头像 发表于 08-21 09:35 310次阅读
    <b class='flag-5'>OpenHarmony</b>城市技术william hill官网
<b class='flag-5'>第</b><b class='flag-5'>10</b><b class='flag-5'>期</b>——上海站圆满举办

    第二届大会回顾24 | 面向OpenHarmony的软件工程研究:机遇与挑战

    随着万物智联时代的到来,OpenHarmony作为一个开源的智能终端设备操作系统的框架和平台,将会遇到哪些机遇和挑战?北京航空航天大学教授、OpenHarmony技术俱乐部主任黎立
    的头像 发表于 08-07 18:14 1066次阅读
    第二届大会<b class='flag-5'>回顾</b><b class='flag-5'>第</b>24<b class='flag-5'>期</b> | 面向<b class='flag-5'>OpenHarmony</b>的软件工程研究:机遇与挑战

    厦门市开源芯片产业促进会R-Talk10成功举办

    2024年6月27日,由中国开放指令生态(RISC-V)联盟福建区域中心和厦门市开源芯片产业促进会(“开芯会”)联合主办,厦门市必易微电子科技有限公司协办的R-Talk10活动
    的头像 发表于 06-29 08:37 414次阅读
    厦门市<b class='flag-5'>开源</b>芯片产业促进会R-Talk<b class='flag-5'>第</b><b class='flag-5'>10</b><b class='flag-5'>期</b>成功举办

    OpenHarmony城市技术william hill官网 8——厦门站圆满落幕

    2024年4月20日上午,OpenHarmony城市技术william hill官网 (以下简称“技术william hill官网 ”)8——厦门站,厦门大学翔安校区信息学院圆满落幕。此次william hill官网 从“终端操作系统十大技术挑战”出发,以
    的头像 发表于 04-22 10:38 387次阅读
    <b class='flag-5'>OpenHarmony</b>城市技术william hill官网
<b class='flag-5'>第</b>8<b class='flag-5'>期</b>——厦门站圆满落幕

    OpenHarmony城市技术william hill官网 8——厦门站圆满举办

    2024年4月20日上午,OpenHarmony城市技术william hill官网 (以下简称“技术william hill官网 ”)8——厦门站于厦门大学翔安校区信息学院圆满举办。本次技术william hill官网 从“终端操作系统十大技术挑战”出发,以“存储与网络
    的头像 发表于 04-21 08:40 472次阅读
    <b class='flag-5'>OpenHarmony</b>城市技术william hill官网
<b class='flag-5'>第</b>8<b class='flag-5'>期</b>——厦门站圆满举办

    第二届大会回顾15 | OpenHarmony性能调优工具介绍

    与适配,润和软件芯片业务创立人,润和芯片全栈解决方案平台HiHope发起人,带领公司进军国际芯片领域并成为ARM生态圈Linaro重要合作伙伴。OpenHarmony项目群工作委员会成员,OpenHarmony Dev-Board SIG(开发板兴趣组)创立人及组长。 视
    的头像 发表于 03-05 08:40 751次阅读
    第二届大会<b class='flag-5'>回顾</b><b class='flag-5'>第</b>15<b class='flag-5'>期</b> | <b class='flag-5'>OpenHarmony</b>性能调优工具介绍