Hi sorry for the delay in replying, I was on holiday.

Excerpts from Bart Catrysse's message of Fri Apr 29 16:34:41 +0100 2011:
> Hi,
> 
> Our requirement is to have multiple applications (from different engines) to
> be able to simultanously draw to same screen on different windows/surfaces.
> 
> e.g. simultanous drawing/event handling of native app on top of clutter and
> HTML app on webkit/clutter
> 
> All Graphics rendering should be HW accelerated through opengl es 1.1/2.0,
> no software rendering please.
> We are talking about embedded STB devices with powerfull opengl es 1.1/2.0
> accelerators, genre Intel CE4100, Broadcom 7425, ST 7108
> 
> I would like to know whether this is possible with clutter ?
It is possible if you are using the eglx backend, if your platform
supports that.

> I understand that the nice thing about clutter is that it ensures that all
> drawing operations are in opengl es and therefore hardware accelerated on
> those mentioned embedded devices when using EGL backend.
> 
> However, from the 2008 presentation from Diego Dompe "Introduction to
> creating 3D UI with BeagleBoard" I understand there are issues in doing
> multiple apps with clutter and EGL backend implementation. Notably
> 
> 1)X windows does not support rendering through "OpenGL ES" yet, only through
> "OpenGL" version. (so PC)
> 
> 2)In pure clutter scenario only one application will be able to runn / write
> to screen at the same time and there is doubt about support for generic
> Linux event input on EGL backed (so we lack windowing/event capability)
> 
> We are 2011, so perhaps this got solved in the mean time.
It's up to the individual Clutter backends to report if they support
multiple windows or not, because it depends on the EGL driver
implementation if that is supported. For example a lot of platforms ship
with an gles + EGL driver that can only handle drawing one app
fullscreen, and don't integrate with a window system such as X11 that
allows creating multiple overlapping windows.

There is only one EGL backend that we currently support that can handle
multiple windows and that is the eglx platform. Clutter has supported
that for quite a while, I would have thought even since 2008, so maybe
there was another problem which meant Diago Dompe wasn't able to use the
eglx platform.

For input we support a few different options; we have tslib support for
basic touchscreens, we have x11 input support (if using eglx) and we
have raw evdev support.

If your requirement is to run multiple applications at the same time
then you require a window system such as X11 or Wayland. Clutter can
work with X11 either via GLX or eglx (gles 1/2), but that requires all
of your platform drivers to support eglx which you would need to check.

Another possibility that is starting to become available (we have got
early support in Clutter) is Wayland. This would allow you to use a
driver that only allows one fullscreen app to run a fullscreen
compositor, and then additional applications would render offscreen.
This is only in very early development though and it will still depend
on driver support for the egl-wayland platform, which isn't common yet.

> 
> Can someone correct/confirm/deny this ?
I hope the above feedback gives some confidence that Clutter can support
multiple applications if you have a driver which supports X or Wayland,
but otherwise, I don't really see it as a Clutter limitation. Without X
or Wayland we don't have a window system so we would have to invent our
own semantics for what a window means and an IPC mechanism for
supporting multiple applications which isn't in the scope of what
Clutter does.

> 
> thanks,
> 
> Bart

kind regards,
- Robert
_______________________________________________
clutter-app-devel-list mailing list
[email protected]
http://lists.clutter-project.org/listinfo/clutter-app-devel-list

Reply via email to