一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

峰會回顧第10期 | 開源圖形驅動在OpenHarmony上的使用和落地

OpenHarmony TSC ? 來源:OpenHarmony TSC ? 作者:OpenHarmony TSC ? 2023-05-15 09:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

演講嘉賓 | 黃 然

回顧整理 | 廖 濤

排版校對 | 李萍萍

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

嘉賓簡介

黃然,華為終端BG軟件部資深圖形技術專家,華為終端游戲標準、工具和分析創(chuàng)始人,GPU Turbo黑科技核心成員,在OpenHarmony社區(qū)上擔任開源圖形驅動SIG、游戲SIG、兼容性工作組組長等職務。

內容來源

第一屆開放原子開源基金會OpenHarmony技術峰會——OS內核及視窗分論壇

正 文 內 容

圖形驅動也是一種軟件程序,它串聯(lián)了操作系統(tǒng)和應用程序與計算機圖形硬件進行通信和交互,是發(fā)揮硬件性能為操作系統(tǒng)提供高質量圖形顯示的關鍵環(huán)節(jié)。OpenHarmony在開源圖形驅動的使用和落地上做了哪些工作呢?OpenHarmony游戲SIG組、圖形驅動SIG組組長、華為終端圖形資深技術專家黃然在第一屆OpenHarmony技術峰會上給大家?guī)砹藥c分享。

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

01?

OpenHarmony圖形驅動面臨的挑戰(zhàn)

圖形驅動技術的演進始終跟GPU硬件的發(fā)展相關。1975年至今,隨著GPU硬件由早期的專業(yè)領域高端圖形工作站發(fā)展到臺式機GPU顯卡,再到如今的移動終端、云和服務器GPU顯卡,圖形驅動API也由OpenGL演進到了DirectX。

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

目前,圖形驅動領域的主流廠商都對自身的核心代碼閉源,Arm Mali、Qualcomm Adreno和Nvidia等開源圖形驅動也并沒有特別“Open”。

隨著開源運動的興起和成功,AMD英特爾等公司的圖形驅動開源建立了良好的生態(tài),也取得了不錯的效果。對OpenHarmony這樣一個完全開源的操作系統(tǒng)來說,圖形開源驅動有很好的借鑒和學習意義,當然也存在著諸多挑戰(zhàn)。掌握開源圖形驅動有多難呢?首先圖形驅動的開發(fā)和研究需要具備扎實的軟硬件開發(fā)功底,且由于開源圖形驅動在國內的發(fā)展很慢,少有開發(fā)者專門從事該項工作,缺乏技術交流和實踐經驗分享。下圖為黃然老師前期在開源驅動領域學習和研究所做的筆記:

此外,對于OpenHarmony來說,當前大部分的小廠商無法獲得閉源GPU廠商的支持,導致視覺流暢體驗較差,限制了非常多OpenHarmony產品的商用,在一定程度上也阻礙了OpenHarmony生態(tài)的推廣。

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指令、通過紋理緩存提取的指令和通過頂點緩存提取的指令組成,其中控制流程序通過使用控制流指令(條件跳轉、循環(huán)和子例程)來指導程序子句的流,包括內存分配指令和其他指令,這些指令可以指定頂點和幾何程序何時完成相關操作,類似CPU匯編語言。

三是Fence。Fence能夠讓GPU和CPU協(xié)調工作,提高圖像顯示的速度。通過Fence機制產生的GPU的事件,能夠保證用戶態(tài)程序下發(fā)的渲染命令被順序執(zhí)行,從而保證上層應用程序渲染相關數據的一致性。

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

03?

開源圖形驅動在OpenHarmony上的移植

OpenHarmony驅動框架支持多種接入模式,能夠實現南向硬件的快速部署。其中,顯示框架支持Display_Gralloc、Display_Gfx和Device HDI的3類南向接口,其中,Display_Gralloc負責內存分配;Display_Gfx負責圖形硬件2D繪制,可以用于離線合成;Device HDI負責顯示設備特性管理,包括屏幕顯示,在線及離線硬件合成,硬件Vsync,顯示設備色彩管理等。在開發(fā)板能力支持方面,RK3568和HI3516dv300支持DRM內存分配、DRM送顯以及硬件離線合成,HI3751V350支持支持FbDev 和DmaBuf-Heap、支持FbDev顯示,不支持硬件離線合成。

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

針對上述OpenHarmony驅動框架的整體情況,開源GPU驅動的適配工作主要分為以下3個階段進行:(1)驗證內核panfrost驅動和用戶態(tài)panfrost驅動可以正常工作;(2)開源GPU驅動適配OpenHarmony(Flutter+weston)舊框架;(3)開源GPU驅動適配OpenHarmony(RenderService)新框架。目前,越來越多的興趣開發(fā)者參與到了OpenHarmony的開源圖形驅動適配和移植的工作中,近期有一些用戶已經成功將高通開源驅動移植到移動終端上,使其能夠運行一些2D和3D的應用。這意味著開源驅動在OpenHarmony上生態(tài)正在朝著良好的方向發(fā)展。

從GLmark2跑分情況來看,OpenHarmony開源驅動在2D的紋理處理等方面表現比閉源驅動優(yōu)異,在關鍵的著色和陰影、地形等偏3D的方面表現還較差。即便如此,在2D和3D開源圖形驅動上的性能提升已經足以滿足絕大多數產品的需求。

當然,在這個過程中,還有一些伙伴參考當前的工作,把高通的freedreno開源驅動也完成了移植,并且可以在小米等手機上可以運行和使用開源驅動,如下:

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

未來我們還會在X86基礎的AMD以及Intel GPU上使能開源驅動,服務于OpenHamrony,也希望更多的小伙伴可以一起加入社區(qū)微信群SIG-OpenGfxDrv共建圖形驅動,對應的gitee鏈接為:https://gitee.com/openharmony/third_party_mesa3d

04?

總結&展望

真正想做好圖形競爭力,就要了解GPU的工作機制和圖形驅動原理,OpenHarmony社區(qū)正是一個交流和學習的良好平臺;OpenHarmony開源圖形驅動是未來趨勢,也會是歷史最終選擇,希望有越來越多的興趣開發(fā)者能夠參與到開源圖形驅動的適配和移植工作中來,共建OpenHarmony生態(tài)。

E N D

點擊下方閱讀原文獲取演講PPT。

關注我們,獲取更多精彩。


審核編輯黃宇


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 開源
    +關注

    關注

    3

    文章

    3680

    瀏覽量

    43816
  • OpenHarmony
    +關注

    關注

    29

    文章

    3853

    瀏覽量

    18596
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    第三屆大會回顧3 | FFRT并發(fā)框架在OpenHarmony中的設計與實踐

    ,特別是多核處理器,可以顯著提高程序的運行速度和整體性能,從而改善用戶體驗。OpenHarmony的FFRT并發(fā)編程模型為開發(fā)者提供了構建異步并發(fā)任務的能力,以更高效地開發(fā)和管理并發(fā)任務。FFRT是如何設計與實現的,有哪些重
    的頭像 發(fā)表于 06-21 16:53 ?241次閱讀
    第三屆大會<b class='flag-5'>回顧</b><b class='flag-5'>第</b>3<b class='flag-5'>期</b> | FFRT并發(fā)框架在<b class='flag-5'>OpenHarmony</b>中的設計與實踐

    請問下,openharmony支持哪一款龍芯的開發(fā)板?有沒有開源的龍芯的openharmony源碼?

    想買個2k0300的開發(fā)板學習龍芯和openharmony,愣是沒有看到提供openharmony源碼的,也沒與看到開源的代碼。giteeope
    發(fā)表于 04-26 13:06

    回顧OpenHarmony社區(qū)2024年度精彩瞬間

    ”或“開源鴻蒙”)社區(qū)2024年度工作會議于深圳盛大啟幕,這場備受矚目的盛會匯聚了開源鴻蒙社區(qū)眾多成員單位,共同回顧過去一年OpenHarmony社區(qū)
    的頭像 發(fā)表于 01-17 12:34 ?1151次閱讀

    OpenHarmony城市技術論壇12——合肥站圓滿舉辦

    2024年12月23日,OpenHarmony城市技術論壇(以下簡稱“技術論壇”)12——合肥站于中國科學技術大學高新校區(qū)圓滿舉辦。本次技術論壇聚焦于“智能時代基礎軟件與數據管理”的主題,深入
    的頭像 發(fā)表于 12-26 09:14 ?834次閱讀
    <b class='flag-5'>OpenHarmony</b>城市技術論壇<b class='flag-5'>第</b>12<b class='flag-5'>期</b>——合肥站圓滿舉辦

    凌蒙派OpenHarmony開源項目榮獲本期Gitee官方推薦

    近日,我司凌蒙派OpenHarmony開源項目榮獲本期Gitee官方推薦。本期Gitee官方推薦不僅是對凌蒙派OpenHarmony開源項目的高度認可,也是對我司
    的頭像 發(fā)表于 11-20 01:04 ?839次閱讀
    凌蒙派<b class='flag-5'>OpenHarmony</b><b class='flag-5'>開源</b>項目榮獲本期Gitee官方推薦

    OpenHarmony閃耀亮相CCF開源大會

    午,大會中的OpenHarmony分論壇圓滿舉辦。 11月10日上午,CCF開源發(fā)展委員會常委、OpenHarmony項目群技術指導委員會(TSC)主席、華為Fellow陳海波
    的頭像 發(fā)表于 11-19 17:43 ?1006次閱讀
    <b class='flag-5'>OpenHarmony</b>閃耀亮相CCF<b class='flag-5'>開源</b>大會

    OpenHarmony城市技術論壇11——香港站圓滿舉辦

    2024年11月12日下午,OpenHarmony城市技術論壇(以下簡稱“技術論壇”)11——香港站于香港九龍香格里拉酒店圓滿舉辦。本次技術論壇以"智能終端操作系統(tǒng)與國際化生態(tài)構建"為主題,圍繞
    的頭像 發(fā)表于 11-18 11:39 ?1812次閱讀
    <b class='flag-5'>OpenHarmony</b>城市技術論壇<b class='flag-5'>第</b>11<b class='flag-5'>期</b>——香港站圓滿舉辦

    有方科技亮相開源鴻蒙峰會和星閃合作峰會

    近日,由國際星閃聯(lián)盟主辦、上海海思協(xié)辦的星閃合作峰會,由OpenHarmony項目群工作委員會、上海海思聯(lián)合主辦的開源鴻蒙峰會在深圳盛大舉行。作為受邀的重點無線通信模組上市企業(yè),有方科
    的頭像 發(fā)表于 11-11 09:23 ?925次閱讀

    OpenHarmony首次亮相歐洲開源會議

    10月22日至24日,由歐洲最大開源組織Eclipse基金會主辦的Open Community Experience (OCX) 2024開源大會(后文簡稱“大會”)于德國·美因茨盛大召開
    的頭像 發(fā)表于 10-26 11:48 ?988次閱讀
    <b class='flag-5'>OpenHarmony</b>首次亮相歐洲<b class='flag-5'>開源</b>會議

    第三屆OpenHarmony技術大會 生態(tài)企業(yè)分享創(chuàng)新成果,共繪開源系統(tǒng)新藍圖

    10月12日,以“技術引領筑生態(tài),萬物智聯(lián)創(chuàng)未來”為主題的第三屆OpenHarmony技術大會在上海隆重召開。來自全球的開源操作系統(tǒng)技術領袖、前沿實踐專家、學者及業(yè)界領袖,探討萬物智聯(lián)時代操作系統(tǒng)
    的頭像 發(fā)表于 10-21 11:59 ?790次閱讀
    第三屆<b class='flag-5'>OpenHarmony</b>技術大會 生態(tài)企業(yè)分享創(chuàng)新成果,共繪<b class='flag-5'>開源</b>系統(tǒng)新藍圖

    高燃回顧|第三屆OpenHarmony技術大會精彩瞬間

    第三屆OpenHarmony技術大會圓滿落幕 全球開源精英齊聚 共同展示OpenHarmony技術、生態(tài)、人才的最新進展 見證OpenHarmony南北向生態(tài)繁榮 共繪
    發(fā)表于 10-16 18:47

    開放原子開源生態(tài)大會OpenHarmony生態(tài)主題演講報名開啟

    展示OpenHarmony的技術創(chuàng)新和產業(yè)落地成果,分享開源社區(qū)生態(tài)進展。 誠邀全球開源操作系統(tǒng)產業(yè)伙伴、技術大咖和學術專家,共同見證開源
    發(fā)表于 09-19 22:02

    第二屆大會回顧25 | OpenHarmony的Python設備應用開發(fā)

    Python以其簡單、易學和功能強大而聞名,有著廣泛的用戶群體。采用Python開發(fā)有助于降低OpenHarmony的學習門檻。如何在OpenHarmony用Python開發(fā)設備應用,有哪些關鍵技術?電
    的頭像 發(fā)表于 08-27 11:53 ?1213次閱讀
    第二屆大會<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設備應用開發(fā)

    OpenHarmony城市技術論壇10——上海站圓滿舉辦

    2024年8月18日下午,OpenHarmony城市技術論壇(以下簡稱“技術論壇”)10——上海站于上海交通大學徐匯校區(qū)圓滿舉辦。本次技術論壇以“通用智能、通用機器人和通用操作系統(tǒng)
    的頭像 發(fā)表于 08-21 09:35 ?503次閱讀
    <b class='flag-5'>OpenHarmony</b>城市技術論壇<b class='flag-5'>第</b><b class='flag-5'>10</b><b class='flag-5'>期</b>——上海站圓滿舉辦

    第二屆大會回顧24 | 面向OpenHarmony的軟件工程研究:機遇與挑戰(zhàn)

    隨著萬物智聯(lián)時代的到來,OpenHarmony作為一個開源的智能終端設備操作系統(tǒng)的框架和平臺,將會遇到哪些機遇和挑戰(zhàn)?北京航空航天大學教授、OpenHarmony技術俱樂部主任黎立
    的頭像 發(fā)表于 08-07 18:14 ?1602次閱讀
    第二屆大會<b class='flag-5'>回顧</b><b class='flag-5'>第</b>24<b class='flag-5'>期</b> | 面向<b class='flag-5'>OpenHarmony</b>的軟件工程研究:機遇與挑戰(zhàn)