Page 1 of 1

Cairo

Posted: Mon Sep 17, 2012 11:07 pm
by Chinasaur
Hey, I see that Cairo is supposed to have a working OpenVG backend. I think there's Cairo stuff in the Raspbian repository too, but I don't know if it's compiled with OpenVG backend; probably it isn't compiled with OpenVG and requires X?

Re: Cairo

Posted: Mon Sep 17, 2012 11:11 pm
by Chinasaur
Ah, sadly the OpenVG backend was announced in 2008 but doesn't appear to have been completed. Some parts of it appear to have made it into Cairo trunk, but I'll have to poke around more to see what the status is.

Re: Cairo

Posted: Mon Sep 17, 2012 11:18 pm
by Chinasaur
Okay, here it is. Says it has many issues but can be tested on supporting platforms. But the boilerplate includes seem to assume ShivaVG, which is built on OpenGL, or AmanithVG, which is a commercial software implementation.

http://cgit.freedesktop.org/cairo/tree/ ... plate-vg.c
http://cgit.freedesktop.org/cairo/tree/src/cairo-vg.h
http://cgit.freedesktop.org/cairo/tree/ ... -surface.c

Not clear what it would take to link it into RPi's OpenVG but seems worth a look.

Re: Cairo

Posted: Mon Oct 01, 2012 4:57 am
by Chinasaur
I see there is a version of conky with backend in cairo (i.e. conky-cairo). conky-cairo-openvg could be a nice chain to get working. Haven't had time to work on things but next few weeks maybe.

Re: Cairo

Posted: Mon Oct 15, 2012 9:47 pm
by Chinasaur
Still working on this. It builds okay with a few minor patches and once you work around the weird linking failure of EGL to GLESv2. I haven't worked up a basic example that successfully draws to the screen yet though; probably just need to run through the standard examples for EGL/VG/GLES stuff.

Re: Cairo

Posted: Wed Oct 17, 2012 8:37 pm
by Chinasaur
Hmm, so the Cairo-VG-EGL bindings make PBUFFER sufaces; not sure if that will work with RasPi VC display to screen? All the examples I've seen use WINDOW surface that has to be initialized through DISPMANX. I'll probably try to make a new cairo binding to this standard RasPi WINDOW surface since it's been proven.

cairo-boilerplate-vg has some generic VG-EGL setup stuff but probably easier to start from the hello_pi example code.