[Interest] Efficiently render QtQuick-scene and encode to H264 on i.MX6 VPU?

Ola Røer Thorsen ola at silentwings.no
Fri Mar 23 14:28:42 CET 2018

Small update, it turns out GL_viv_direct_texture can only be used to upload
textures to the GPU, not the other way around. I did try this out to be
sure, no success.

The recommendations I get from NXP is to use their "virtual framebuffer"
kernel module, that creates as many virtual framebuffers I'd like. These
are only buffers in memory that can be read on the cpu side.

So now my question is this: is it possible from a Qt application to render
to more than one frambuffer at the same time? How can this be done, in
combination with QQuickRenderControl (I need to control the framerate)?
I still need to render to /dev/fb0 for my regular GUI (regular LCD screen),
but now I also need to render a window to one of these virtual framebuffers
("/dev/fbX", X > 0).

If this is not possible then I'll try to run that application as a separate
process setting the environment variable QT_QPA_EGLFS_FB to my virtual
device. I'd like to avoid this if possible.


2018-03-23 9:12 GMT+01:00 Ola Røer Thorsen <ola at silentwings.no>:

> Hi Gunnnar,
> thanks a lot, this gives me a good starting point. I didn't know I could
> use GL_viv_direct_texture "in reverse" like this, I'll try it out. Already
> using it to stream decoded h264 video to a texture for rendering to the
> screen.
> I don't know which one will work best, but you want to avoid the
>> QOpenGLFrameBufferObject -> QImage conversion at all cost :)
> Yeah that's the one I was worried about :)
> Cheers,
> Ola
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20180323/1f69e772/attachment.html>

More information about the Interest mailing list