No announcement yet.

What is xcb? Its adoption?

  • Filter
  • Time
  • Show
Clear All
new posts

  • What is xcb? Its adoption?


    i often read about xcb, the xlib's successor. but i simply can't understand its function. i don't get it. furthermore, are there already programs using it (seems like toolkits such as qt, gtk+ and cairo??)? what is its advantage? is it already in the xserver? or is it just planed that in a long distant future, xcb is going to make xlib obsolete?
    can someone explain me it? thanks...
    edit: this all sounds great but doesn't help. and what's about its current status? already part of xorg?
    Last edited by Regenwald; 11-27-2008, 03:18 PM.

  • #2
    I can't answer all of your questions, but here's a brief rundown of what I know about XCB:

    It's designed to provide a simpler, lower-level api without all of the automatic caching and other extras of xlib, which are intended to improve performance, but often end up increasing latency.

    A lot of frameworks (e.g. cairo) are making efforts to combine their xlib and xcb backends, basically making the xcb backend a super-set of the xlib backend, so that the xcb backend basically rests as a layer of code between the xlib backend and the xcb library (I think I understood that correctly).


    • #3
      It definitely is available with xorg, but I don't know if every distro builds with it. In Gentoo it's selected with a USE flag.

      BTW compiz-fusion runs like crap without it, so my guess is that most distribusions have it.


      • #4
        It can be used in multithreading apps, with xlib you have to have only one drawing thread. And the latest version of xcb depends on Python (yuck)


        • #5
          I great deal of people are using it because of compiz.


          • #6
            i read that there are several window managers which use xcb instead of xlib. therefore, they seem to be really fast. gtk+ 3.0 and qt should really use it :/


            • #7

              They do use it if X itself is compiled against xcb :/