那曲檬骨新材料有限公司

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

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

3天內不再提示

在MPSoC上運行基于eglfs_kms的QT應用程序

YCqV_FPGA_EETre ? 來源:賽靈思中文社區論壇 ? 作者:賽靈思中文社區論 ? 2021-01-14 10:29 ? 次閱讀

1 Xilinx backend

Xilinx為MPSoC支持4種libMali的backend: X11, Wayland/GBM, Fbdev, Headless-EGL。

2 QT

QT支持4種plugin(插件)或者backend,FB,X11,Wayland,eglfs。對不同的plugin(插件)或者backend,QT應用層是一樣的。

其中的FB,不能利用GPU做渲染。

EGLFS可以讓QT應用直接運行在EGL和OpenGL ES 2.0上。也就是,可以在沒有窗口管理器(windowing system like X11 or Wayland)的情況下,運行QT軟件。對于有GPU的嵌入式Linux系統,建議使用eglfs。

當使用KMS/DRM時,EGLFS的Backend是eglfs_kms。更多信息,可以參考QT文檔,https://doc.qt.io/qt-5/embedded-linux.html

3 Xilinx支持情況

Xilinx支持eglfs_kms。


本文的命令可以在Xilinx的ZCU102和ZCU106單板上運行。所有測試基于ZCU102和ZCU106的PetaLinux BSP的工程。

3.1 rootfs

在Linux的rootfs里,增加qt相關的軟件。使用命令petalinux-config -c rootfs配置Linux的rootfs,使能packagegroup-petalinux-qt。

3.2 libMali

使用eglfs_kms時,libMali.so.9.0使用對應的wayland版本,指向到/usr/lib/wayland/libMali.so.9.0。

MALI_BACKEND_DEFAULT = "wayland"

在文件project-spec/meta-user/conf/petalinuxbsp.conf里,增加下列行,可以使libMali.so.9.0指向到/usr/lib/wayland/libMali.so.9.0。

update-alternatives --install /usr/lib/libMali.so.9.0 libmali /usr/lib/wayland/libMali.so.9.0 90

也可以在Linux運行的時侯,執行下列命令,使libMali.so.9.0指向到/usr/lib/wayland/libMali.so.9.0。

3.3 QT環境設置

為了讓QT使用eglfs_kms,需要設置下列兩個環境變量。

export QT_QPA_PLATFORM=eglfs export QT_QPA_EGLFS_INTEGRATION=eglfs_kms

QT還可以通過JSON文件設置有更多參數可以設置。通過導出 系統變量QT_QPA_EGLFS_KMS_CONFIG,可以指定JSON文件名,比如

export QT_QPA_EGLFS_KMS_CONFIG="/home/root/kms.conf"

kms.conf的內容如下:

{ "device": "/dev/dri/card0", "hwcursor": false, "pbuffers": true, "outputs": [ { "name": "DP", "mode": "3840x2160" } ] }

3.4 檢測顯示器

通過下列命令檢查顯示器,并設置它的分辨率。

ls /dev/dri/by-path/ modetest -D fd4a0000.zynqmp-display modetest -D fd4a0000.zynqmp-display -s 43:1920x1080-60@BG24 modetest -D fd4a0000.zynqmp-display -s 43:3840x2160-29.98@BG24

3.5 QT測試程序

3.5.1. 默認測試程序

PetaLinux編譯出的文件系統,在目錄/usr/share/examples/opengl下,有很多opengl的測試程序,比如cube和textures。

/usr/share/examples/opengl/cube/cube /usr/share/examples/opengl/textures/textures

3.5.2. qt5everywheredemo

更復雜的opengl的測試程序,QtDemo可以通過qt5everywheredemo編譯。

下面的命令,直接編譯qt5everywheredemo。

petalinux-build -c qt5everywheredemo -x compile

在文件petalinuxbsp.conf里添加下列行后,PetaLinux編譯時會包含qt5everywheredemo。

MALI_BACKEND_DEFAULT = "wayland" IMAGE_INSTALL_append = " qt5everywheredemo"

之后在目錄/usr/share/qt5everywheredemo-1.0/里能找到

root@xilinx-zcu106-2020_2# find -name "QtDemo" ./usr/share/qt5everywheredemo-1.0/qml/QtDemo ./usr/share/qt5everywheredemo-1.0/QtDemo

責任編輯:lq

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

    關注

    28

    文章

    4777

    瀏覽量

    129362
  • Xilinx
    +關注

    關注

    71

    文章

    2171

    瀏覽量

    122153
  • 應用程序
    +關注

    關注

    38

    文章

    3292

    瀏覽量

    57920

原文標題:【工程師分享】在MPSoC上運行基于eglfs_kms的QT應用程序

文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發圈】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于QT開發國產主板終端桌面程序 高效、穩定、跨平臺的解決方案

    了開發者們面臨的一個重要挑戰。本文將介紹如何基于QT框架,開發適用于國產主板的終端桌面程序,并探討其優勢和應用場景。 QT是一個跨平臺的C++圖形用戶界面應用程序框架,廣泛用于開發GU
    的頭像 發表于 01-08 15:34 ?179次閱讀

    EE-239:ADSP-BF533 Blackfin處理器運行閃存程序

    電子發燒友網站提供《EE-239:ADSP-BF533 Blackfin處理器運行閃存程序.pdf》資料免費下載
    發表于 01-07 13:58 ?0次下載
    EE-239:<b class='flag-5'>在</b>ADSP-BF533 Blackfin處理器<b class='flag-5'>上</b><b class='flag-5'>運行</b>閃存<b class='flag-5'>程序</b>

    android手機上emulate應用程序的方法

    Android手機上模擬(emulate)應用程序的方法通常涉及到使用Android模擬器(Emulator)或類似的工具來模擬Android環境,以便在沒有實際物理設備的情況下運行和測試
    的頭像 發表于 12-05 15:33 ?480次閱讀

    TM4C MCU用FreeRTOS開發通用應用程序應用說明

    電子發燒友網站提供《TM4C MCU用FreeRTOS開發通用應用程序應用說明.pdf》資料免費下載
    發表于 09-11 14:15 ?0次下載
    <b class='flag-5'>在</b>TM4C MCU<b class='flag-5'>上</b>用FreeRTOS開發通用<b class='flag-5'>應用程序</b>應用說明

    K8S集群中使用JDOS KMS服務對敏感數據安全加密

    基本概念 KMS,Key Management Service,即密鑰管理服務,K8S集群中,以驅動和插件的形式啟用對Secret,Configmap進行加密。以保護敏感數據, 驅動和插件需要
    的頭像 發表于 08-09 16:00 ?279次閱讀
    K8S集群中使用JDOS <b class='flag-5'>KMS</b>服務對敏感數據安全加密

    可以單個esp8266安裝兩個NON OS SDK應用程序嗎?

    一個簡單的問題。我可以單個 esp8266 安裝兩個 NON OS SDK 應用程序嗎?我的自定義引導加載程序(包括 os libs)和我的自定義
    發表于 07-19 07:28

    讓smartconfigESP-03運行CWSMARTSTART不工作是哪里的問題?

    我正在嘗試讓 smartconfig ESP-03 運行。我已經從 github 存儲庫構建了最新的 android 應用程序。我正在使用 AT 0.50 (sdk 1.4.0)
    發表于 07-17 08:18

    嵌入式系統中集成Rust和Qt的實踐

    Rust 擁有豐富的庫生態系統,用于序列化和反序列化、異步操作、解析不安全輸入、線程、靜態分析等,而 Qt 是一個 C++ 工具包,支持跨各種平臺的豐富的、基于 GUI 的應用程序,從 iOS 到嵌入式Linux。Qt
    發表于 05-03 10:26 ?1891次閱讀
    <b class='flag-5'>在</b>嵌入式系統中集成Rust和<b class='flag-5'>Qt</b>的實踐

    FPGA板子可以跑Qt應用程序

    Qt作為一款跨平臺GUI圖形界面設計軟件,她可以windows、Linux運行,沒聽說過FPGA的板子
    發表于 03-28 23:27

    【從0開始創建AWTK應用程序】編譯應用到RTOS平臺

    AWTK是基于C語言開發的跨平臺GUI框架。本系列文章介紹如何從0開始創建AWTK應用程序,包括搭建開發調試環境、使用AWTK創建Hello工程并在模擬器運行、將AWTK應用程序移植
    的頭像 發表于 03-21 08:23 ?677次閱讀
    【從0開始創建AWTK<b class='flag-5'>應用程序</b>】編譯應用到RTOS平臺

    Qt上位機開發實戰案例

    Qt框架的開發人員能迅速上手和操作。 即使不開發Qt應用程序Qt Creator也是一個簡單易用且功能強大的IDE。
    的頭像 發表于 03-13 12:31 ?2779次閱讀
    <b class='flag-5'>Qt</b>上位機開發實戰案例

    應用程序中的服務器錯誤怎么解決?

    使用應用程序時,可能會遇到服務器錯誤的問題。這種錯誤通常會導致應用程序無法正常運行 ,給用戶帶來不便。下面將介紹應用程序中的服務器錯誤及其
    的頭像 發表于 03-12 15:13 ?6519次閱讀

    STM32MP135使用SD卡啟動應用程序應用程序是需要在DDR運行,DDR初始化,已經FSBL鏡像里面嗎?

    使用SD卡啟動應用程序應用程序是需要在DDR運行,DDR初始化,已經FSBL鏡像里面嘛 求大佬指點
    發表于 03-11 08:31

    3562-Qt工程編譯說明

    本文檔主要說明如何將已有 Qt 工程進行編譯,生成可在評估板正常運行的 ARM 端 Qt 程序鏡像。
    的頭像 發表于 03-05 09:19 ?527次閱讀
    3562-<b class='flag-5'>Qt</b>工程編譯說明

    FPGA為FPGA設計PCB的步驟詳解

    FPGA(Zynq? UltraScale+? MPSoC) 的 Ubuntu 22.04 桌面映像安裝了各種 EE 設計應用程序
    的頭像 發表于 02-26 09:04 ?2065次閱讀
    <b class='flag-5'>在</b>FPGA<b class='flag-5'>上</b>為FPGA設計PCB的步驟詳解
    大发888赢钱技巧| 百家乐决战推筒子| 优惠搏百家乐官网的玩法技巧和规则 | 网上百家乐官网游戏哪家信誉度最好| 金都百家乐官网的玩法技巧和规则| 天博百家乐官网的玩法技巧和规则 | 大发888游戏官方| 大发888游戏官方| 盈丰| 网络百家乐官网娱乐| 百家乐官网视频双扣下载| 百家乐官网西园出售| A8百家乐官网赌场娱乐网规则 | 新思维百家乐投注法| 网上百家乐赌博出| 太阳城娱乐场| 皇冠现金投注网| 亳州市| 破解百家乐官网游戏机| 8运24山风水图解| 鑫鼎百家乐娱乐城| 二八杠游戏机| 香港六合彩官方网| 百家乐官网投注平台信誉排行| 百家乐官网群到shozo网| 百家乐过两关| 大发888-娱乐平台| 百家乐官网波浪法则| 电子百家乐官网作假| 宝格丽百家乐娱乐城| 威尼斯人娱乐城不打烊| 乐博娱乐城| 百家乐官网水浒传| 百家乐最低投注| 大发888娱乐真钱游戏 下载| 潢川县| 太阳百家乐官网代理| 粤港澳百家乐赌场娱乐网规则| 六合彩开奖现场| 百家乐官网赌场赌场平台| 百家乐赌博网址|