Important: Please read the Qt Code of Conduct -

[solved] How to launch an application with EGLFS ?

  • I am developing a demo without X11 window under Ubuntu.
    My application is developed under QMainWindow which derived from QWidget. I plan to run it under EGLFS to prepare it for the embedded system in the future.
    Firstly, I used ./app -platform eglfs in my desktop Ubuntu. I had the access to /dev/fb0. Unfortunately, I got an output in the console like:
    QEGLPlatformContext::init: eglError: 3004, this: 0x9919730

    My OS is Ubuntu 12.04, and my Qt is 5.3.2. I installed EGL on my computer.

    1. Did I miss some other installations for eglfs? The application works well with -platform xcb. Xcb is only a plugin and works for X Window. I guess eglfs working for Framebuffer and it does not need other installation, does it?

    2. Should I do some further updating on my demo source code in Qt? For example, I need to use other window class instead of QWidget or QMainWindow? I guess at the advanced window level, Qt will keep the windows management abstraction, just to stay away from the window vender. Am I correct?

    3. The other points I can think about are the envir variables. I did configure with -no-xcb -eglfs -opengl es2. And then ran "make" and "make install". Is there some other step to configure the environment for Qt to support eglfs?

    This is the first step for my embedded application. If I can run it with eglfs in desktop, I think I can launch it in the embedded platform after cross-compiling. Anyway, QWS is already dropped in Qt5, I can only think about the light window framework like eglfs.

    Any help, I appreciate in advance!

  • So cold here.
    Any way, I found the result already.

    1. I installed eglfs in my embedded. Now it works well. For some reason, it does not work in my desktop os.
    2. Not necessary. Just cross-compile it and give the argument for application.
    3. No, just be sure to install eglfs.

  • Lifetime Qt Champion

    Hi and welcome to devnet,

    On desktop, since you already have X11 running, starting an application using the eglfs plugin won't work. You would need to have a similar setup as your embedded system i.e. no graphic server running.

  • To SGaist:
    Thanks a lot.
    You are right. Since the X11 is running, I reboot into console mode. Although I did not launch it successfully with eglfs (I guess it is from I failed to configure with -eglfs and -no-xcb), but I DID run it up with linuxfb option!
    Thanks again!

  • Lifetime Qt Champion

    You're welcome !

    If everything is fine now, please update the thread title prepending [solved] so other forum users may know a solution has been found :)

  • @TGuo


    how do i install eglfs on my device?

  • @TGuo How do you run with linuxfb..steps please,

    I am getting error,

    could not find the qt platform plugin "eglfs" in ""

    And how to check the setup of embedded..

Log in to reply