XCB: the X Protocol C Binding
Bart Massey and Jamey Sharp originally described XCB in a 2001 paper entitled: An X Protocol C Binding [PDF]. The XCB project history gives a look at some important project milestones and lists the tasks that have been completed to date.
The XCB project aims to improve on a number of Xlib weaknesses. Some of the XCB features include:
- A smaller memory footprint than Xlib.
- Support for latency hiding to address Xlib speed issues.
- Support for partial emulation of the Xlib API.
- Support for direct access to the X protocol.
- Support for the addition of new X extensions.
- Thread support designed from the beginning, not added-on like Xlib.
- Built on top of an XML description (xcb-proto) of the core X protocol.
- Development of the Xlib Compatibility Layer (XCL) for running legacy applications.
Other changes in this release include: a new API naming convention, new include directory conventions, an improved error handling plan, a more resilient connection error handling system, removal of deprecated functions, a split of the GIT repository, and bug fixes.
For more information on XCB, see the
XCB API definition,
the
XCB Tutorial, the
XCB Developer's Guide and
other publications on XCB.
Posted Sep 29, 2006 16:28 UTC (Fri)
by tjc (guest, #137)
[Link]
http://xcb.freedesktop.org/wiki/XlibXcb
Posted Sep 29, 2006 17:44 UTC (Fri)
by tjc (guest, #137)
[Link]
http://www.usenix.org/events/usenix04/tech/freenix/full_papers/sharp/sharp_html/index.html From the paper:
XCB: the X Protocol C Binding
Development of the Xlib Compatibility Layer (XCL) for running legacy applications.
It looks like XCL has been replaced by Xlib/XCB:
This paper ("other publications") titled "How Xlib is Implemented (And What We're Doing About It)" is well worth the read:XCB: the X Protocol C Binding
When built with reasonable compiler optimizations, XCB is 26kB compared with 750kB for Xlib.
I like it already. :-)