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.
