Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. QML on Raspberry
Forum Updated to NodeBB v4.3 + New Features

QML on Raspberry

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
24 Posts 4 Posters 10.3k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Offline
    R Offline
    Raviphulsundar
    wrote on last edited by
    #6

    make command output
    $ make
    ./buildroot-2017.02.2/output/host/usr/bin/arm-buildroot-linux-gnueabihf-g++ -c -pipe -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os --sysroot=./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot -O2 -O3 -std=gnu++0x -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I ./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5 -I ./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5/QtQuick -I ./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5/QtGui -I ./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5/QtQml -I ./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5/QtNetwork -I ./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5/QtCore -I. -I ./buildroot-2017.02.2/output/host/usr/mkspecs/devices/linux-buildroot-g++ -o main.o main.cpp
    ./buildroot-2017.02.2/output/host/usr/bin/rcc -name qml qml.qrc -o qrc_qml.cpp
    ./buildroot-2017.02.2/output/host/usr/bin/arm-buildroot-linux-gnueabihf-g++ -c -pipe -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os --sysroot=./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot -O2 -O3 -std=gnu++0x -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5 -I./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5/QtQuick -I ./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5/QtGui -I./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5/QtQml -I./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5/QtNetwork -I./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5/QtCore -I. -I./buildroot-2017.02.2/output/host/usr/mkspecs/devices/linux-buildroot-g++ -o qrc_qml.o qrc_qml.cpp
    ./buildroot-2017.02.2/output/host/usr/bin/arm-buildroot-linux-gnueabihf-g++ --sysroot=./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot -Wl,-O1 -o Rectangle main.o qrc_qml.o -lQt5Quick -L./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/lib -lQt5Gui -lQt5Qml -lQt5Network -lQt5Core -lrt -ldl -lGLESv2 -lpthread

    R 1 Reply Last reply
    0
    • R Raviphulsundar

      make command output
      $ make
      ./buildroot-2017.02.2/output/host/usr/bin/arm-buildroot-linux-gnueabihf-g++ -c -pipe -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os --sysroot=./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot -O2 -O3 -std=gnu++0x -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I ./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5 -I ./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5/QtQuick -I ./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5/QtGui -I ./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5/QtQml -I ./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5/QtNetwork -I ./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5/QtCore -I. -I ./buildroot-2017.02.2/output/host/usr/mkspecs/devices/linux-buildroot-g++ -o main.o main.cpp
      ./buildroot-2017.02.2/output/host/usr/bin/rcc -name qml qml.qrc -o qrc_qml.cpp
      ./buildroot-2017.02.2/output/host/usr/bin/arm-buildroot-linux-gnueabihf-g++ -c -pipe -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os --sysroot=./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot -O2 -O3 -std=gnu++0x -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5 -I./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5/QtQuick -I ./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5/QtGui -I./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5/QtQml -I./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5/QtNetwork -I./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5/QtCore -I. -I./buildroot-2017.02.2/output/host/usr/mkspecs/devices/linux-buildroot-g++ -o qrc_qml.o qrc_qml.cpp
      ./buildroot-2017.02.2/output/host/usr/bin/arm-buildroot-linux-gnueabihf-g++ --sysroot=./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot -Wl,-O1 -o Rectangle main.o qrc_qml.o -lQt5Quick -L./buildroot-2017.02.2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/lib -lQt5Gui -lQt5Qml -lQt5Network -lQt5Core -lrt -ldl -lGLESv2 -lpthread

      R Offline
      R Offline
      Raviphulsundar
      wrote on last edited by
      #7

      One more error I found through strace command

      "This plugin does not support cre"
      "Failed to create OpenGL context"

      1 Reply Last reply
      0
      • sierdzioS Offline
        sierdzioS Offline
        sierdzio
        Moderators
        wrote on last edited by
        #8

        I don't know this error, sorry. So I am only guessing, but: are you sure you have all dependencies installed, including all OpenGL drivers?

        (Z(:^

        1 Reply Last reply
        0
        • R Offline
          R Offline
          Raviphulsundar
          wrote on last edited by
          #9

          Yes, I've installed all the dependencies.

          What is the meaning of
          could not open DRM device error

          jeremy_kJ 1 Reply Last reply
          0
          • R Raviphulsundar

            Yes, I've installed all the dependencies.

            What is the meaning of
            could not open DRM device error

            jeremy_kJ Offline
            jeremy_kJ Offline
            jeremy_k
            wrote on last edited by
            #10

            @Raviphulsundar This looks like an error reported by the eglfs plugin, but the details aren't clear to me. Can you try running it with the qt.qpa.eglfs.kms logging category enabled?

            ie $ QT_LOGGING_RULES="qt.qpa.eglfs.kms=true" program -platform eglfs

            Asking a question about code? http://eel.is/iso-c++/testcase/

            1 Reply Last reply
            0
            • R Offline
              R Offline
              Raviphulsundar
              wrote on last edited by Raviphulsundar
              #11

              #export QT_LOGGING_RULES=qt.qpa.*=true
              #./Rectangle -platform eglfs
              qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_kms_egldevice","eglfs_kms","eglfs_X11")
              qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_kms","eglfs_kms_egldevice","eglfs_X11")
              qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_kms"
              qt.qpa.egldeviceintegration: Using EGL device integrtion "eglfs_kms"
              qt.qpa.input: udev device discovery for type QFlags(0x10)
              qt.qpa.input: Found matching devices ()
              qt.qpa.eglfs.kms: Found the following video devices ()
              Could not find DRM device!
              Aborted

              1 Reply Last reply
              0
              • jeremy_kJ Offline
                jeremy_kJ Offline
                jeremy_k
                wrote on last edited by
                #12

                It looks like querying libudev for DRM video devices is coming up empty. Is there anything in the /sys/class/drm/ directory on the target?

                From the Qt platform plugin side, the code of interest is QDeviceDiscoveryUDev::scanConnectedDevices() in qtbase/src/platformsupport/devicediscovery/qdevicediscovery_udev.cpp

                Asking a question about code? http://eel.is/iso-c++/testcase/

                1 Reply Last reply
                1
                • R Offline
                  R Offline
                  Raviphulsundar
                  wrote on last edited by
                  #13

                  $ls /sys/class/drm
                  version
                  $cat /sys/class/drm/version
                  drm 1.1.0 20060810

                  $ls /lib/modules/4.4.43-v7/kernel/drivers/gpu/drm/
                  drm_mipi_dsi.ko panel/ udl/ vc4/

                  $lsmod
                  // No drm module is loaded, However DRM module is selected in Kernel configuration.

                  1 Reply Last reply
                  0
                  • R Offline
                    R Offline
                    Raviphulsundar
                    wrote on last edited by
                    #14

                    Now I've recompiled Kernel with
                    CONFIG_DRM=m
                    instead of
                    CONFIG_DRM=y

                    Now,
                    $ls /sys/class/ <---- no drm directory
                    $ls /lib/modules/4.4.43-v7/kernel/drivers/gpu/drm/
                    drm_kms_helper.ko drm.ko drm_mipi_dsi.ko panel udl vc4

                    $lsmod -------> no drm module loaded
                    #modprobe drm
                    //DRM module loaded

                    And now
                    $ls /sys/class/drm
                    version <----- Only version file

                    $cat /sys/class/drm/version
                    drm 1.1.0 20060810

                    jeremy_kJ 1 Reply Last reply
                    0
                    • R Raviphulsundar

                      Now I've recompiled Kernel with
                      CONFIG_DRM=m
                      instead of
                      CONFIG_DRM=y

                      Now,
                      $ls /sys/class/ <---- no drm directory
                      $ls /lib/modules/4.4.43-v7/kernel/drivers/gpu/drm/
                      drm_kms_helper.ko drm.ko drm_mipi_dsi.ko panel udl vc4

                      $lsmod -------> no drm module loaded
                      #modprobe drm
                      //DRM module loaded

                      And now
                      $ls /sys/class/drm
                      version <----- Only version file

                      $cat /sys/class/drm/version
                      drm 1.1.0 20060810

                      jeremy_kJ Offline
                      jeremy_kJ Offline
                      jeremy_k
                      wrote on last edited by
                      #15

                      @Raviphulsundar I suspect you need to get the Broadcom driver for the GPU. It might already be on the system, waiting to be loaded. Unfortunately I don't know what it is called. Have you checked raspberrypi.org?

                      Asking a question about code? http://eel.is/iso-c++/testcase/

                      R 1 Reply Last reply
                      0
                      • jeremy_kJ jeremy_k

                        @Raviphulsundar I suspect you need to get the Broadcom driver for the GPU. It might already be on the system, waiting to be loaded. Unfortunately I don't know what it is called. Have you checked raspberrypi.org?

                        R Offline
                        R Offline
                        Raviphulsundar
                        wrote on last edited by
                        #16

                        @jeremy_k, I have checked in RaspberryPi forum for this pbm related to DRM. That thread is still unsolved.

                        Regarding Broadcom driver for the GPU, I could not found it in Linux config.

                        One thing I observed is drm module is not loading at boot time.
                        Does it mean that Frame Buffer modules are selected instead of DRM ?

                        jeremy_kJ 1 Reply Last reply
                        0
                        • R Raviphulsundar

                          @jeremy_k, I have checked in RaspberryPi forum for this pbm related to DRM. That thread is still unsolved.

                          Regarding Broadcom driver for the GPU, I could not found it in Linux config.

                          One thing I observed is drm module is not loading at boot time.
                          Does it mean that Frame Buffer modules are selected instead of DRM ?

                          jeremy_kJ Offline
                          jeremy_kJ Offline
                          jeremy_k
                          wrote on last edited by
                          #17

                          Unfortunately I don't have a pi to look at. Does the Raspbian distribution include X or some sort of gui? You can grab a copy of that, boot it, and see which modules are loaded.

                          There's also this article about getting Qt to run with Arch on the pi 3: http://www.chaos-reins.com/2017-01-13-qt-pi3-arch-aarch64/

                          Asking a question about code? http://eel.is/iso-c++/testcase/

                          R 1 Reply Last reply
                          0
                          • jeremy_kJ jeremy_k

                            Unfortunately I don't have a pi to look at. Does the Raspbian distribution include X or some sort of gui? You can grab a copy of that, boot it, and see which modules are loaded.

                            There's also this article about getting Qt to run with Arch on the pi 3: http://www.chaos-reins.com/2017-01-13-qt-pi3-arch-aarch64/

                            R Offline
                            R Offline
                            Raviphulsundar
                            wrote on last edited by
                            #18

                            @jeremy_k ,

                            Initially I was trying with ARM32 installation.

                            Then I tried with ARM64 with BCM2837 dts. But what I observed in Buildroot that,
                            When I select AARCH64 (ARM64), Buildroot don't allow to select Qt Quick Controls.

                            Is there any issue pending with "AMR64 & QtQuick combination". ?

                            jsulmJ 1 Reply Last reply
                            0
                            • R Raviphulsundar

                              @jeremy_k ,

                              Initially I was trying with ARM32 installation.

                              Then I tried with ARM64 with BCM2837 dts. But what I observed in Buildroot that,
                              When I select AARCH64 (ARM64), Buildroot don't allow to select Qt Quick Controls.

                              Is there any issue pending with "AMR64 & QtQuick combination". ?

                              jsulmJ Offline
                              jsulmJ Offline
                              jsulm
                              Lifetime Qt Champion
                              wrote on last edited by
                              #19

                              @Raviphulsundar Do you have ARM64 Qt build?
                              Is your target system running an OS built for ARM64?

                              https://forum.qt.io/topic/113070/qt-code-of-conduct

                              R 1 Reply Last reply
                              0
                              • jsulmJ jsulm

                                @Raviphulsundar Do you have ARM64 Qt build?
                                Is your target system running an OS built for ARM64?

                                R Offline
                                R Offline
                                Raviphulsundar
                                wrote on last edited by
                                #20

                                @jsulm I've OS Built for ARM64 with Qt 5.6 but without Quick controls & QML.

                                jsulmJ 1 Reply Last reply
                                0
                                • R Raviphulsundar

                                  @jsulm I've OS Built for ARM64 with Qt 5.6 but without Quick controls & QML.

                                  jsulmJ Offline
                                  jsulmJ Offline
                                  jsulm
                                  Lifetime Qt Champion
                                  wrote on last edited by
                                  #21

                                  @Raviphulsundar said in QML on Raspberry:

                                  but without Quick controls & QML

                                  Then how did you install Qt? Maybe you just need to install Quick Controls and QML?

                                  https://forum.qt.io/topic/113070/qt-code-of-conduct

                                  R 1 Reply Last reply
                                  0
                                  • jsulmJ jsulm

                                    @Raviphulsundar said in QML on Raspberry:

                                    but without Quick controls & QML

                                    Then how did you install Qt? Maybe you just need to install Quick Controls and QML?

                                    R Offline
                                    R Offline
                                    Raviphulsundar
                                    wrote on last edited by
                                    #22

                                    @jsulm I'm making raspberry pi filesystem image through Buildroot.
                                    In Buildroot I select the application I need along with target processor, linux kernel, etc.

                                    When I select ARM64 architecture, option for selecting QtDeclarative, QtQuick Controls get disable.

                                    But, I've tried with ARM32 architecture with QtDeclarative, QtQuick successfully.

                                    But when I try to run application on EGLFS plastform, I get following error.

                                    #./Rectangle -platform eglfs
                                    qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_kms_egldevice","eglfs_kms","eglfs_X11")
                                    qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_kms","eglfs_kms_egldevice","eglfs_X11")
                                    qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_kms"
                                    qt.qpa.egldeviceintegration: Using EGL device integrtion "eglfs_kms"
                                    qt.qpa.input: udev device discovery for type QFlags(0x10)
                                    qt.qpa.input: Found matching devices ()
                                    qt.qpa.eglfs.kms: Found the following video devices ()
                                    Could not find DRM device!
                                    Aborted

                                    1 Reply Last reply
                                    0
                                    • R Offline
                                      R Offline
                                      Raviphulsundar
                                      wrote on last edited by
                                      #23

                                      I've recreated rootfs & kernel image with all new combination of applications & libraries.

                                      And now with these new setup, I could able to run my QML application.

                                      Thanx all for the help.

                                      1 Reply Last reply
                                      1
                                      • R Offline
                                        R Offline
                                        Raviphulsundar
                                        wrote on last edited by
                                        #24

                                        now when I run example program gallery I get following msg and application run nicely

                                        ./gallery

                                        qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_brcm")
                                        qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_brcm")
                                        qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_brcm"
                                        qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_brcm"
                                        qt.qpa.input: evdevkeyboard: Using device discovery
                                        qt.qpa.input: udev device discovery for type QFlags(0x8)
                                        qt.qpa.input: Found matching devices ("/dev/input/event1")
                                        qt.qpa.input: Adding keyboard at "/dev/input/event1"
                                        qt.qpa.input: Try to create keyboard handler for "/dev/input/event1" ""
                                        qt.qpa.input: Opening keyboard at "/dev/input/event1"
                                        qt.qpa.input: Create keyboard handler with for device "/dev/input/event1"
                                        qt.qpa.input: Unload current keymap and restore built-in
                                        qt.qpa.input: numlock=0 , capslock=0, scrolllock=0
                                        qt.qpa.input: evdevmouse: Using device discovery
                                        qt.qpa.input: udev device discovery for type QFlags(0x1|0x2)
                                        qt.qpa.input: Found matching devices ("/dev/input/event1")
                                        qt.qpa.input: Adding mouse at "/dev/input/event1"
                                        qt.qpa.input: create mouse handler for "/dev/input/event1" ""
                                        qt.qpa.input: evdevtouch: Using device discovery
                                        qt.qpa.input: udev device discovery for type QFlags(0x2|0x4)
                                        qt.qpa.input: Found matching devices ("/dev/input/event0")
                                        qt.qpa.input: evdevtouch: Adding device at "/dev/input/event0"
                                        qt.qpa.input: evdevtouch: Using device /dev/input/event0
                                        qt.qpa.input: evdevtouch: /dev/input/event0: Protocol type B (multi)
                                        qt.qpa.input: evdevtouch: /dev/input/event0: min X: 0 max X: 1024
                                        qt.qpa.input: evdevtouch: /dev/input/event0: min Y: 0 max Y: 600
                                        qt.qpa.input: evdevtouch: /dev/input/event0: min pressure: 0 max pressure: 0
                                        qt.qpa.input: evdevtouch: /dev/input/event0: device name: BYZHYYZHY By ZH851
                                        qt.qpa.input: evdevtouch: Updating QInputDeviceManager device count: 1 touch devices, 0 pending handler(s)

                                        1 Reply Last reply
                                        0

                                        • Login

                                        • Login or register to search.
                                        • First post
                                          Last post
                                        0
                                        • Categories
                                        • Recent
                                        • Tags
                                        • Popular
                                        • Users
                                        • Groups
                                        • Search
                                        • Get Qt Extensions
                                        • Unsolved