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
