← Back to team overview

unity-dev team mailing list archive

OpenGL|ES and GSettings integration support landing in lp:compiz

 


Hi All,

Daniel and I have landed two very important and substantial pieces of
work today which will likely affact your workflow.

This will likely affect most of the developers who are working on unity
and anything else that depends on compiz. Its also likely that some
functionality that you used might have been affected.

The first change is to transition us over to use GSettings by default
in compiz. This was accompanied with a substantial unit test framework -
the impact should not be too large, however changing some settings in
gnome-control-center may not work as they once did. Please file bugs
if you hit such problems.

The second change is far more substantial - we have merged (and fixed)
Linaro's outstanding branch to make compiz use a subset of OpenGL
common to both OpenGL|ES and OpenGL 2.0+. This required significant
amounts of engineering in pretty much every aspect of compiz. This change
was critical to ensure that we can deliver the unity experience on
platforms that only support OpenGL|ES and means we only have to maintain
one branch of compiz going forward.

For unity developers: once the newest compiz is installed, builds
will automatically be transitioned over to use #if USE_MODERN_COMPIZ_GL .
If you are touching code within those ifdefs, the ones inside of those
are the ones which will be compiled. The autolander is also going
to switch over to using this set of ifdefs too once the newest
compiz package is published.

I would anticipate that we can remove these ifdefs in the near future
once everyone has transitioned over to using the newest compiz.

There are also another set of #ifdefs - #if USE_GLES , which is
OpenGL|ES specific code. Try not to break these - I don't anticipate
the autolander is going to be checking that this section of the code
compiles and I don't imagine many people are interested in using
OpenGL|ES builds of unity.

In addition to this, a number of plugins are not ported, and will likely
not be ported over to the new architecture. This does not include any
of the plugins which are in use by unity already. If any of the
unported plugins are enabled, they will be disabled. If you really
want your unported plugin, you will have to port it yourself :).

Finally, no piece of work is ever perfect, and there are a list of
outstanding issues for these branches which can be found here:

 - https://bugs.launchpad.net/unity/+bugs?field.tag=gles
 - https://bugs.launchpad.net/compiz/+bugs?field.tag=gles
 - https://bugs.launchpad.net/compiz/+bugs?field.tag=gsettings

If you have any queries please ping either duflu or I on IRC.

Huge thanks goes out to Linaro for making this possible.

Cheers,

Sam


Follow ups