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]
