On Tue, 2008-12-23 at 17:11 -0800, Bipin George Mathew wrote:
> Hi,
> 
> I am evaluating whether I can use Clutter to write an X Window Manager
> on a device which supports/accelerates OpenGL ES. Is my answer
> metacity-clutter - since Clutter abstracts OpenGL/OpenGL ES OR will
> metacity-clutter need to be changed to accomodate OpenGL ES? 
> Also, what backend option do I build Clutter with - eglx or eglnative?
> Is there any advantage choosing one over the other?
> 

One problem you will likely come across is the lack of any equivalent to
the GLX texture from pixmap extension. Without this you will need to
e.g. use XSHM to fetch the contents of your windows so that they can be
uploaded as textures and this may cause some performance issues.
Depending on the details of your system though, you may get away with
this.

Another problem you might have is the lack of driver support for
redirecting other GLES apps offscreen. Depending on the style you try to
achieve with your composite manager you may see artifacts due to the
fact that other GLES apps are being directly rendering to your
framebuffer. For example if your composite manager warps application
windows when they minimize, then it's quite likely that won't work for
GLES applications. If you only plan to use GLES for the composite
manager and not for other applications, or you are very careful about
how you handle other GLES based applications, then this might not be a
problem for you.

Regarding eglx vs eglnative, you may be able to get away with either.
If you need to support GLES applications as well as the composite
manager then you will need eglx. If you don't then either may be used to
create a fullscreen window, and if for example you can get your
eglnative driver drawing to your framebuffer over the top of Xfbdev, it
might just be a a question of comparing other factors, such as
stability/performance.

If you are to go ahead with creating a GLES based composite manager,
metacity-clutter may be a reasonable starting place. One thing you may
find though is that metacity hasn't been heavily optimised for low
memory devices, so depending on your constraints you might need to do
some profiling, but I can't see why that couldn't be done.

I hope that helps you a bit,
kind regards,
- Robert

-- 
Robert Bragg, Intel Open Source Technology Center

-- 
To unsubscribe send a mail to [email protected]

Reply via email to