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 Opengl for BeagleBone Black
Forum Updated to NodeBB v4.3 + New Features

Qt Opengl for BeagleBone Black

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
3 Posts 2 Posters 465 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.
  • L Offline
    L Offline
    luca
    wrote on last edited by
    #1

    Hi all,
    I'm trying to crosscompile Qt for BBB using Qt 5.15.6 and latest Debian 10.13 on the BBB.
    I fount some instruction but all seem to be obsolete for latest Qt and Debian version. It seems SGX driver are not compatible anymore with newer systems.

    Did someone manage to build Qt with opengl support recently? What instructions did you follow?

    Thanks a lot.

    Luca

    1 Reply Last reply
    0
    • L Offline
      L Offline
      luca
      wrote on last edited by
      #2

      I found something working using Qt 5.12.5 while not working using Qt 5.15.x .
      I configured a BeagleBone as explained here:
      https://elinux.org/BeagleBoneBlack/SGX_%2B_Qt_EGLFS_%2B_Weston#Manual_installation

      After that I mounted configured SD card on my linux pc in /mnt/bbbhf and configured Qt with this command:

      ./configure -opensource -confirm-license -no-pch -release -device linux-beagleboard-g++ -make libs -skip qtwebengine -nomake tests -nomake examples -device-option CROSS_COMPILE=/opt/arm-toolchain/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -sysroot /mnt/bbbhf -prefix /opt/qt5156-bbbhf_gl -extprefix /mnt/bbbhf/opt/qt5156-bbbhf_gl -hostprefix /opt/qt5156-bbbhf_gl -v -qt-zlib -opengl es2 -no-dbus

      It fails for OPENGL using Qt 5.15 source but it's OK with Qt 5.12.

      Here you can find the configure error message while testing OPENGL:

      Checking for OpenGL ES 2.0... 
      Trying source 0 (type pkgConfig) of library opengl_es2 ...
      pkg-config use disabled globally.
        => source produced no result.
      Trying source 1 (type makeSpec) of library opengl_es2 ...
      header entry 'config.qtbase_gui.libraries.opengl_es2.headers.0' passed condition.
      header entry 'config.qtbase_gui.libraries.opengl_es2.headers.0' passed condition.
      + cd /mnt/temporanea/BBB/qt-everywhere-src-5.15.0/config.tests/opengl_es2 && /mnt/temporanea/BBB/qt-everywhere-src-5.15.0/qtbase/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared warn_off console single_arch" "QMAKE_CFLAGS += --sysroot=/mnt/bbbhf" "QMAKE_CXXFLAGS += --sysroot=/mnt/bbbhf" "QMAKE_LFLAGS += --sysroot=/mnt/bbbhf" -early "CONFIG += cross_compile" 'QMAKE_USE += opengl_es2' 'QMAKE_LIBS_OPENGL_ES2 = -L/mnt/bbbhf/usr/lib/arm-linux-gnueabihf/ -lGLESv2 -lEGL -lIMGegl -lsrv_um' 'QMAKE_INCDIR_OPENGL_ES2 = /mnt/bbbhf/usr/include/' /mnt/temporanea/BBB/qt-everywhere-src-5.15.0/config.tests/opengl_es2
      + cd /mnt/temporanea/BBB/qt-everywhere-src-5.15.0/config.tests/opengl_es2 && MAKEFLAGS= /usr/bin/make
      > /opt/arm-toolchain/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb -mfloat-abi=hard --sysroot=/mnt/bbbhf --sysroot=/mnt/bbbhf -O2 -O3 -w -fPIC  -I. -isystem /opt/arm-toolchain/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/include/c++/6.3.1 -isystem /mnt/bbbhf/usr/include -I/mnt/temporanea/BBB/qt-everywhere-src-5.15.0/qtbase/mkspecs/devices/linux-beagleboard-g++ -o main.o main.cpp
      > /opt/arm-toolchain/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -mfloat-abi=hard --sysroot=/mnt/bbbhf --sysroot=/mnt/bbbhf -Wl,-O1 -o opengl_es2 main.o   -L/mnt/bbbhf/usr/lib/arm-linux-gnueabihf/ -lGLESv2 -lEGL -lIMGegl -lsrv_um  -lrt -lpthread -ldl -ldrm 
      > /opt/arm-toolchain/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/6.3.1/../../../../arm-linux-gnueabihf/bin/ld: warning: libudev.so.1, needed by /mnt/bbbhf/usr/lib/libGLESv2.so, not found (try using -rpath or -rpath-link)
      > /opt/arm-toolchain/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/6.3.1/../../../../arm-linux-gnueabihf/bin/ld: warning: libwayland-server.so.0, needed by /mnt/bbbhf/usr/lib/libGLESv2.so, not found (try using -rpath or -rpath-link)
      > /opt/arm-toolchain/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/6.3.1/../../../../arm-linux-gnueabihf/bin/ld: warning: libdrm_omap.so.1, needed by /mnt/bbbhf/usr/lib/libGLESv2.so, not found (try using -rpath or -rpath-link)
      > /opt/arm-toolchain/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/6.3.1/../../../../arm-linux-gnueabihf/bin/ld: warning: libffi.so.6, needed by /mnt/bbbhf/usr/lib/libGLESv2.so, not found (try using -rpath or -rpath-link)
      > /mnt/bbbhf/usr/lib/libIMGegl.so: undefined reference to `wl_resource_post_no_memory'
      > /mnt/bbbhf/usr/lib/libIMGegl.so: undefined reference to `wl_buffer_interface'
      > /mnt/bbbhf/usr/local/lib/libgbm.so.2: undefined reference to `udev_unref@LIBUDEV_183'
      > /mnt/bbbhf/usr/lib/libIMGegl.so: undefined reference to `wl_resource_instance_of'
      > /mnt/bbbhf/usr/local/lib/libgbm.so.2: undefined reference to `udev_new@LIBUDEV_183'
      > /mnt/bbbhf/usr/local/lib/libgbm.so.2: undefined reference to `udev_device_get_devnode@LIBUDEV_183'
      > /mnt/bbbhf/usr/lib/libIMGegl.so: undefined reference to `wl_resource_post_error'
      > /mnt/bbbhf/usr/lib/libIMGegl.so: undefined reference to `wl_global_destroy'
      > /mnt/bbbhf/usr/lib/libIMGegl.so: undefined reference to `wl_client_post_no_memory'
      > /mnt/bbbhf/usr/lib/libIMGegl.so: undefined reference to `wl_resource_get_user_data'
      > /mnt/bbbhf/usr/lib/libIMGegl.so: undefined reference to `wl_resource_create'
      > /mnt/bbbhf/usr/lib/libIMGegl.so: undefined reference to `wl_resource_set_implementation'
      > /mnt/bbbhf/usr/lib/libIMGegl.so: undefined reference to `wl_resource_post_event'
      > /mnt/bbbhf/usr/local/lib/libgbm.so.2: undefined reference to `udev_device_unref@LIBUDEV_183'
      > /mnt/bbbhf/usr/lib/libIMGegl.so: undefined reference to `wl_resource_destroy'
      > /mnt/bbbhf/usr/lib/libIMGegl.so: undefined reference to `wl_global_create'
      > /mnt/bbbhf/usr/local/lib/libgbm.so.2: undefined reference to `udev_device_new_from_devnum@LIBUDEV_183'
      

      While here the checking message on Qt 5.12 that PASS:

      Trying source 0 (type pkgConfig) of library opengl_es2 ...
      pkg-config use disabled globally.
        => source produced no result.
      Trying source 1 (type makeSpec) of library opengl_es2 ...
      header entry 'config.qtbase_gui.libraries.opengl_es2.headers.0' passed condition.
      header entry 'config.qtbase_gui.libraries.opengl_es2.headers.0' passed condition.
      + cd /mnt/temporanea/BBB/qt-everywhere-src-5.12.5/config.tests/opengl_es2 && /mnt/temporanea/BBB/qt-everywhere-src-5.12.5/qtbase/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared use_gold_linker warn_off console single_arch" "QMAKE_CFLAGS += --sysroot=/mnt/bbbhf" "QMAKE_CXXFLAGS += --sysroot=/mnt/bbbhf" "QMAKE_LFLAGS += --sysroot=/mnt/bbbhf" -early "CONFIG += cross_compile" 'QMAKE_USE += opengl_es2' 'QMAKE_LIBS_OPENGL_ES2 = /mnt/bbbhf/usr/lib/libGLESv2.so /mnt/bbbhf/usr/lib/libEGL.so /mnt/bbbhf/usr/lib/libIMGegl.so /mnt/bbbhf/usr/lib/libsrv_um.so' 'QMAKE_INCDIR_OPENGL_ES2 = /mnt/bbbhf/usr/include/' /mnt/temporanea/BBB/qt-everywhere-src-5.12.5/config.tests/opengl_es2
      + cd /mnt/temporanea/BBB/qt-everywhere-src-5.12.5/config.tests/opengl_es2 && MAKEFLAGS= /usr/bin/make
      > /opt/arm-toolchain/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb -mfloat-abi=hard --sysroot=/mnt/bbbhf --sysroot=/mnt/bbbhf -O2 -O3 -w -fPIC  -I. -isystem /opt/arm-toolchain/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/include/c++/6.3.1 -isystem /mnt/bbbhf/usr/include -I/mnt/temporanea/BBB/qt-everywhere-src-5.12.5/qtbase/mkspecs/devices/linux-beagleboard-g++ -o main.o main.cpp
      > /opt/arm-toolchain/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -mfloat-abi=hard --sysroot=/mnt/bbbhf --sysroot=/mnt/bbbhf -Wl,-O1 -fuse-ld=gold -o opengl_es2 main.o   /mnt/bbbhf/usr/lib/libGLESv2.so /mnt/bbbhf/usr/lib/libEGL.so /mnt/bbbhf/usr/lib/libIMGegl.so /mnt/bbbhf/usr/lib/libsrv_um.so  -lrt -lpthread -ldl -ldrm 
       => source accepted.
      

      As you can see it checks for OPENGL in a different way with different parameters.

      Is it a bug or an incompatibility between BeagleBone and Qt 5.15 opengl support?

      1 Reply Last reply
      0
      • P Offline
        P Offline
        paanjii2
        wrote on last edited by paanjii2
        #3

        I have been using Linaro Tool chain and sysroot for cross compiling and building my Qt applications for Beaglebone Black Rev C with debian image.
        myfiosgateway

        mobdro

        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