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
Qt 6.11 is out! See what's new in the release blog

QML on Raspberry

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
24 Posts 4 Posters 11.7k 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
    #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