[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: compiz packages



Hi all,

I've been doing some patch auditing for the additional patches I used for
building the xorg-server currently in experimental. I first checked which ones
have already been applied upstream in git, and which have not. If patches
haven't been applied upstream, I've tried taking a closer look as to a
reason, but keep in mind that I'm not an X hacker, so those reasons might be
wrong and someone more qualified might know more. I could also try to contact
Kristian Høgsberg if need be.

  20_dont-backfill-bg-none.diff:
    Not applied upstream, but probably just an optimization.

  21_mesa-copy-sub-buffer.diff:
    An equivalent implementation has been committed upstream.

  22_tfp-damage.diff:
    Applied upstream, as is.

  23_aiglx-happy-vt-switch.diff:
    Not applied upstream. It contains lots of whitespace changes, which might
    be a reason.

  24_aiglx-locking.diff:
    Applied upstream, as is.

  25_mesa-6.5.1.diff:
    Applied upstream, as is. It is needed in order to provide array objects,
    which are necessary for AIGLX (as in, will FTBFS without this patch).

  26_offscreen-pixmaps.diff:
    Not applied upstream. It seems to disables all offscreen pixmaps. Option
    "XAANoOffscreenPixmaps" works just as well, but there may be more involved.

  27_mesa-reseed-makefile.diff:
    Needed to complement 25_mesa-6.5.1.diff.

  28_no-move-damage.diff:
    Not applied upstream, probably just an optimization. Kristian comments
    about why this patch is useful.


Building the xorg-server package with only the mesa patches (25 and 27)
applied, compiz will still run but very slowly. Switching to the console and
back again makes X hang. I needed to kill and restart the gdm process to get
things working again. Note that patches 25 and 27 are actually replacing patch
16_mesa-symlink, which is already in the xorg-server package.

Building with only the 23_aiglx-happy-vt-switch patch makes switching to the
console and back work correctly.

Adding the 21_mesa-copy-sub-buffer patch makes compiz render a lot faster.

Finally, I added the 22_tfp-damage and 24_aiglx-locking patches as well,
because they have been applied upstream. There was no discernible improvement
in speed or stability though.

In summary, patches 25 and 27 are essential to make the xserver build. Patch
23 is also more or less necessary, because otherwise X is unusable after
switching to the console and back. Finally I think it'd be safe to also add
patches 21, 22 and 24 since they have already been applied to upstream git,
and especially 21 dramatically increases rendering speed.

The only problem remaining is that the version of Mesa currently in
experimental is not recent enough for compiz to work correctly. I have been
using a recent git checkout, which works very well, but I haven't had the time
to find the exact commit that makes it all work perfectly. Additionally, I
believe Shawn Starr has been able to make compiz/AIGLX work nicely with only a
recent Mesa.

I have put all the patches up here[1] for review. Is it realistic to expect
these patches to get into xorg-server and into etch in time? I appreciate any
comments and/or suggestions.

 - Thierry

[1]: http://beatle.dotsec.net/debian/patches/xserver/

Attachment: signature.asc
Description: Digital signature


Reply to: