<strike id="kiyse"></strike>
  • <tr id="kiyse"></tr>
  • <strike id="kiyse"></strike><samp id="kiyse"><tbody id="kiyse"></tbody></samp>
    <strike id="kiyse"><s id="kiyse"></s></strike>
    <tr id="kiyse"></tr>
    <noframes id="kiyse"><code id="kiyse"></code></noframes>
    <th id="kiyse"></th>
    <samp id="kiyse"></samp>
  • <th id="kiyse"><s id="kiyse"></s></th>
  • ESM6802 X11桌面圖形系統簡介

     2017-8-31     作者:廖光澤         
    文章標簽:X11ESM6802

      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.gif

    圖1 桌面


    2.gif

    圖2 虛擬終端和屏幕鍵盤


    3.gif

    圖3 觸摸校準


    4.gif

    圖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桌面管理,開機直接運行自己的應用程序。


      更多關于X11系統底層以及編程的介紹請用戶參考X11官網https://www.x.org/wiki/上的相關資料,我們在此不再介紹。

    文章標簽:X11ESM6802
    国产在线拍揄自揄视精品| 97久久国产综合精品女不卡| 国产 精品 自在 线| 久久精品国产亚洲av日韩| 亚洲线精品一区二区三区影音先锋| 四虎精品在线视频| 久久精品国产亚洲av瑜伽| 91国内揄拍国内精品对白不卡| 久久99精品视免费看| 国产精品久线在线观看| 亚洲乱码精品久久久久..| 国产一区二区精品尤物| 黑人无码精品又粗又大又长 | 精品一区二区三区四区在线| 国产人妖系列在线精品| 在线视频日韩精品| 狠狠入ady亚洲精品| 日韩精品一区二区三区老鸦窝| 91亚洲精品麻豆| 亚洲国产精品久久久久秋霞影院 | jazzjazz国产精品| 一本大道无码日韩精品影视| 青青青青久久精品国产h久久精品五福影院1421 | 国产精品视频久久久| 久久99热66这里只有精品一| 久久青青草原精品国产软件| 日本五区在线不卡精品| 国产精品成人免费一区二区| 1313午夜精品理伦片| 久久亚洲AV午夜福利精品一区 | 国产亚洲综合成人91精品| 国产精品免费网站| 67194国产精品免费观看| 99精品国产在热久久婷婷| 亚洲国产精品乱码一区二区 | 久久精品aⅴ无码中文字字幕重口 久久精品a亚洲国产v高清不卡 | 精品熟女碰碰人人a久久| 亚洲国产精品综合一区在线| 亚洲国产成人99精品激情在线| 99re热精品视频国产免费| 午夜精品乱人伦小说区|