[Xcb] state of xcb-glx

Jeremy Kolb jkolb at brandeis.edu
Tue Apr 8 05:24:23 PDT 2008


Continuing as a top post for readability...

If you are interested in seeing how the current xcb-glx works then run
gears through indirect rendering.  Note that not all GLX requests were
xcb-ified.

As for packing GL render requests into the correct GLX infrastructure...
I don't believe that's specified in the proto doc (check out the docs on
opengl.org) but it may be specified somewhere else (might even be
implementation specific, check out mesa).  Regardless, you are going to
need to poke mesa-devel.

I'm a little confused as to what you are proposing.  Is it a
xcb_glx_util library of some sort that will replace glX or will you be
mapping glX calls to xcb_glx calls?

Jeremy

On Tue, 2008-04-08 at 13:05 +0200, Ralovich, Kristóf wrote:
> Bart,
> 
> I have put together my proposal and submitted it last night, see
> below. I would like to ask for any comments about it.
> 
> Thanks,
> Kristóf
> 
> ---
> 
> Applicant:
> 
> Ralovich, Kristóf
> 
> Contact:
> 
> kristof.ralovich at gmail.com
> 
> 
> 
> Project Title:
> 
> Enhancing xcb-glx for wider usability
> 
> Synopsis:
> 
> 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
> API.
> 
> 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.
> 
> Deliverables:
> 
> 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
> progs/xdemos.
> 
> 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.
> 
> Timeline:
> 
> - 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
> >
> _______________________________________________
> Xcb mailing list
> Xcb at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xcb



More information about the Xcb mailing list