[Xcb] XCB and OpenGL, help and/or project ideas wanted

Riku Salminen maililistaalterego at gmail.com
Thu Jun 18 06:34:49 PDT 2009


On Wed, 2009-06-17 at 09:53 -0400, Peter Harris wrote:
> On Wed, Jun 17, 2009 at 7:53 AM, Riku Salminen wrote:
> > So, now that I'm stuck, I'd like to hear about ideas on how to go on. If
> > there's nothing on XCB/OpenGL, another XCB-related project will do.
>
> Adding a pure-xcb interface to Mesa could be an interesting way to
> proceed with your project. It would allow OpenGL applications to drop
> Xlib entirely (at the cost of losing proprietary driver support, at
> least until the proprietary driver makers add the new API to their
> libGL).

This could be a topic of intrest. If the new API turned out to be any
good, it could serve as a starting point for a new "standard" OpenGL
context API which is built on top of XCB rather than Xlib. This is a
little idealistic scenario, though.

> There are only a few Mesa functions that take an Xlib Display; I
> suspect the harder part would be changing the internals to optionally
> pass around an xcb_connection_t instead.

I should look into Mesa sources and see how it uses XCB and Xlib
internally, hopefully it's well isolated. If the job looks feasible, I
might start working on that.

> To verify that your new interface is viable and functional, you might
> consider reworking GLUT (also part of Mesa) to use your new xcb
> interface instead of the Xlib one. That looks to be a rather large
> project, however.

In addition to writing GLUT in terms of the new API, it could be useful
to write other compatibility/testing utilities. For example, writing the
Mesa GLX functions in terms of the new functions. A stand alone
test/demo app and a replacement for glxinfo should also be helpful.

Implementing the new API with current glX functions would be a great way
to get things working with proprietary OpenGL implementations, but it's
probably not possible. If there were a way to create a fake Xlib Display
from an XCB connection that can be passed to the glX functions, an
adapter layer could be feasible.

> > X Input methods/internationalized text input could be an intresting
> > project to work on, what's the status of that on XCB?
>
> XCB currently lacks helper functions for this. Work in this area would
> be appreciated too. (See the xcb/util repository for the current
> status. It looks like we have some keysym helpers, but I'm sure you
> know that's far from everything needed in this area.)

I'll take a look at this too. Any pointers on where to start with X
Input Methods, I have some experience in doing internationalized
keyboard input with Xlib.

Are X Input Methods mostly running on the client side (which would have
to be reimplemented) or is there client-server communication going on
that could be translated to XCB?

Thanks for the ideas,
-Riku


More information about the Xcb mailing list