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 and Jetson TK1 - Compiler Toolchain Setup Help
Forum Updated to NodeBB v4.3 + New Features

Qt and Jetson TK1 - Compiler Toolchain Setup Help

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
29 Posts 2 Posters 9.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.
  • webzoidW Offline
    webzoidW Offline
    webzoid
    wrote on last edited by
    #19

    Somewhat more successful now.

    I've been following the following instructions:

    http://blog.qt.io/blog/2016/11/10/qt-nvidia-jetson-tx1-device-creation-style/

    And have now successfully compiled and deployed qt5 onto my target and also set up qt creator to target the TK1. I ran into an issue whereby the target was complaining about the following:

    /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version 'CXXABI_1.3.9' not found
    

    but updating GCC/G++ on the target fixed this.

    The final hurdle I need to get over is that when trying to launch my qt application (having been deployed from qt creator), I now get the following error and the application fails to launch:

    QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
    qt.qpa.egldeviceintegration: Failed to load EGL device integration "eglfs_kms_egldevice"
    EGL library doesn't support Emulator extensions
    
    webzoidW 1 Reply Last reply
    0
    • webzoidW webzoid

      Somewhat more successful now.

      I've been following the following instructions:

      http://blog.qt.io/blog/2016/11/10/qt-nvidia-jetson-tx1-device-creation-style/

      And have now successfully compiled and deployed qt5 onto my target and also set up qt creator to target the TK1. I ran into an issue whereby the target was complaining about the following:

      /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version 'CXXABI_1.3.9' not found
      

      but updating GCC/G++ on the target fixed this.

      The final hurdle I need to get over is that when trying to launch my qt application (having been deployed from qt creator), I now get the following error and the application fails to launch:

      QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
      qt.qpa.egldeviceintegration: Failed to load EGL device integration "eglfs_kms_egldevice"
      EGL library doesn't support Emulator extensions
      
      webzoidW Offline
      webzoidW Offline
      webzoid
      wrote on last edited by
      #20

      Looking at the output from the ./configure script, it looks as though the EGL Device is not enabled...

      Configure summary:
      
      Building on: linux-g++ (x86_64, CPU features: mmx sse sse2)
      Building for: devices/linux-jetson-tk1-g++ (arm, CPU features: neon)
      Configuration: cross_compile use_gold_linker compile_examples enable_new_dtags largefile neon precompile_header shared rpath release c++11 c++14 c++1z concurrent dbus mremap reduce_exports stl
      Build options:
        Mode ................................... release
        Optimize release build for size ........ no
        Building shared libraries .............. yes
        Using C++ standard ..................... C++1z
        Using gold linker ...................... yes
        Using new DTAGS ........................ yes
        Using precompiled headers .............. yes
        Using LTCG ............................. no
        Target compiler supports:
          NEON ................................. yes
        Build parts ............................ libs
      Qt modules and options:
        Qt Concurrent .......................... yes
        Qt D-Bus ............................... yes
        Qt D-Bus directly linked to libdbus .... no
        Qt Gui ................................. yes
        Qt Network ............................. yes
        Qt Sql ................................. yes
        Qt Testlib ............................. yes
        Qt Widgets ............................. yes
        Qt Xml ................................. yes
      Support enabled for:
        Using pkg-config ....................... yes
        QML debugging .......................... yes
        udev ................................... yes
        Using system zlib ...................... yes
      Qt Core:
        DoubleConversion ....................... yes
          Using system DoubleConversion ........ no
        GLib ................................... no
        iconv .................................. yes
        ICU .................................... no
        Logging backends:
          journald ............................. no
          syslog ............................... no
          slog2 ................................ no
        Using system PCRE2 ..................... no
      Qt Network:
        getaddrinfo() .......................... yes
        getifaddrs() ........................... yes
        IPv6 ifname ............................ yes
        libproxy ............................... no
        OpenSSL ................................ no
          Qt directly linked to OpenSSL ........ no
        SCTP ................................... no
        Use system proxies ..................... yes
      Qt Gui:
        Accessibility .......................... yes
        FreeType ............................... yes
          Using system FreeType ................ yes
        HarfBuzz ............................... yes
          Using system HarfBuzz ................ no
        Fontconfig ............................. yes
        Image formats:
          GIF .................................. yes
          ICO .................................. yes
          JPEG ................................. yes
            Using system libjpeg ............... no
          PNG .................................. yes
            Using system libpng ................ yes
        EGL .................................... yes
        OpenVG ................................. no
        OpenGL:
          Desktop OpenGL ....................... no
          OpenGL ES 2.0 ........................ yes
          OpenGL ES 3.0 ........................ yes
          OpenGL ES 3.1 ........................ no
        Session Management ..................... yes
      Features used by QPA backends:
        evdev .................................. yes
        libinput ............................... no
        INTEGRITY HID .......................... no
        mtdev .................................. no
        tslib .................................. no
        xkbcommon-evdev ........................ no
      QPA backends:
        DirectFB ............................... no
        EGLFS .................................. yes
        EGLFS details:
          EGLFS i.Mx6 .......................... no
          EGLFS i.Mx6 Wayland .................. no
          EGLFS EGLDevice ...................... no
          EGLFS GBM ............................ no
          EGLFS Mali ........................... no
          EGLFS Raspberry Pi ................... no
          EGL on X11 ........................... no
        LinuxFB ................................ yes
        VNC .................................... yes
        Mir client ............................. no
        X11:
          Using system-provided XCB libraries .. yes
          EGL on X11 ........................... no
          Xinput2 .............................. yes
          XCB XKB .............................. yes
          XLib ................................. yes
          XCB render ........................... yes
          XCB GLX .............................. yes
          XCB Xlib ............................. no
          Using system-provided xkbcommon ...... no
      Qt Widgets:
        GTK+ ................................... no
        Styles ................................. Fusion Windows
      Qt PrintSupport:
        CUPS ................................... no
      Qt Sql:
        DB2 (IBM) .............................. no
        InterBase .............................. no
        MySql .................................. no
        OCI (Oracle) ........................... no
        ODBC ................................... no
        PostgreSQL ............................. no
        SQLite2 ................................ no
        SQLite ................................. yes
          Using system provided SQLite ......... no
        TDS (Sybase) ........................... no
      
      Note: Also available for Linux: linux-clang linux-icc
      
      Note: Disabling Linux Accessibility Bridge: D-Bus is missing.
      
      Qt is now configured for building. Just run 'make'.
      Once everything is built, you must run 'make install'.
      Qt will be installed into '/home/blueprint/Desktop/TK1/qt5'.
      
      Prior to reconfiguration, make sure you remove any leftovers from
      the previous build.
      
      jsulmJ 1 Reply Last reply
      0
      • webzoidW webzoid

        Looking at the output from the ./configure script, it looks as though the EGL Device is not enabled...

        Configure summary:
        
        Building on: linux-g++ (x86_64, CPU features: mmx sse sse2)
        Building for: devices/linux-jetson-tk1-g++ (arm, CPU features: neon)
        Configuration: cross_compile use_gold_linker compile_examples enable_new_dtags largefile neon precompile_header shared rpath release c++11 c++14 c++1z concurrent dbus mremap reduce_exports stl
        Build options:
          Mode ................................... release
          Optimize release build for size ........ no
          Building shared libraries .............. yes
          Using C++ standard ..................... C++1z
          Using gold linker ...................... yes
          Using new DTAGS ........................ yes
          Using precompiled headers .............. yes
          Using LTCG ............................. no
          Target compiler supports:
            NEON ................................. yes
          Build parts ............................ libs
        Qt modules and options:
          Qt Concurrent .......................... yes
          Qt D-Bus ............................... yes
          Qt D-Bus directly linked to libdbus .... no
          Qt Gui ................................. yes
          Qt Network ............................. yes
          Qt Sql ................................. yes
          Qt Testlib ............................. yes
          Qt Widgets ............................. yes
          Qt Xml ................................. yes
        Support enabled for:
          Using pkg-config ....................... yes
          QML debugging .......................... yes
          udev ................................... yes
          Using system zlib ...................... yes
        Qt Core:
          DoubleConversion ....................... yes
            Using system DoubleConversion ........ no
          GLib ................................... no
          iconv .................................. yes
          ICU .................................... no
          Logging backends:
            journald ............................. no
            syslog ............................... no
            slog2 ................................ no
          Using system PCRE2 ..................... no
        Qt Network:
          getaddrinfo() .......................... yes
          getifaddrs() ........................... yes
          IPv6 ifname ............................ yes
          libproxy ............................... no
          OpenSSL ................................ no
            Qt directly linked to OpenSSL ........ no
          SCTP ................................... no
          Use system proxies ..................... yes
        Qt Gui:
          Accessibility .......................... yes
          FreeType ............................... yes
            Using system FreeType ................ yes
          HarfBuzz ............................... yes
            Using system HarfBuzz ................ no
          Fontconfig ............................. yes
          Image formats:
            GIF .................................. yes
            ICO .................................. yes
            JPEG ................................. yes
              Using system libjpeg ............... no
            PNG .................................. yes
              Using system libpng ................ yes
          EGL .................................... yes
          OpenVG ................................. no
          OpenGL:
            Desktop OpenGL ....................... no
            OpenGL ES 2.0 ........................ yes
            OpenGL ES 3.0 ........................ yes
            OpenGL ES 3.1 ........................ no
          Session Management ..................... yes
        Features used by QPA backends:
          evdev .................................. yes
          libinput ............................... no
          INTEGRITY HID .......................... no
          mtdev .................................. no
          tslib .................................. no
          xkbcommon-evdev ........................ no
        QPA backends:
          DirectFB ............................... no
          EGLFS .................................. yes
          EGLFS details:
            EGLFS i.Mx6 .......................... no
            EGLFS i.Mx6 Wayland .................. no
            EGLFS EGLDevice ...................... no
            EGLFS GBM ............................ no
            EGLFS Mali ........................... no
            EGLFS Raspberry Pi ................... no
            EGL on X11 ........................... no
          LinuxFB ................................ yes
          VNC .................................... yes
          Mir client ............................. no
          X11:
            Using system-provided XCB libraries .. yes
            EGL on X11 ........................... no
            Xinput2 .............................. yes
            XCB XKB .............................. yes
            XLib ................................. yes
            XCB render ........................... yes
            XCB GLX .............................. yes
            XCB Xlib ............................. no
            Using system-provided xkbcommon ...... no
        Qt Widgets:
          GTK+ ................................... no
          Styles ................................. Fusion Windows
        Qt PrintSupport:
          CUPS ................................... no
        Qt Sql:
          DB2 (IBM) .............................. no
          InterBase .............................. no
          MySql .................................. no
          OCI (Oracle) ........................... no
          ODBC ................................... no
          PostgreSQL ............................. no
          SQLite2 ................................ no
          SQLite ................................. yes
            Using system provided SQLite ......... no
          TDS (Sybase) ........................... no
        
        Note: Also available for Linux: linux-clang linux-icc
        
        Note: Disabling Linux Accessibility Bridge: D-Bus is missing.
        
        Qt is now configured for building. Just run 'make'.
        Once everything is built, you must run 'make install'.
        Qt will be installed into '/home/blueprint/Desktop/TK1/qt5'.
        
        Prior to reconfiguration, make sure you remove any leftovers from
        the previous build.
        
        jsulmJ Offline
        jsulmJ Offline
        jsulm
        Lifetime Qt Champion
        wrote on last edited by
        #21

        @webzoid Add -v parameter to your configure call then you will see what exactly is missing.

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

        webzoidW 1 Reply Last reply
        0
        • jsulmJ jsulm

          @webzoid Add -v parameter to your configure call then you will see what exactly is missing.

          webzoidW Offline
          webzoidW Offline
          webzoid
          wrote on last edited by
          #22

          @jsulm The -v parameter is already present, I added that from the beginning. It's not showing anything obvious or maybe I've mis-read the information. I'm trying it again now.

          If I run a Qt application with the "-platform xcb" arguments, the application runs. If I add a QOpenGLWidget onto the form, the application fails with a:

          QXcbIntegration: Cannot create platform OpenGL context, neither GLX or EGL are enabled.
          

          Which would definitely make sense based on the build options from the ./configure script

          jsulmJ 1 Reply Last reply
          0
          • webzoidW webzoid

            @jsulm The -v parameter is already present, I added that from the beginning. It's not showing anything obvious or maybe I've mis-read the information. I'm trying it again now.

            If I run a Qt application with the "-platform xcb" arguments, the application runs. If I add a QOpenGLWidget onto the form, the application fails with a:

            QXcbIntegration: Cannot create platform OpenGL context, neither GLX or EGL are enabled.
            

            Which would definitely make sense based on the build options from the ./configure script

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

            @webzoid There should be something - Qt is trying to build small code snippets to find out whether something is available or not.

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

            webzoidW 1 Reply Last reply
            0
            • jsulmJ jsulm

              @webzoid There should be something - Qt is trying to build small code snippets to find out whether something is available or not.

              webzoidW Offline
              webzoidW Offline
              webzoid
              wrote on last edited by webzoid
              #24

              @jsulm I've attached the full output from the ./configure script to this email as it was too long to post on here: output.log

              I've not managed to spot anything obvious in here.

              Update I've since realised that the "-v" parameter was in the wrong place and I wasn't seeing a lot of the verbose output. I've since re-uploaded the ./configure output file.

              jsulmJ 1 Reply Last reply
              0
              • webzoidW webzoid

                @jsulm I've attached the full output from the ./configure script to this email as it was too long to post on here: output.log

                I've not managed to spot anything obvious in here.

                Update I've since realised that the "-v" parameter was in the wrong place and I wasn't seeing a lot of the verbose output. I've since re-uploaded the ./configure output file.

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

                @webzoid

                > eglfs-egldevice.cpp: In function ‘int main(int, char**)’:
                > eglfs-egldevice.cpp:45:5: error: ‘EGLDeviceEXT’ was not declared in this scope
                >      EGLDeviceEXT device = 0;
                >      ^
                > eglfs-egldevice.cpp:47:5: error: ‘EGLOutputLayerEXT’ was not declared in this scope
                >      EGLOutputLayerEXT layer = 0;
                >      ^
                > eglfs-egldevice.cpp:48:12: error: ‘EGL_DRM_CRTC_EXT’ was not declared in this scope
                >      return EGL_DRM_CRTC_EXT;
                >             ^
                > eglfs-egldevice.cpp:46:18: warning: unused variable ‘stream’ [-Wunused-variable]
                >      EGLStreamKHR stream = 0;
                >                   ^
                > Makefile:467: recipe for target 'eglfs-egldevice.o' failed
                

                My guess is your EGL version is too old.

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

                webzoidW 1 Reply Last reply
                0
                • jsulmJ jsulm

                  @webzoid

                  > eglfs-egldevice.cpp: In function ‘int main(int, char**)’:
                  > eglfs-egldevice.cpp:45:5: error: ‘EGLDeviceEXT’ was not declared in this scope
                  >      EGLDeviceEXT device = 0;
                  >      ^
                  > eglfs-egldevice.cpp:47:5: error: ‘EGLOutputLayerEXT’ was not declared in this scope
                  >      EGLOutputLayerEXT layer = 0;
                  >      ^
                  > eglfs-egldevice.cpp:48:12: error: ‘EGL_DRM_CRTC_EXT’ was not declared in this scope
                  >      return EGL_DRM_CRTC_EXT;
                  >             ^
                  > eglfs-egldevice.cpp:46:18: warning: unused variable ‘stream’ [-Wunused-variable]
                  >      EGLStreamKHR stream = 0;
                  >                   ^
                  > Makefile:467: recipe for target 'eglfs-egldevice.o' failed
                  

                  My guess is your EGL version is too old.

                  webzoidW Offline
                  webzoidW Offline
                  webzoid
                  wrote on last edited by webzoid
                  #26

                  @jsulm Spotted those now too - sorry, the original file I looked through wasn't giving the true verbose output. Thank you for highlighting these.

                  Prior to starting the Qt cross-compilation, I downloaded (not installed) the libgles2-mesa-dev and libegl1-mesa-dev packages to my TK1 target and then extracted the relevant header files to the /usr/include directory. I then rsync'd this back up to my rootfs on the host.

                  I think as you say, the EGL version could be out of date.

                  Could this mean that I have to take a few steps back in Qt, rather than using 5.9, maybe head back to 5.5 or similar?

                  jsulmJ 1 Reply Last reply
                  0
                  • webzoidW webzoid

                    @jsulm Spotted those now too - sorry, the original file I looked through wasn't giving the true verbose output. Thank you for highlighting these.

                    Prior to starting the Qt cross-compilation, I downloaded (not installed) the libgles2-mesa-dev and libegl1-mesa-dev packages to my TK1 target and then extracted the relevant header files to the /usr/include directory. I then rsync'd this back up to my rootfs on the host.

                    I think as you say, the EGL version could be out of date.

                    Could this mean that I have to take a few steps back in Qt, rather than using 5.9, maybe head back to 5.5 or similar?

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

                    @webzoid That I don't know. But you can try with an older Qt version.

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

                    webzoidW 1 Reply Last reply
                    1
                    • jsulmJ jsulm

                      @webzoid That I don't know. But you can try with an older Qt version.

                      webzoidW Offline
                      webzoidW Offline
                      webzoid
                      wrote on last edited by webzoid
                      #28

                      @jsulm I'm possibly going round in circles now.

                      There appeared to be no newer version of EGL to download for the TK1 however I did notice a number of other packages related to EGL:

                      sudo apt-cache search libegl

                      libegl1-mesa - free implementation of the EGL API -- runtime
                      libegl1-mesa-dbg - free implementation of the EGL API -- debugging symbols
                      libegl1-mesa-dev - free implementation of the EGL API -- development files
                      libegl1-mesa-drivers - free implementation of the EGL API -- hardware drivers
                      libegl1-mesa-drivers-dbg - free implementation of the EGL API -- driver debugging symbols
                      libegl1-mesa-dev-lts-utopic - free implementation of the EGL API -- development files
                      libegl1-mesa-dev-lts-vivid - free implementation of the EGL API -- development files
                      libegl1-mesa-dev-lts-wily - free implementation of the EGL API -- development files
                      libegl1-mesa-dev-lts-xenial - free implementation of the EGL API -- development files
                      libegl1-mesa-drivers-lts-utopic - free implementation of the EGL API -- hardware drivers
                      libegl1-mesa-drivers-lts-utopic-dbg - free implementation of the EGL API -- driver debugging symbols
                      libegl1-mesa-lts-utopic - free implementation of the EGL API -- runtime
                      libegl1-mesa-lts-utopic-dbg - free implementation of the EGL API -- debugging symbols
                      libegl1-mesa-lts-vivid - free implementation of the EGL API -- runtime
                      libegl1-mesa-lts-vivid-dbg - free implementation of the EGL API -- debugging symbols
                      libegl1-mesa-lts-wily - free implementation of the EGL API -- runtime
                      libegl1-mesa-lts-wily-dbg - free implementation of the EGL API -- debugging symbols
                      libegl1-mesa-lts-xenial - free implementation of the EGL API -- runtime
                      

                      What with the TK1 running Ubuntu 14.04, none of the additional packages seemed relevant but I decided to download one of the xenial packages to see if there was anything EGLDeviceEXT related in the header files. As it turns out, the xenial package does indeed contain an eglext.h file containing such a definition.

                      So, I copied the headers to the /usr/include of the TK1 and then rsync'd them back up to the host. After re-running ./configure (again, with less verbose output, even though the -v is present from before) and pushing the Qt build down to the TK1, I still have the same ultimate outcome when trying to run the application:

                      Failed to load EGL device integration "eglfs_kms_egldevice"
                      EGL library doesn't support Emulator extensions
                      Aborted
                      

                      If I then run with -platform xcb arguments, all runs fine.

                      Looking at the following article, the "ideal setup" shows that EGL, OpenGL ES 2.0, 3.0 and 3.1 are set to "yes" as well as EGLFS and EGLFS EGLDevice. On my TK1, I have EGL, OpenGL 2.0, 3.0 but NOT 3.1, EGLFS is set to "yes" but EGLFS EGLDevice is set to "no".

                      http://blog.qt.io/blog/2016/11/10/qt-nvidia-jetson-tx1-device-creation-style/

                      If I then try to add a QOpenGLWidget while keeping the -platform xcb arguments, it doesn't work at all - resulting in the same QXcbIntegration: Cannot create platform OpenGL context, neither GLX or EGL are enabled.

                      In a word, aaaaaarrrrgggghhhh

                      I've attempted to cross-compile older versions of Qt (from 5.6 upwards - older versions have no mkspec for the TK1) but the problems are the same

                      webzoidW 1 Reply Last reply
                      0
                      • webzoidW webzoid

                        @jsulm I'm possibly going round in circles now.

                        There appeared to be no newer version of EGL to download for the TK1 however I did notice a number of other packages related to EGL:

                        sudo apt-cache search libegl

                        libegl1-mesa - free implementation of the EGL API -- runtime
                        libegl1-mesa-dbg - free implementation of the EGL API -- debugging symbols
                        libegl1-mesa-dev - free implementation of the EGL API -- development files
                        libegl1-mesa-drivers - free implementation of the EGL API -- hardware drivers
                        libegl1-mesa-drivers-dbg - free implementation of the EGL API -- driver debugging symbols
                        libegl1-mesa-dev-lts-utopic - free implementation of the EGL API -- development files
                        libegl1-mesa-dev-lts-vivid - free implementation of the EGL API -- development files
                        libegl1-mesa-dev-lts-wily - free implementation of the EGL API -- development files
                        libegl1-mesa-dev-lts-xenial - free implementation of the EGL API -- development files
                        libegl1-mesa-drivers-lts-utopic - free implementation of the EGL API -- hardware drivers
                        libegl1-mesa-drivers-lts-utopic-dbg - free implementation of the EGL API -- driver debugging symbols
                        libegl1-mesa-lts-utopic - free implementation of the EGL API -- runtime
                        libegl1-mesa-lts-utopic-dbg - free implementation of the EGL API -- debugging symbols
                        libegl1-mesa-lts-vivid - free implementation of the EGL API -- runtime
                        libegl1-mesa-lts-vivid-dbg - free implementation of the EGL API -- debugging symbols
                        libegl1-mesa-lts-wily - free implementation of the EGL API -- runtime
                        libegl1-mesa-lts-wily-dbg - free implementation of the EGL API -- debugging symbols
                        libegl1-mesa-lts-xenial - free implementation of the EGL API -- runtime
                        

                        What with the TK1 running Ubuntu 14.04, none of the additional packages seemed relevant but I decided to download one of the xenial packages to see if there was anything EGLDeviceEXT related in the header files. As it turns out, the xenial package does indeed contain an eglext.h file containing such a definition.

                        So, I copied the headers to the /usr/include of the TK1 and then rsync'd them back up to the host. After re-running ./configure (again, with less verbose output, even though the -v is present from before) and pushing the Qt build down to the TK1, I still have the same ultimate outcome when trying to run the application:

                        Failed to load EGL device integration "eglfs_kms_egldevice"
                        EGL library doesn't support Emulator extensions
                        Aborted
                        

                        If I then run with -platform xcb arguments, all runs fine.

                        Looking at the following article, the "ideal setup" shows that EGL, OpenGL ES 2.0, 3.0 and 3.1 are set to "yes" as well as EGLFS and EGLFS EGLDevice. On my TK1, I have EGL, OpenGL 2.0, 3.0 but NOT 3.1, EGLFS is set to "yes" but EGLFS EGLDevice is set to "no".

                        http://blog.qt.io/blog/2016/11/10/qt-nvidia-jetson-tx1-device-creation-style/

                        If I then try to add a QOpenGLWidget while keeping the -platform xcb arguments, it doesn't work at all - resulting in the same QXcbIntegration: Cannot create platform OpenGL context, neither GLX or EGL are enabled.

                        In a word, aaaaaarrrrgggghhhh

                        I've attempted to cross-compile older versions of Qt (from 5.6 upwards - older versions have no mkspec for the TK1) but the problems are the same

                        webzoidW Offline
                        webzoidW Offline
                        webzoid
                        wrote on last edited by
                        #29

                        Ok, I've since taken a step back and had a cup of tea.

                        I had a search for additional packages which may have sounded useful and I came up with the following: libx11-xcb-dev and libxext-dev. Downloaded them both and copied the header files/directories to /usr/include. I then ran a make clean on the qtbase directory before re-attempting to reconfigure.

                        When I did eventually do a ./configure, I noticed that the EGL for X11 suddenly had a bit, fat YES next to it, along with a number of other XCB options which were previously NO.

                        Having run make and make install and then deployed the qt5 target folder to the TK1, I can now say that everything just works!

                        Thank you @jsulm for your help with this.

                        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