1
votes

I don't expect anyone to have a solution to my specific problem, but I'm hoping an answer might lead me in the right direction.

I have a Qt5.2 application compiled and working on my TI AM335x evaluation module. It runs using the -platform elgfs flag.

I recently received new hardware, this hardware is still using the same version of the TI AM335x processor (3352) but it's on a totally different board with a different display. The kernel was modified from TI by some external third party, the root file system, and my Qt5.2 application are the exact same ones that were on the TI AM335x.

When I go to launch my application on this new hardware it reports:

Opened display 0x1

Could not initialize egl display

EGL error
Aborted

So my questions are:

  • what causes Qt to fail to initialize a egl display?

And my understanding is that "EGL" stands for "Embedded-system Graphics Library", I would think that means there's some EGL.lib somewhere that is required, but what is required at the kernel/driver level to make the display compatible with the EGL?

1

1 Answers

0
votes

Find if the plugin exists:

ls $ROOTFS/usr/lib/qt5/plugins/platforms/libqeglfs.so

Run ldd on it (from your toolchain, not system ldd):

build-arm-poky-linux-gnueabi/elf/ldd libqeglfs.so

    libz.so.1 => not found
    libudev.so.0 => not found
    libQt5Gui.so.5 => not found
    libQt5Core.so.5 => not found
    libGLESv2.so.2 => not found
    libEGL.so.1 => not found
    libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xf66e6000)
    libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0xf662f000)
    libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xf65bb000)
    libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xf6592000)
    libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xf64a3000)
    /lib/ld-linux-armhf.so.3 (0xf6fd7000)

Make sure all the libs exist (again on ROOTFS not host system).

If not, install the proper libraries on your ROOTFS.