[Xcb] progress report

Jamey Sharp jamey at cs.pdx.edu
Thu Aug 12 23:48:03 PDT 2004

Hey, all! I've done a bunch of stuff in the last several months, but
have done a terrible job of telling people what I'm doing. Here's an
attempt to fix that.

In recent news, Bart and I have started documenting the API that XCB
*should* have. [1] The full API is specified, but many things have no
description yet. Quite a bit of the documentation applies to the code
currently in CVS, but little of the important stuff does. I'll be
changing the code to match what's documented in the near future. There's
still some room for feedback, but after some help from Keith and one or
two others, we believe that this is the API we want. I hope other people
will agree.

I've also been working on making my patches to Xlib pass the, erm,
venerable X Test Suite. [2] 16 of the testsets still report some FAILs;
a bunch of things die and spin, which should all be instances of a
single bug; and all of the XPROTO tests should be modified to use
LockDisplay and UnlockDisplay like everything else, at which point I
expect they'll pass. If the whole test suite passes, that's partial
evidence of XCB's correctness too, although Xlib and the X test suite
don't exercise all of XCB.

On a related note, I've started playing with unit testing for XCB. I'm
trying a tool called "check", which is basically a port of JUnit to pure
C. It also integrates happily with autoconf and automake, which is good,
I guess. Anyway, I found a couple of bugs using the first test cases I
wrote, which I suppose makes the experiment a success.

For the last month or so, if I wasn't working on API design and
documentation, I was probably squashing bugs instead. I'm trying to get
XCB into a 1.0-releasable state soon, with my Xlib/XCB patches to follow
soon after, I hope. My current goal is to have this work ready for
integration into the X.org tree by the release after this one.

XCB is about three years old now [3] and outside contributions are
beginning to come in, which is where the rest of my XCB development time
has gone. Mikko's extension contributions are a matter of public record,
as is David's rendertest application with an XCB backend. I hope we'll
be hearing soon from one of Bart's other students about some significant
work he's been doing for the last eight weeks. I've also been having
interesting conversations about window managers with someone who found
the http://usingxcb.freedesktop.org/ page I wrote while at USENIX, and I
hope that'll lead to cool stuff built on top of XCB.

So that's what's going on. Thanks for reading. :-)

[1] http://freedesktop.org/Software/XcbApi
The XCBDevelopmentPlan says that the API will be frozen almost a month
ago. Turns out that API design is a lot harder than I thought. *sigh*

[2] Today Keith helped me track down another problem: the test suite
doesn't #define XTHREADS. Grr.

[3] The oldest RCS checkins I can find are from September 3rd, 2001.
Interestingly, I made checkins on Sept. 10th, 2001, and then again on
Oct. 7th, but I don't see any in between. Hmm. I remember that flying to
and from the Annual Linux Showcase and XFree86 Technical Conference that
November, to present this code, was a bit of an adventure.
Jamey Sharp <jamey at minilop.net> - http://minilop.net/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://freedesktop.org/pipermail/xcb/attachments/20040812/241c0220/attachment.pgp

More information about the xcb mailing list