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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

OpenHarmony TSC ? 來源:OpenHarmony TSC ? 作者:OpenHarmony TSC ? 2023-05-15 09:30 ? 次閱讀

演講嘉賓 | 黃 然

回顧整理 | 廖 濤

排版校對 | 李萍萍

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

嘉賓簡介

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

內(nèi)容來源

第一屆開放原子開源基金會OpenHarmony技術(shù)峰會——OS內(nèi)核及視窗分論壇

正 文 內(nèi) 容

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

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

01?

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

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

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

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

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

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

02?

開源圖形驅(qū)動架構(gòu)介紹

由于從驅(qū)動角度,OpenHarmony富設(shè)備的內(nèi)核是基于Linux的,故首先介紹下Linux開源驅(qū)動的整體架構(gòu)。整個驅(qū)動的架構(gòu)可以分為2D和3D兩個部分,2D部分的比較老的框架是基于X11,而比較新的框架是基于Wayland。

3D的部分驅(qū)動通過mesa,將OpenGLES或者Vulkan的API以及shader轉(zhuǎn)化為硬件的ISA。而2D的DDX驅(qū)動通過glamor也可以走到mesa層,這樣避免了2D和3D分岔的驅(qū)動路線(過去曾經(jīng)是分岔的,2D走DDX)。

整體的驅(qū)動是UMS+KMS結(jié)構(gòu),UMS負(fù)責(zé)用戶層驅(qū)動的解析,而KMS用來做顯示和硬件渲染,通過libdrm和DRM來形成UMS到KMS的傳遞。

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

在圖形驅(qū)動中有幾個關(guān)鍵概念:

一是LLVM、TGSI和Gallium。TGSI是一種用于描述著色器的中間語言,是所有驅(qū)動程序使用的唯一中間表示,所有的Shader都會轉(zhuǎn)化為中間的IR。而Gallium是LLVM的后端,能夠基于不同硬件進(jìn)行不同硬件的ISA繪制,如圖中的radeonsi就是AMD的radeon的后端渲染。

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

二是ISA。ISA由控制流(CF)指令、ALU指令、通過紋理緩存提取的指令和通過頂點緩存提取的指令組成,其中控制流程序通過使用控制流指令(條件跳轉(zhuǎn)、循環(huán)和子例程)來指導(dǎo)程序子句的流,包括內(nèi)存分配指令和其他指令,這些指令可以指定頂點和幾何程序何時完成相關(guān)操作,類似CPU匯編語言。

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

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

03?

開源圖形驅(qū)動在OpenHarmony上的移植

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

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

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

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

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

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

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

04?

總結(jié)&展望

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

E N D

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

關(guān)注我們,獲取更多精彩。


審核編輯黃宇


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

    關(guān)注

    3

    文章

    3218

    瀏覽量

    42329
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3641

    瀏覽量

    16061
收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

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

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

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

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

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

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

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

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

    OpenHarmony城市技術(shù)論壇8——廈門站圓滿落幕

    2024年4月20日上午,OpenHarmony城市技術(shù)論壇(以下簡稱“技術(shù)論壇”)8——廈門站,廈門大學(xué)翔安校區(qū)信息學(xué)院圓滿落幕。此次論壇從“終端操作系統(tǒng)十大技術(shù)挑戰(zhàn)”出發(fā),以
    的頭像 發(fā)表于 04-22 10:38 ?322次閱讀
    <b class='flag-5'>OpenHarmony</b>城市技術(shù)論壇<b class='flag-5'>第</b>8<b class='flag-5'>期</b>——廈門站圓滿落幕

    第二屆大會回顧15 | OpenHarmony性能調(diào)優(yōu)工具介紹

    與適配,潤和軟件芯片業(yè)務(wù)創(chuàng)立人,潤和芯片全棧解決方案平臺HiHope發(fā)起人,帶領(lǐng)公司進(jìn)軍國際芯片領(lǐng)域并成為ARM生態(tài)圈Linaro重要合作伙伴。OpenHarmony項目群工作委員會成員,OpenHarmony Dev-Board SIG(開發(fā)板興趣組)創(chuàng)立人及組長。 視
    的頭像 發(fā)表于 03-05 08:40 ?554次閱讀
    第二屆大會<b class='flag-5'>回顧</b><b class='flag-5'>第</b>15<b class='flag-5'>期</b> | <b class='flag-5'>OpenHarmony</b>性能調(diào)優(yōu)工具介紹

    OpenHarmony城市技術(shù)論壇——6(武漢站)圓滿舉辦

    點擊藍(lán)字 ╳ 關(guān)注我們 開源項目 OpenHarmony 是每個人的 OpenHarmony 2023年12月23日下午,OpenHarmony城市技術(shù)論壇(以下簡稱“技術(shù)論壇”)——
    的頭像 發(fā)表于 12-26 21:20 ?707次閱讀
    <b class='flag-5'>OpenHarmony</b>城市技術(shù)論壇——<b class='flag-5'>第</b>6<b class='flag-5'>期</b>(武漢站)圓滿舉辦

    【堅果派】JS開源庫適配OpenHarmony系列——第一實操

    由于OpenHarmony應(yīng)用是基于ArkTS開發(fā),而ArkTS是保持TypeScript(簡稱TS)基礎(chǔ)語法風(fēng)格的基礎(chǔ),對TS的動態(tài)類型特性施加更嚴(yán)格的約束,引入靜態(tài)類型。因此
    的頭像 發(fā)表于 12-26 10:48 ?1018次閱讀
    【堅果派】JS<b class='flag-5'>開源</b>庫適配<b class='flag-5'>OpenHarmony</b>系列——第一<b class='flag-5'>期</b>實操

    第二屆大會回顧6 | OpenHarmony游戲生態(tài)建設(shè)

    Turbo黑科技核心成員,OpenHarmony社區(qū)擔(dān)任開源圖形驅(qū)動SIG、游戲SIG、兼
    的頭像 發(fā)表于 12-26 08:36 ?366次閱讀
    第二屆大會<b class='flag-5'>回顧</b><b class='flag-5'>第</b>6<b class='flag-5'>期</b> | <b class='flag-5'>OpenHarmony</b>游戲生態(tài)建設(shè)

    OpenHarmony開源GPU庫Mesa3D適配說明

    ,對下使用Gallium框架,屏蔽驅(qū)動差異。RK3568中,panfrost對ARM GPU提供了非常好的開源驅(qū)動支持。 二、適配方法
    發(fā)表于 12-25 11:38

    潤開鴻基于高性能RISC-V開源架構(gòu)DAYU800通過OpenHarmony兼容性測評

    的平板電腦、邊緣計算網(wǎng)關(guān)及云桌面終端,助推產(chǎn)業(yè)應(yīng)用及落地。 潤開鴻于2023 RISC-V中國峰會發(fā)布三款基于RISC-V 架構(gòu)和 OpenHarmony操作系統(tǒng)的終端新品 RISC-V的
    發(fā)表于 12-14 17:33

    上海站報名啟動! 2023年開源產(chǎn)業(yè)生態(tài)大會OpenHarmony生態(tài)分論壇

    趨勢,解讀開源應(yīng)用成功案例,為行業(yè)提供借鑒。重點議題包括OpenHarmony商用車座艙、交通、智慧城市、金融、醫(yī)療、制造等行業(yè)落地的成功案例以及商業(yè)化最新進(jìn)展等,精彩內(nèi)容不容錯過。
    發(fā)表于 11-24 14:55

    精彩預(yù)告 | OpenHarmony即將亮相MTSC 2023

    MTSC 2023 12 屆中國互聯(lián)網(wǎng)測試開發(fā)大會(深圳站)即將于 2023 年 11 月 25 日,深圳登喜路國際大酒店舉辦,大會將以“1 個主會場+4 個平行分會場”的形式呈現(xiàn),聚集一眾
    發(fā)表于 11-22 10:28