[Cogl] Cogl rendering to framebuffer on Raspberry Pi

Neil Roberts neil at linux.intel.com
Fri Dec 13 07:02:05 PST 2013


Hi,

As far as I remember the EGL null winsys is meant to work pretty much
only with the PowerVR driver. Normally when you want to use EGL you
would do some native window system calls to create some sort of window
and then pass a pointer to that window cast to a NativeWindowType to
eglCreateWindowSurface. That function returns an EGL surface which
represents rendering to that window. However the PowerVR driver also
lets you pass NULL as the native window which is meant to make it create
a surface for a fullscreen application on the one and only display. I
think this is intended to be used on embedded devices such as phones
which only have one display so having a full window system API doesn't
make much sense. The Cogl null winsys uses this feature of the PowerVR
driver.

I don't know much about the Raspberry Pi but it sounds like the null
winsys wouldn't help you much there. In the example you linked to it is
creating a native window using an EGL_DISPMANX_WINDOW_T struct on the
stack. I guess you would need to do something similar in Cogl.

I think this would make most sense as a new EGL winsys. It might be
easiest to take the Wayland winsys as a starting point and copy it to
something like cogl-winsys-egl-rpi.c. Then you would need to take out
the Wayland calls and replace them with the equivalent DISPMANX calls
like in that example.

It would be awesome to get Cogl working on the Raspberry Pi so I wish
you luck with this.

Regards,
- Neil
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 489 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/cogl/attachments/20131213/8728aa23/attachment.pgp>


More information about the Cogl mailing list