This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Qt5 app fails creating the EGL surface - Firefly RK3288 (Mali T764)

Hi all,

I have a Firefly board with Ubuntu 14.04, Kernel 3.10, and the Mali binaries from the package "malit76xr5p006rel0linux1fbdevtar.gz". I've built the Mali SDK OpenGL demos, and they run ok over the Ubuntu X11 desktop, obviously, they override some screen area while they are running.
 
Then I've built the Qt 5.8 framework without problems, its summary shows the QPA EGLFS Mali backend available, but when later I build any Qt based app, they don't work and show the following error:
 
EGL Error: Could not create the egl surface: error = 0x3009
 
Is possible my libgbm.so is not compatible with the fbdev version of libmali.so I am using?
But in such case, why do the Mali SDK demos work correctly?
 
Thanks in advance!
Ariel.
 
Parents
  • Hi ,

    Sorry for this late answer.

    Concerning the FPS, there's actually a lot of reasons that might trigger low FPS. I'd concentrate on RK3288 specific reasons, as the rest should be already documented here : https://community.arm.com/graphics/b/blog/posts/new-developer-guide-arm-mali-application-developer-best-practices

    One of the main reason this might happen is that the DMABUF system is not used nor activated, which might lead to very low FPS. I actually went from barely 40 FPS to +60 FPS on Mali T760 for this reason alone.

    You can also try the following :

    • Go to /sys/class/misc/mali0/device/devfreq/*.mali/
    • Try to get the available frequencies by running:
    cat available_frequencies

    This should return something like :

    100000000 200000000 300000000 400000000 500000000 600000000
    • Then take the lowest frequency and highest frequency (100000000 and 600000000 here) and set them in min_freq and max_freq like this :
    echo 100000000 > min_freq
    echo 600000000 > max_freq
    • Then, set up the polling interval to something like 20 ms
    echo 20 > polling_interval
    This should slightly improve the GPU performances.
    Now, check also that no 3D compositor is active and eating GPU cycles and be sure to power the board correctly, as this lead to lower FPS too. Ensure to use the latest user space drivers too, if you can.
Reply
  • Hi ,

    Sorry for this late answer.

    Concerning the FPS, there's actually a lot of reasons that might trigger low FPS. I'd concentrate on RK3288 specific reasons, as the rest should be already documented here : https://community.arm.com/graphics/b/blog/posts/new-developer-guide-arm-mali-application-developer-best-practices

    One of the main reason this might happen is that the DMABUF system is not used nor activated, which might lead to very low FPS. I actually went from barely 40 FPS to +60 FPS on Mali T760 for this reason alone.

    You can also try the following :

    • Go to /sys/class/misc/mali0/device/devfreq/*.mali/
    • Try to get the available frequencies by running:
    cat available_frequencies

    This should return something like :

    100000000 200000000 300000000 400000000 500000000 600000000
    • Then take the lowest frequency and highest frequency (100000000 and 600000000 here) and set them in min_freq and max_freq like this :
    echo 100000000 > min_freq
    echo 600000000 > max_freq
    • Then, set up the polling interval to something like 20 ms
    echo 20 > polling_interval
    This should slightly improve the GPU performances.
    Now, check also that no 3D compositor is active and eating GPU cycles and be sure to power the board correctly, as this lead to lower FPS too. Ensure to use the latest user space drivers too, if you can.
Children