衡阳派盒市场营销有限公司

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

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

3天內不再提示

在MPSoC上運行QT應用程序

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2022-02-08 14:34 ? 次閱讀

作者:付漢杰,文章轉載自:賽靈思中文社區論壇

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。

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

MALI_BACKEND_DEFAULT = "wayland"

也可以在Linux運行的時侯,執行下列命令,使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

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_CONFI

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

4. 參考文章
Xilinx Arm Mali-400 Driver

審核編輯:何安

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

    關注

    0

    文章

    199

    瀏覽量

    24322
收藏 人收藏

    評論

    相關推薦

    基于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>應用說明

    【龍芯2K0300蜂鳥板試用】+6.QT體驗

    應用程序,但這并不是 Qt 的全部;Qt 除了可以繪制漂亮的界面(包括控件、布局、交互),還包含很多其它功能,比如多線程、訪問數據庫、圖像處理、音頻視頻處理、網絡通信、文件操作等,這些 Qt
    發表于 08-21 22:20

    可以單個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 ?1890次閱讀
    <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的步驟詳解
    真人百家乐官网园| 百家乐永利娱乐场开户注册| 百家乐娱乐城足球盘网| 六合彩图| 百家乐官网园搏彩论坛| 百家乐qq游戏| 百家乐官网投注最好方法| 大发888娱乐城大发888大发网| 百家乐官网7scs娱乐场| 威尼斯人娱乐老牌网站| 百家乐官网翻牌规则| 足球投注网| 做生意的好风水| 仁寿县| 大杀器百家乐学院| 鼎龙百家乐官网的玩法技巧和规则 | 澳门百家乐官网园游戏| 17pk棋牌游戏| 百家乐路纸表格| 百家乐官网磁力录| 不夜城百家乐的玩法技巧和规则 | 皇冠在线赌场| 百家乐平台在线| 百家乐官网看大路| 利记娱乐场| 958棋牌游戏| 东方太阳城招聘| 百家乐游戏的玩法| 视频百家乐官网破解| 合江县| 海立方娱乐城| 梦幻城百家乐的玩法技巧和规则 | 汝城县| 利博亚洲| 九州娱乐城| 六合彩网上下注| 高额德州扑克视频| 百家乐视频游戏界面| 博彩百家乐官网最新优惠 | 吉祥娱乐城| 大发888中文官网|