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. Qt5 on Beaglebone Black with OpenGL

Qt5 on Beaglebone Black with OpenGL

Scheduled Pinned Locked Moved Mobile and Embedded
2 Posts 2 Posters 5.2k 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.
  • W Offline
    W Offline
    WickedOne612
    wrote on last edited by
    #1

    Hey all,

    I've been googling around and searching for about 2 days now with no luck.

    I'm trying to cross-compile Qt5 (5.3.1 or 5.2.0) for the Beaglebone Black and get Quick 2.0 and Qt Quick Controls working (so I need OpenGL). So far I haven't been able to find any good sources to walk me through this process.

    I'm using a "Chipsee":http://www.chipsee.com/product/evm/beagle/beaglebone-black-expansion-capacitive.html?___store=english&___from_store=default cape to have an LCD and capacitive touch screen with it. Chipsee gives me several prebuilt images, including a Debian, Angstrom, Android, and LinuxEZSDK images. It looks like the linuxEZSDK and Angstrom images come with all the OpenGL libraries pre-loaded. The LinuxEZSDK comes pre-configured with everything for Qt, but it's Qt4.8. You can find their repo of images "here":http://www.chipsee.com/upload/BBB/.

    Right now I've been working with the LinuxEZSDK image to try and build Qt5 from source and get it on there. I downloaded the "linaro toolchain":https://launchpad.net/linaro-toolchain-binaries/trunk/2013.04/+download/gcc-linaro-arm-linux-gnueabihf-4.8-2013.04-20130417_linux.tar.xz to use for the cross compile. I edited the 5.3.1 source following "this tutorial":http://armsdr.blogspot.com/2014/01/bare-metal-qt-52-on-beaglebone-black_10.html to setup the build for the cross-compile. If I follow that tutorial to a T, it works fine. But if I try and configure using OpenGL by running the following configure script:

    @../qt-everywhere-opensource-src-5.3.1/configure -v -opensource -confirm-license -no-pch -no-opengl -opengl es2 -make libs -device linux-beaglebone-g++ -xplatform linux-arm-gnueabihf-g++ -device-option CROSS_COMPILE=/usr/local/linaro/bin/arm-linux-gnueabihf- -sysroot /media/jay/rootfs -no-gcc-sysroot -prefix /opt/qt5@

    I mounted the SD card that countains the LinuxEZSDK in order to find the OpenGL drivers and set the sysroot to /media/jay/rootfs, which is the root of the OS. Configuring that gives me the following error:

    @OpenGL ES 2.x auto-detection... ()
    /usr/local/linaro/bin/arm-linux-gnueabihf-g++ -c -pipe -O2 -Wall -W -fPIE -I/home/jay/qt-everywhere-opensource-src-5.3.1/qtbase/mkspecs/linux-arm-gnueabihf-g++ -I/home/jay/qt-everywhere-opensource-src-5.3.1/qtbase/config.tests/unix/opengles2 -I. -o opengles2.o /home/jay/qt-everywhere-opensource-src-5.3.1/qtbase/config.tests/unix/opengles2/opengles2.cpp
    /home/jay/qt-everywhere-opensource-src-5.3.1/qtbase/config.tests/unix/opengles2/opengles2.cpp:45:25: fatal error: GLES2/gl2.h: No such file or directory
    #include <GLES2/gl2.h>
    ^
    compilation terminated.
    make: *** [opengles2.o] Error 1
    OpenGL ES 2.x disabled.
    The OpenGL ES 2.0 functionality test failed!
    You might need to modify the include and library search paths by editing
    QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in
    /home/jay/qt-everywhere-opensource-src-5.3.1/qtbase/mkspecs/linux-arm-gnueabihf-g++.@

    I even tried modifying the qmake.conf at /qtbase/mkspecs/linux-arm-gnueabihf-g++ to include the following:

    @QMAKE_INCDIR_OPENGL += /media/jay/rootfs/usr/include
    QMAKE_LIBDIR_OPENGL += /media/jay/rootfs/usr/lib
    QMAKE_LIBS_OPENGL_ES2 =@

    But that resulted in the same error.

    Does anyone have any ideas how I can get this cross compiled for the Beaglebone with support for Qt Quick 2 and Qt Quick Controls?

    Thanks!

    1 Reply Last reply
    0
    • W Offline
      W Offline
      wickwire
      wrote on last edited by
      #2

      Hi,

      Have you confirmed that your beaglebone image includes the GLES2/gl2.h file?

      If so, check your QMAKE_INCDIR_OPENGL path, perhaps your missing the final directory?

      Similar to this (for another embedded)

      @QMAKE_INCDIR_EGL = $${QMAKE_PATH}/usr/include/EGL
      QMAKE_LIBDIR_EGL = $${QMAKE_PATH}/usr/lib
      QMAKE_INCDIR_OPENGL_ES2 = $${QMAKE_PATH}/usr/include/GLES2
      QMAKE_LIBDIR_OPENGL_ES2 = $${QMAKE_PATH}/cubie-rootfs/usr/lib@

      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