<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 文件瀏覽程序


      這些輔助程序能夠方便客戶更快的熟悉系統,同時在客戶的應用程序中也能直接使用屏幕鍵盤等工具來簡化程序開發??蛻粢部梢詫⒆约旱膽贸绦蛱砑拥阶烂嬷谢蛘邉h除不想要的桌面程序,這些都是由/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
    亚洲国产高清国产拍精品| 视频精品一区二区三区| 久久国产精品成人免费| 精品一区精品二区| 欧美国产成人精品二区芒果视频| 久久99精品久久久久久综合 | 国产精品VA在线播放| 91精品国产91久久久久久蜜臀| 91精品国产综合久久婷婷| 香蕉99久久国产综合精品宅男自| 中文字幕乱码亚洲精品一区 | 精品久久久久久久无码| 精品999久久久久久中文字幕| 国产精品色视频ⅹxxx| 国产精品亚洲精品日韩电影| 亚洲av纯肉无码精品动漫| 精品亚洲国产成人| 欧洲精品色在线观看| 精品国产污污免费网站| 国内精品视频在线观看| 精品国产亚洲男女在线线电影| 国产精品任我爽爆在线播放| 99偷拍视频精品一区二区 | 国产精品制服丝袜| 国产精品人人妻人人爽| 久久99精品久久久久久清纯| 国产四虎免费精品视频| 精品久久久久久久久午夜福利| 91一区二区在线观看精品| 日韩精品真人荷官无码| 亚洲午夜精品一区二区| 无码精品一区二区三区免费视频| 亚洲精品无码mv在线观看网站| 国内精品伊人久久久久网站| 久久精品国产亚洲一区二区三区| 一本色道久久88综合亚洲精品高清 | 亚欧乱色国产精品免费视频| 日本精品夜色视频一区二区| 男女男精品网站免费观看| 精品一区二区三区无码视频| 大桥未久在线精品视频在线 |