ESM6802是英創公司推出的基于Freescale i.MX6DL雙核處理器(ARM Cortex-A9,主頻1GHz)的高性能工控主板,imx6dl內部帶有硬件3D、2D圖像處理模塊,能夠圖像界面繪制進行硬件加速,使得應用程序顯示更加快速流暢。ESM6802能夠支持X11、wayland、fb三個顯示平臺,其中針對X11和wayland freescale提供了專門的插件使其能夠用到imx6dl內部的硬件模塊加速圖像顯示。
X11是Linux上常用的窗口系統,使用服務器-客戶端模式,提供了一套完整的協議定義圖形用戶界面和輸入設備管理。使用X11能夠方便的繪制、移動、管理圖形窗口,獲取鼠標鍵盤等輸入事件。X11并沒有定義圖形界面的顯示效果(窗口、按鈕的樣式),這些都是由應用程序決定的。在實際的開發中可以使用X11搭建應用程序的底層,然后在程序中自行定制顯示界面,也可以使用更高級的庫來編寫應用程序,比如Qt、gtk等。在沒有硬件加速模塊的情況下,X11系統可以使用frame buffer進行軟件圖像渲染,而imx6dl內部有一個2D圖形處理模塊,所以可以對部分X11的圖形渲染進行加速,例如下列操作:
●繪制一個長方形
●加載圖片
●拷貝一個長方形區域,并且對目標區域進行部分覆蓋
●拷貝一個長方形區域,并且與目標區域進行混合
ESM6802的文件系統提供Qt 5.8.0,支持xcb平臺(基于X11的Qt平臺),在ESM6802上運行的Qt程序也能獲益于上述X11圖形顯示支持的硬件加速,從而降低CPU占用率,增強顯示效果。我們在實際使用中測試,同一個Qt程序在xcb(基于X11,采用硬件加速)比在eglfs(基于frame buffer,使用Qt軟件渲染)上運行CPU占用率更低,同時CPU的溫度也更低。我們推薦用戶在開發中直接使用Qt進行應用程序的開發,這樣開發應用程序更加快捷而且能夠容易的獲得統一的顯示效果。
得益于X11提供的窗口系統管理,使用imx6dl內部硬件編解碼顯示的視頻處理gstreamer模塊能夠更加容易的實現視頻在特定的窗口中顯示,并且能夠很容易的限定或者改變顯示區域。同時我們針對Qt的multimedia模塊做了專門改動來使用imx6dl硬件gstreamer模塊,使得開發視頻應用更加便捷,關于Qt視頻播放以及錄制我們將在另外的文章中進行說明。
基于以上的介紹,X11可以使用imx6dl內部的硬件模塊加速圖形顯示,降低CPU負載,同時更加方便視頻處理,因此我們選用以及X11的文件系統作為ESM6802圖形應用的平臺,用戶如有需要可以向我們工程師說明,我們將提供相應的文件和燒寫方法。
ESM6802的X11文件系統中使用了matchbox作為桌面管理器,同時提供了屏幕鍵盤、虛擬終端、觸摸屏校準、文件瀏覽器等個多工具,如下列圖片所示:

圖1桌面

圖2虛擬終端和屏幕鍵盤

圖3觸摸校準

圖4文件瀏覽程序
這些輔助程序能夠方便客戶更快的熟悉系統,同時在客戶的應用程序中也能直接使用屏幕鍵盤等工具來簡化程序開發。客戶也可以將自己的應用程序添加到桌面之中或者刪除不想要的桌面程序,這些都是由/usr/share/applications文件夾下面的文件控制的,以觸摸屏校準程序為例,其對應的文件為/usr/share/applications/xinput_calibrator.desktop,文件內容如下:
[Desktop Entry]
Name=Calibrate Touchscreen
Name[de]=Touchscreen Kalibrieren
Name[nl]=Touchscreen Kalibreren
Comment=Run the calibration tool for touchscreens
Exec=/bin/sh -c "xinput_calibrator; cat"
Terminal=true
Type=Application
Icon=xinput_calibrator
StartupNotify=true
Categories=System;Settings;
其中:
Name是桌面圖標的名稱
Comment是對應用的簡單說明
Exec是點擊桌面圖標時執行的命令,也即啟動應用的命令
Icon是桌面圖標,文件放在/usr/share/pixmaps/下面,支持png、svg、xpm等多種格式
Categories是應用分類,支持的分類有Applications、Utilities(System)、Games、Settings,可以放在多個分類下面,用分號(;)隔開
對于用戶應用程序,可以拷貝上面的文件,然后更改對應項目就可以很容易的建立新的桌面應用圖標了。
另外用戶也可以選擇不加載matchbox而直接運行自己的應用程序,設置方法如下:修改/etc/matchbox/session文件,在matchbox-desktop和matchbox-panel兩行前面加#號屏蔽。
這樣設置之后重啟就不會再加載matchbox桌面管理了,會直接運行用戶的程序。如果用戶需要在運行程序之前先運行觸摸屏校準,可以在/etc/profile文件最后添加下面兩行:
HAVE_TOUCHSCREEN=1
export HAVE_TOUCHSCREEN
我們建議用戶在開發階段使用matchbox桌面管理熟悉系統,應用程序測試完成之后按照上面的說明去掉matchbox桌面管理,開機直接運行自己的應用程序。
-
Linux
+關注
關注
88文章
11758瀏覽量
219009 -
嵌入式主板
+關注
關注
7文章
6107瀏覽量
37071
發布評論請先 登錄
龍芯中科成功舉辦2025信息技術應用創新產教融合交流會
龍芯中科助力2025教育信息技術應用創新大賽成功舉辦
誠邁科技信創電腦助力2025第二屆教育信息技術應用創新大賽圓滿收官
【awinic inside】打造桌面神器!艾為芯加持安克Prime 14合1雷電5桌面拓展塢
寶馬南京信息技術有限公司開業
2025年第11屆阿爾及利亞電力 發電 信息技術展覽會
【上海晶珩睿莓1開發板試用體驗】3、系統鏡像燒錄+屏幕顯示
易華錄入選國家級信息技術應用創新典型解決方案
“信息技術應用產學協同人才培養行動計劃”正式發布,誠邁科技入選首批參與單位
佛瑞亞如何通過信息技術推動業務增長
技術筆記 | RK3588 X11 桌面 GPU 性能實測
飛騰主板為信創產業發展提高硬實力
DEKRA德凱成為沙特通信和信息技術設備技術法規認證機構
告別復雜:一鍵切換到 Wayland 或 X11
英創信息技術ESM6802 X11桌面圖形系統簡介
評論