Chinasaur
Posts: 116
Joined: Tue Sep 11, 2012 10:15 pm

Cairo

Mon Sep 17, 2012 11:07 pm

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?

Chinasaur
Posts: 116
Joined: Tue Sep 11, 2012 10:15 pm

Re: Cairo

Mon Sep 17, 2012 11:11 pm

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.

Chinasaur
Posts: 116
Joined: Tue Sep 11, 2012 10:15 pm

Re: Cairo

Mon Sep 17, 2012 11:18 pm

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.

Chinasaur
Posts: 116
Joined: Tue Sep 11, 2012 10:15 pm

Re: Cairo

Mon Oct 01, 2012 4:57 am

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.

Chinasaur
Posts: 116
Joined: Tue Sep 11, 2012 10:15 pm

Re: Cairo

Mon Oct 15, 2012 9:47 pm

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.

Chinasaur
Posts: 116
Joined: Tue Sep 11, 2012 10:15 pm

Re: Cairo

Wed Oct 17, 2012 8:37 pm

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.

Return to “OpenVG”