[Xcb] state of xcb-glx

Ralovich, Kristóf kristof.ralovich at gmail.com
Tue Apr 8 04:05:48 PDT 2008


I have put together my proposal and submitted it last night, see
below. I would like to ask for any comments about it.




Ralovich, Kristóf


kristof.ralovich at gmail.com

Project Title:

Enhancing xcb-glx for wider usability


XCB is advertised to bring small footprint, latency hiding, improved
threading support. OpenGL is a high performance graphics API. Xcb-glx
has the potential to efficiently connect these two worlds. To the best
of my knowledge xcb-glx has not yet achieved general availability and
is only operating with indirect Mesa rendering, so the main issue
seems to be that xcb-glx lacks support of OpenGL calls.

This proposed project is aiming to investigate and implement support
of direct rendering using Mesa and — if possible as an opensource work
— any other proprietary OpenGL implementation layered over the xcb-glx

Benefits to Community:

The successful integration of xcb-glx underneath Mesa (or any other
arbitrary OpenGL implementation) has several key benefits:
- potentially lower latency and faster OpenGL operation through XCB
- one lesser software stack using the legacy Xlib API - a great pace
in transition.


The goal is to produce hardware accelerated direct rendering OpenGL
implementation using xcb-glx (and Xlib being eliminated completely)
that would correctly run all the applications from Mesa's

The actual development would be incremental: introducing support for
OpenGL calls one-by-one and throughout testing with real world test
cases (eg.: Mesa demos).

Proceeding of the project will be continously auditable, a blog
(http://kristofralovich.blogspot.com) will be dedicated with weekly
updates of the situation, furthermore the code will be available
through a public repository at all times.

A technical report paper will be written as a summary of the
achievements and project results.


- till May 26: Developing a *deeper understanding* of the problem with
the help of the authors of the exsisting xcb-glx integration. Shaping
an *own development environment* and evaluating the exsisting
codebase, aiming to separate living bugs/issues that are not related
to the project, submitting bug reports (about the X server, etc).
- till July 7: Put down the *architectural foundations* to add support
of OpenGL calls over xcb-glx to Mesa, first direct rendering test
program (only using eg.: glClearColor() and glClear) to run as a
*proof of concept*.
- till Aug 18: *Implement* the largest possible subset of OpenGL calls
over xcb-glx. At this point applications from progs/xdemos shall run.
If feasible, patch MesaGLUT to link against xcb-glx.
- till Sept 1: Overall *cleanup* of the delivered code, aiming
production quality to be committed back to xcb-glx and Mesa. Compiling
a *paper* from the entries of the development blog.

Related work:

Previous work was not easy to trace, public mailing list archives and
the actual Mesa and xcb-glx sources held scattered information:
- http://lists.freedesktop.org/archives/xcb/
- http://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-dev
- http://gitweb.freedesktop.org/?p=xcb/libxcb.git
- http://gitweb.freedesktop.org/?p=xcb/proto.git;a=summary
- http://gitweb.freedesktop.org/?p=mesa/mesa.git;a=summary .
Main author of the exsisting codebase is Jeremy A. Kolb.

Biographical Information:

I am Kristóf Ralovich, attending to an MSc program in computer science
at Budapest University of Technology and Economics. I have a passion
to OpenGL and general programming, so far only having experience from
the user side of the API. I have a 5 years background in C++. For
further details about me please see my CV at
http://gordius.iit.bme.hu/~tade/kristof_ralovich_cv_2008_04_08.pdf .

This project would give me an insight of the low-level details of GLX
and Mesa. My motivation comes from seeking for advancement in
technology I use every day and the possibility to produce value useful
to other people too.

During the summer I am confident I will be able to commit 32 hours a
week for this project, besides I will have a contract to my university
faculty involving 40 hours of work a month!


On Mon, Apr 7, 2008 at 6:28 PM, Barton C Massey <bart at cs.pdx.edu> wrote:
> In message <5712ce4f0804070731o468511b7j175345f8427d959e at mail.gmail.com> you wrote:
>  > I would like gain some knowledge about the official state of the
>  > xcb-glx library.
>  As far as I know, no one has used it for a "real"
>  application.
>  > I have done some experimentation too based on the previous
>  > examples using different machines and never managed to get any correct
>  > GL rendering, some of the time even the X server crashed.
>  Please file bug reports against the server for these.  They
>  represent potential security problems.
>  > So my question is, if direct rendering using xcb-glx is possible,
>  > would there be a chance to enhance it as a Google Summer of Code
>  > project? Here is a list of my thoughts about the subject:
>  > - debug and fix xcb-glx, to fix server crashes
>  > - implement the glX API over xcb-glx (AFAIK, this is done too in mesa
>  > for the indirect case)
>  > - extend the protocol description for xcb-glx to support as many GL
>  > extensions as possible.
>  > If this is not enough for a GSoC, I am open to work on related issues!
>  Definitely a reasonable XCB GLX project could be put
>  together.  You don't want to try to get away from Mesa, I
>  think; that would be really hard.  This sounds like plenty
>  of work to me.
>  > The GSoC application deadline is tonight, so the time
>  > frame is very short.
>  A huge understatement.  See what you can get together.
>         Bart

More information about the Xcb mailing list