Embedded Linux / Framebuffer / No screens available



  • Dear all,

    I am a newbie on Qt, but we decided to move on that framework.

    Our custom platform is based on Buildroot 2016.x and Qt 5.5.1. The CPU is an ARM (without HW acceleration).
    We use a small color TFT 320x240 16 bits colors.

    We were able to compile Qt and even to run console-only Qt applications.

    However, any app (for instance examples/gui/rasterwindow) fails with the same error:

    Failed to open framebuffer /dev/fb0 (Permission denied)
    linuxfb: Failed to initialize screen
    Cannot create window: no screens available
    

    The app is running under root user and /dev/fb0 exists and works fine (I can push a raw image directly to fb0). Its permissions are a+rwx and belongs to root:root.

    Could you help me?

    Thanks in advance



  • Hi @TopKool ,

    Can you tell me how you launch the examples on your platform ?



  • I made a tiny Qt app called test2 with a simple button, and I tried to run using different parameters:

    ./test2
    ./test2 -platform linuxfb
    ./test2 -platform linuxfb:fb=/dev/fb0
    

    The error is always the same:

    Failed to open framebuffer /dev/fb0 (Permission denied)
    linuxfb: Failed to initialize screen
    no screens available, assuming 24-bit color
    Cannot create window: no screens available
    Aborted
    

    However, the fbv tool (http://freecode.com/projects/fbv) is able to display a PNG image.



  • I figured out the issue. It was due to our kernel configuration. I still do not know exactly what it is the root cause, but once some custom security features disabled in the kernel, Qt works.

    Thanks for your support.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.