一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內(nèi)不再提示

在MPSoC上運行QT應用程序

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2022-02-08 14:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:付漢杰,文章轉(zhuǎn)載自:賽靈思中文社區(qū)論壇

1. Xilinx backend

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

2. QT

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

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

EGLFS可以讓QT應用直接運行在EGL和OpenGL ES 2.0上。也就是,可以在沒有窗口管理器(windowing system like X11 or Wayland)的情況下,運行QT軟件。對于有GPU的嵌入式Linux系統(tǒng),建議使用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相關(guān)的軟件。使用命令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運行的時侯,執(zhí)行下列命令,使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環(huán)境設置

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

export QT_QPA_PLATFORM=eglfs export QT_QPA_EGLFS_INTEGRATION=eglfs_kms

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

export QT_QPA_EGLFS_KMS_CONFI

kms.conf的內(nèi)容如下:

{ "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編譯出的文件系統(tǒng),在目錄/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

審核編輯:何安

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

    關(guān)注

    0

    文章

    201

    瀏覽量

    24749
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    全志T536 4核A55 ARM+RISC-V+NPU 17路UART 工業(yè)開發(fā)板—Qt工程編譯說明

    本文主要說明如何將已有Qt工程進行編譯,生成可在評估板正常運行的ARM端Qt程序鏡像。
    的頭像 發(fā)表于 06-09 16:56 ?848次閱讀
    全志T536 4核A55 ARM+RISC-V+NPU 17路UART 工業(yè)開發(fā)板—<b class='flag-5'>Qt</b>工程編譯說明

    如何在2K0300開發(fā)板搭建Qt環(huán)境

    近期迅為售后團隊反饋,許多用戶咨詢:2K0300處理器采用了LA264處理器核,若要在該處理器運行Qt程序,由于架構(gòu)發(fā)生了變化,其使用方法是否仍與ARM平臺保持一致?
    的頭像 發(fā)表于 05-16 14:27 ?183次閱讀
    如何在2K0300開發(fā)板<b class='flag-5'>上</b>搭建<b class='flag-5'>Qt</b>環(huán)境

    基于RK3576開發(fā)板的QT GUI例程

    EASYEAI Orin-Nano開發(fā)板搭載了帶有xfce桌面環(huán)境的Debian系統(tǒng),支持Qt應用程序的開發(fā)和運行。開發(fā)板采用RK3576 CPU,性能強大,可直接在板編譯
    的頭像 發(fā)表于 05-14 10:26 ?766次閱讀
    基于RK3576開發(fā)板的<b class='flag-5'>QT</b> GUI例程

    【技術(shù)案例】Qt 環(huán)境部署 - Ubuntu 篇

    什么是Qt?Qt是一個跨平臺C++圖形用戶界面應用程序開發(fā)框架,可構(gòu)建高性能的桌面、移動及Web應用程序,也可用于開發(fā)非GUI程序,比如控制
    的頭像 發(fā)表于 04-16 17:17 ?540次閱讀
    【技術(shù)案例】<b class='flag-5'>Qt</b> 環(huán)境部署 - Ubuntu 篇

    如何在 樹莓派 編寫和運行 C 語言程序?

    本教程中,我將討論C編程語言是什么,C編程的用途,以及如何在RaspberryPi編寫和運行C程序。本文的目的是為您介紹Raspber
    的頭像 發(fā)表于 03-25 09:28 ?572次閱讀
    如何在 樹莓派 <b class='flag-5'>上</b>編寫和<b class='flag-5'>運行</b> C 語言<b class='flag-5'>程序</b>?

    OpenVINO?中運行應用程序失敗怎么解決?

    嘗試 OpenVINO? 中運行我的推理應用程序失敗,并出現(xiàn)以下錯誤: RuntimeError: Check \'false\' failed at src/core/src/runtime/ov_tensor.cpp:67
    發(fā)表于 03-05 10:29

    是否可以使用OpenVINO?部署管理器部署機器運行Python應用程序

    使用 OpenVINO?部署管理器創(chuàng)建運行時軟件包。 將運行時包轉(zhuǎn)移到部署機器中。 無法確定是否可以部署機器運行 Python
    發(fā)表于 03-05 08:16

    蜂鳥板Openharmony系統(tǒng)跑QT程序

    QT程序放到Openharmony系統(tǒng)跑,可以運行,但是會被覆蓋掉。(用的網(wǎng)盤里面的install,支持QT組件的版本)。
    發(fā)表于 02-26 13:04

    基于QT開發(fā)國產(chǎn)主板終端桌面程序 高效、穩(wěn)定、跨平臺的解決方案

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

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

    電子發(fā)燒友網(wǎng)站提供《EE-239:ADSP-BF533 Blackfin處理器運行閃存程序.pdf》資料免費下載
    發(fā)表于 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環(huán)境,以便在沒有實際物理設備的情況下運行和測試
    的頭像 發(fā)表于 12-05 15:33 ?1217次閱讀

    bootloader和應用程序之間共享FEE塊

    電子發(fā)燒友網(wǎng)站提供《bootloader和應用程序之間共享FEE塊.pdf》資料免費下載
    發(fā)表于 10-10 09:18 ?2次下載
    <b class='flag-5'>在</b>bootloader和<b class='flag-5'>應用程序</b>之間共享FEE塊

    TM4C MCU用FreeRTOS開發(fā)通用應用程序應用說明

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

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

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

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

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