← Back to team overview

unity-dev team mailing list archive

[Ayatana-dev] Compiz Status Report

 

Hey Everyone,

I'm away for this week on a conference (for an NGO I volunteer for, in
case you're interested), so I did some swap days over this weekend,
last weekend and the coming weekend to work on compiz, here is a quick
summary of stuff I've been working on:

1. Did the compiz release script - now compiz is semi-mirrored to
launchpad and we have launchpad projects for everything and you can
manage the bugs and milestones on them
2. Ported to gsettings, currently the merge is blocked on review
3. Fixed some WM bugs like the bluefish shifting on small screen resolutions bug
4. Merged in unity dialog support
5. Initial screensaver-in-compiz support

Here's some stuff that's currently in progress and "happening now"
things which need addressing:

* white window borders on sandy bridge: I got some debug code running
with someone who was having this problem to force rectangle textures
and force copy-to-texture mode (eg not tfp). It seems like forcing
rectangle textures doesn't help in this case, but basically the bug
only happens when on the initial binding of the decoration texture and
is fixed on rebinding. I spoke a lot to the sna driver developer Chris
Wilson about this, we're not clear if this is a compiz incorrectly
using texture-from-pixmap thing or if it is a driver bug. It seems
like their driver is caching textures incorrectly and Chris says he'll
fix this first since this is causing warnings in mesa and could be
related to this issue. Otherwise, I'm pretty firm in belief that this
is a driver issue, I got someone to try a patch which prints OpenGL
errors on binding failures and there's nothing there....

* decoration slowness: This is because of the new decoration code
required for the dialogs. Right now it needs to generate decorations
for every window type on startup and this is slow. Perhaps it can be
optimized. Jason is looking into it this week if he gets a chance to.
The code can be found in decorator.c:update_default_decorations in
BOTH decorators.

* vsync in compiz: this is a driver bug and is most likely returning
the wrong wait values for vsync on glXGetVideoSync () I don't know of
any other ways to do VSync, so we might just need to disable the
function pointers or "correct" the values fglrx is giving us in the
workarounds plugin. Jay, the code can be found in
core/plugins/opengl/src/screen.cpp (grep for "GL::getVideoSync")

* settings upgrades: a lot of changes are currently blocked on the
fact that we can't dynamically change settings so while I'm away I'm
going to try and get going a settings upgrade system so that distros
can "upgrade" local settings.

* window stacking branch from thomas: I have not yet had time to look
over this yet.

* OpenGL ES support: If we "sprint" in this area, I think we can get
it merged in, since all we need is a method to combine shaders in
compiz (easy). It would be a real shame if it didn't since it the next
release is one before feature freeze and it means that linaro and
collabora (which have 2 engineers tasked completely out of the blue to
optimize it) have to wait another 6 months to get it merged into
master.

* Slow window movement: I think this was a problem with the decor
plugin. I've optimized the shadow clipping code, it's in a branch
here: https://code.launchpad.net/~smspillaz/compiz-core/compiz-core.fix_slow_movement
You can try it and see if it helps

* Next compiz release: It's on the 26th I will give Alex and Jason
tarballs with my testing script and we will go into release-freeze on
the 25th.

* Distro patches: don't want them. Commit to the
"~compiz-team/project/oneiric" branch instead.

* Upstream code: merge propose to lp:project and I'll merge it when I
get back. Don't merge directly into there, since when I merge there I
must *immediately* push to git in order to avoid screwing up the
history over there (bzr dpush WILL overwrite the head and it MUST be
in sync in order to avoid orphaning revisions)

--
Sam Spilsbury