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. Qt on Raspberry pi3
QtWS25 Last Chance

Qt on Raspberry pi3

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
qt5.11raspberry pi 3xcbxcb opengl
20 Posts 7 Posters 10.8k Views
  • 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.
  • C Offline
    C Offline
    chek
    wrote on last edited by
    #9

    I'm also having issues cross compiling qt 5.11.0 for rpi3, has this been solved?

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

      Well, compilation works for 5.10, 5.9 - they simply compile and work. With Qt 5.11.1, I've just tried and there seems to be a bug in QGeoMap.

      If you want to try with 5.10:
      You have to set up your toolchain and sysroot correctly, though. Follow the guide https://wiki.qt.io/RaspberryPi2EGLFS and you should be fine.

      Remember to get all the dependencies and to run the symlink fix afterwards. You may throw in some extra libs just to be sure:

      sudo apt build-dep qt5-default qt5-qmake
      sudo apt install libiconv-hook-dev libinput-dev libts-dev bluez libbluetooth-dev libgstreamer1.0-dev libegl1-mesa
      
      # Optionally if it somehow still does not work:
      sudo apt install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libatspi2.0-dev libdbus-1-dev
      

      And turn on OpenGL driver in raspi-config,

      Here is my compilation script, if it helps:

      export QTVER=5101
      wget https://download.qt.io/official_releases/qt/5.10/5.10.1/single/qt-everywhere-src-5.10.1.tar.xz
      tar -xaf qt-everywhere-src-5.10.1.tar.xz
      mv qt-everywhere-src-5.10.1 $QTVER-src
      cd $QTVER-build
      
      ../$QTVER-src/configure -release -opengl es2 -device linux-rasp-pi3-vc4-g++ \
      -device-option CROSS_COMPILE=/path/to/toolchain/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- -sysroot /path/to/sysroot \
      -opensource -confirm-license -make libs -no-use-gold-linker \
      -prefix /home/pi/qt/$QTVER -extprefix /path/to/qt-pi/$QTVER \
      -hostprefix /path/to/$QTVER-qmake \
      -skip qtserialbus -skip qtscxml -skip qtscript -skip qtcharts -skip qt3d \
      -skip qtdatavis3d -skip qtcanvas3d -skip qtgamepad -skip qtvirtualkeyboard \
      -skip qtwayland -skip qtwebengine -skip qtwebchannel -skip qtwebglplugin \
      -skip qtwebsockets
      
      make -j 8
      
      make install
      

      (Z(:^

      C R 2 Replies Last reply
      2
      • sierdzioS sierdzio

        Well, compilation works for 5.10, 5.9 - they simply compile and work. With Qt 5.11.1, I've just tried and there seems to be a bug in QGeoMap.

        If you want to try with 5.10:
        You have to set up your toolchain and sysroot correctly, though. Follow the guide https://wiki.qt.io/RaspberryPi2EGLFS and you should be fine.

        Remember to get all the dependencies and to run the symlink fix afterwards. You may throw in some extra libs just to be sure:

        sudo apt build-dep qt5-default qt5-qmake
        sudo apt install libiconv-hook-dev libinput-dev libts-dev bluez libbluetooth-dev libgstreamer1.0-dev libegl1-mesa
        
        # Optionally if it somehow still does not work:
        sudo apt install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libatspi2.0-dev libdbus-1-dev
        

        And turn on OpenGL driver in raspi-config,

        Here is my compilation script, if it helps:

        export QTVER=5101
        wget https://download.qt.io/official_releases/qt/5.10/5.10.1/single/qt-everywhere-src-5.10.1.tar.xz
        tar -xaf qt-everywhere-src-5.10.1.tar.xz
        mv qt-everywhere-src-5.10.1 $QTVER-src
        cd $QTVER-build
        
        ../$QTVER-src/configure -release -opengl es2 -device linux-rasp-pi3-vc4-g++ \
        -device-option CROSS_COMPILE=/path/to/toolchain/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- -sysroot /path/to/sysroot \
        -opensource -confirm-license -make libs -no-use-gold-linker \
        -prefix /home/pi/qt/$QTVER -extprefix /path/to/qt-pi/$QTVER \
        -hostprefix /path/to/$QTVER-qmake \
        -skip qtserialbus -skip qtscxml -skip qtscript -skip qtcharts -skip qt3d \
        -skip qtdatavis3d -skip qtcanvas3d -skip qtgamepad -skip qtvirtualkeyboard \
        -skip qtwayland -skip qtwebengine -skip qtwebchannel -skip qtwebglplugin \
        -skip qtwebsockets
        
        make -j 8
        
        make install
        
        C Offline
        C Offline
        chek
        wrote on last edited by
        #11

        @sierdzio
        Thank you so much for the reply, I think i'm also seeing the issue with qgeomap when doing 'make install' for 5.11.0. I'm trying to build qgroundcontrol for the raspberry and apparently it needs 5.11.0.
        Do you know a solution for the qgeomap bug?

        sierdzioS 1 Reply Last reply
        0
        • C chek

          @sierdzio
          Thank you so much for the reply, I think i'm also seeing the issue with qgeomap when doing 'make install' for 5.11.0. I'm trying to build qgroundcontrol for the raspberry and apparently it needs 5.11.0.
          Do you know a solution for the qgeomap bug?

          sierdzioS Offline
          sierdzioS Offline
          sierdzio
          Moderators
          wrote on last edited by
          #12

          @chek said in Qt on Raspberry pi3:

          @sierdzio
          [...]
          Do you know a solution for the qgeomap bug?

          Not yet, but I will check it out.

          I don't see it reported on Qt bugtracker yet.

          (Z(:^

          1 Reply Last reply
          1
          • C Offline
            C Offline
            chek
            wrote on last edited by
            #13

            Hi, I've compiled 5.10.1 for the pi and it works, but when I try to open the qt-project qt-creator complains about my compiler: Unsuported Linux toolchain, only GCC 32- or 64-bit is supported.
            I'm using "gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf"
            Do you know what this could be?

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

              Have you added the linaro compiler in Qt Creator's settings?

              (Z(:^

              1 Reply Last reply
              0
              • C Offline
                C Offline
                chek
                wrote on last edited by
                #15

                Yes,I've created a rpi kit, where I've added a gcc compiler for C and C++ which points to the linaro compiler I used when compiled the qt sources

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

                  Hm so it should work. Please check if the kit really points to your cross-compiled Qt. I've made a mistake of not checking that many times already :D And Qt Creator seems to auto-set the Qt version wrongly sometimes.

                  (Z(:^

                  1 Reply Last reply
                  2
                  • sierdzioS sierdzio

                    Well, compilation works for 5.10, 5.9 - they simply compile and work. With Qt 5.11.1, I've just tried and there seems to be a bug in QGeoMap.

                    If you want to try with 5.10:
                    You have to set up your toolchain and sysroot correctly, though. Follow the guide https://wiki.qt.io/RaspberryPi2EGLFS and you should be fine.

                    Remember to get all the dependencies and to run the symlink fix afterwards. You may throw in some extra libs just to be sure:

                    sudo apt build-dep qt5-default qt5-qmake
                    sudo apt install libiconv-hook-dev libinput-dev libts-dev bluez libbluetooth-dev libgstreamer1.0-dev libegl1-mesa
                    
                    # Optionally if it somehow still does not work:
                    sudo apt install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libatspi2.0-dev libdbus-1-dev
                    

                    And turn on OpenGL driver in raspi-config,

                    Here is my compilation script, if it helps:

                    export QTVER=5101
                    wget https://download.qt.io/official_releases/qt/5.10/5.10.1/single/qt-everywhere-src-5.10.1.tar.xz
                    tar -xaf qt-everywhere-src-5.10.1.tar.xz
                    mv qt-everywhere-src-5.10.1 $QTVER-src
                    cd $QTVER-build
                    
                    ../$QTVER-src/configure -release -opengl es2 -device linux-rasp-pi3-vc4-g++ \
                    -device-option CROSS_COMPILE=/path/to/toolchain/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- -sysroot /path/to/sysroot \
                    -opensource -confirm-license -make libs -no-use-gold-linker \
                    -prefix /home/pi/qt/$QTVER -extprefix /path/to/qt-pi/$QTVER \
                    -hostprefix /path/to/$QTVER-qmake \
                    -skip qtserialbus -skip qtscxml -skip qtscript -skip qtcharts -skip qt3d \
                    -skip qtdatavis3d -skip qtcanvas3d -skip qtgamepad -skip qtvirtualkeyboard \
                    -skip qtwayland -skip qtwebengine -skip qtwebchannel -skip qtwebglplugin \
                    -skip qtwebsockets
                    
                    make -j 8
                    
                    make install
                    
                    R Offline
                    R Offline
                    ronpetit
                    wrote on last edited by
                    #17

                    @sierdzio I successfully compile Qt 5.10.1 on my raspberry pi 3 using the device "linux-rasp-pi3-vc4-g++", however, after activating the OPENGL driver on raspi-cofnig, when running the qopenglwidget example, it shows the error "Failed to create service, already in use?", I checked on the internet and everybody suggest to disable the vc4 drivers to get rid of the error, however, if I do that the eglfs will complain that it cannot find any GBM, and indeed, I compile it to use those drivers, any idea how can I fix that?

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

                      Do you have X server running (Raspbian GUI) when you launch the example? If so, don't. Start the app directly from command line, without the X server. Not sure if it will help, but maybe.

                      I have not encountered that error myself.

                      (Z(:^

                      R 1 Reply Last reply
                      0
                      • sierdzioS sierdzio

                        Do you have X server running (Raspbian GUI) when you launch the example? If so, don't. Start the app directly from command line, without the X server. Not sure if it will help, but maybe.

                        I have not encountered that error myself.

                        R Offline
                        R Offline
                        ronpetit
                        wrote on last edited by
                        #19

                        @sierdzio I'm running it without X server, as I should

                        Now, I'm curious about this, what libs are you using for glesv2 and egl?, I'm using the ones in /opt/vc/lib folder, and I also cross compiled the Qt with those

                        sierdzioS 1 Reply Last reply
                        0
                        • R ronpetit

                          @sierdzio I'm running it without X server, as I should

                          Now, I'm curious about this, what libs are you using for glesv2 and egl?, I'm using the ones in /opt/vc/lib folder, and I also cross compiled the Qt with those

                          sierdzioS Offline
                          sierdzioS Offline
                          sierdzio
                          Moderators
                          wrote on last edited by
                          #20

                          @ronpetit said in Qt on Raspberry pi3:

                          @sierdzio I'm running it without X server, as I should

                          Now, I'm curious about this, what libs are you using for glesv2 and egl?, I'm using the ones in /opt/vc/lib folder, and I also cross compiled the Qt with those

                          Oh I don't remember to be honest. I think I didn't change anything from stock settings. I also didn't specify the OpenGL libs manually anywhere when building Qt or apps.

                          (Z(:^

                          1 Reply Last reply
                          1

                          • Login

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