Install Qt5 with EGL for an Embedded System, not GLX.
-
Hi,
I am building Qt5 with an OpenEmbedded (https://github.com/meta-qt5/meta-qt5) build environment for a TI am335x armv7 board using a gcc linaro v4.9 toolchain.I am able to build, compile, and install every Qt5 package I need... from qtbase and qtdeclarative to qtwebkit. However, here recently, when I try to run any QtQML app, I receive the following error message on my target hardware:
- gbm_create_device: invalid fd: -1
libEGL warning: GLX: failed to load GLX
Could not initialize egl display
I do not need GLX because I do not need a initialize OpenGL to an X Window System. I want to use EGL to initialize OpenGL, OpenGL ES1, and OpenGL ES2 to a Window System.
How do I verify that my Qt packages are configuring, compiling, and installing with EGL and not GLX?Here is my configuration statement. As you can see, I have set to configure with items like opengl, eglfs, no-x, etc...
- -opensource -confirm-license
-sysroot ${STAGING_DIR_TARGET}
-no-gcc-sysroot
-prefix ${OE_QMAKE_PATH_PREFIX}
-bindir ${OE_QMAKE_PATH_BINS}
-libdir ${OE_QMAKE_PATH_LIBS}
-datadir ${OE_QMAKE_PATH_DATA}
-sysconfdir ${OE_QMAKE_PATH_SETTINGS}
-docdir ${OE_QMAKE_PATH_DOCS}
-headerdir ${OE_QMAKE_PATH_HEADERS}
-archdatadir ${OE_QMAKE_PATH_ARCHDATA}
-libexecdir ${OE_QMAKE_PATH_LIBEXECS}
-plugindir ${OE_QMAKE_PATH_PLUGINS}
-importdir ${OE_QMAKE_PATH_IMPORTS}
-qmldir ${OE_QMAKE_PATH_QML}
-translationdir ${OE_QMAKE_PATH_TRANSLATIONS}
-testsdir ${OE_QMAKE_PATH_TESTS}
-examplesdir ${OE_QMAKE_PATH_EXAMPLES}
-hostbindir ${OE_QMAKE_PATH_HOST_BINS}
-hostdatadir ${OE_QMAKE_PATH_HOST_DATA}
-external-hostbindir ${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}
-platform ${OE_QMAKESPEC}
-xplatform linux-oe-g++
-qpa eglfs
-no-xcursor
-no-xinerama
-no-xinput
-no-xinput2
-no-xfixes
-no-xrandr
-no-xrender
-no-xshape
-no-xsync
-no-xvideo
-eglfs
-no-kms
-opengl es2
-shared \
-silent
-no-pch
-no-rpath
-pkg-config
-no-xcb
-no-sql-db2
-no-mtdev \
-no-gtkstyle
-nomake tests
-system-libjpeg
-openssl-linked \
-nomake examples
-no-xfixes
-no-sql-mysql
-make tools
-qt-pcre
-no-iconv
-no-xkb
-no-xkbcommon
-fontconfig
-no-kms
-sql-sqlite
-system-libpng
-tslib
-icu
-no-directfb
-no-glib
-freetype
-no-sql-oci
-no-xinerama
-evdev
-no-sql-sqlite2
-accessibility
-widgets
-no-xrandr
-no-linuxfb
-libudev
-no-xcursor
-no-sql-psql
-make libs
-no-nis
-no-openvg
-no-xvideo
-no-xsync
-no-sql-tds
-no-xshape
-no-dbus
-system-zlib
-no-pulseaudio
-no-xrender
-no-mitshm
-no-sm
-no-xinput
-no-sql-ibase
-no-xinput2
-no-alsa
-no-sql-odbc
-release
Is there another Qt package for Qt command where I need to set to make sure the window systems & OpenGL for Qt are using EGL and -no-glx?
Because I am using a TI hardware, I am using omap3 pkg to provide the egl, gles1, gles2 libs; the mesa pkg for gl libraries; and the PowerVR SGX series for gpu drivers.
Maybe a more general question will at least point me in the right direction... What is the different between libEGL and EGL? I understood that EGL and GLX are the initialisms for window systems, but the error message says libEGL is trying to use GLX which makes me think there is a different between libEGL and EGL.
Any help, suggestions, or general comments will be appreciated.
Thanks. - gbm_create_device: invalid fd: -1